Alberto
Risposte nei forum create
-
AutorePost
-
Marzo 22, 2016 alle 4:17 pm in risposta a: Come utilizzare la SDCard per il salvataggio di file di log #39475
Alberto
PartecipanteInserita la SDCard nel PLC l’ho formattata direttamente sul PLC con le procedure illustrate e l’ho utilizzata per scrivere dei file dati, tutto ok.
Adesso però vorrei copiare i file su un PC ma inserita nell’appostito lettore risulta vuota, in pratica il PC non vede i file memorizzati. Cosa ho tralasciato? I file sicuramente sono presenti nella SDCard.
Alberto
PartecipanteDa un pò di tempo stò cercando una soluzione ma non riesco a trovare l’errore, il problema è la stampa su file di una stringa utilizzando la funzione SysVarsnprintf. Questo il pezzo del programma problematico (ricavato dagli esempi trovati sul forum) prima del ciclo FOR vengono inseriti il NrOfLog, la data e l’ora ottenuti da SysDateTime per un totale di 23 caratteri.
TabMedieT è una Array 32,4, devo ricavare diversi valori e trasferirli sul file, la stampa funziona bene per un ciclo FOR fino a 3 (95 caratteri, cioè 23+72) a 99 caratteri il fine stringa e ritorno a capo sono ignorati e la stringa prosegue con gli stessi valori inseriti precedentemente. LogRecord è un array string 255.
FOR Idx:= 0 TO 3 DO
i:=SysVarsnprintf(ADR(LogRecord)+LEN(LogRecord), 9, ‘%07.3f;’, REAL_TYPE, ADR(TabMedieT[Idx,0]));
i:=SysVarsnprintf(ADR(LogRecord)+LEN(LogRecord), 9, ‘%07.3f;’, REAL_TYPE, ADR(TabMedieT[Idx,2]));
END_FOR;LogRecord:=CONCAT(LogRecord,’$r$n’);
i:= Sysfseek(Fp, TO_DINT(NrOfLog * LEN(LogRecord)),ID_SEEK_SET);
i:=Sysfwrite(ADR(LogRecord), To_INT(LEN(LogRecord)), 1, Fp);
i:=Sysfclose(Fp);Alberto
PartecipanteGrazie per la puntualità delle risposte.
Indicando come Address 1 e poi i canali 0-1-2-ecc… lo schema adesso funziona.
Nel manuale però è indicato che il primo modulo ha Address 0, io indicavo appunto 0 e non funzionava.Alberto
PartecipanteSlimLine CPU ARM7 Compact, tramite un contatore vario il canale (Channel) di acquisizione del FB SysGetAnInp. In simulazione quando l’indirizzo è impostato su 255 (indirizzo CPU) in uscita (Value) rilevo i valori impostatti con i 2 cursori dei canali AnalogInput 0 e 1, quindi mi sembra corretto.
In simulazione quando l’indirizzo è impostato su 0 (modulo 0) in uscita (Value) non rilevo nessun valore. Dove sbaglio ? Si utilizza altro metodo per variare il canale di acquisizione ?
Alberto
PartecipanteEsatto, si tratta di connessione RNDIS. Quando ho inserito IP ho ricevuto in effetti l’avviso che l’indirizzo era già utilizzato, quindi ho cambiato indirizzo e provato con diversi IP inserendo al posto di 122 un numero diverso, naturalmente facendo la stessa cosa per driver RNDIS in modo che le classi di rete coincidano.
Alberto
PartecipanteHo avviato la comunicazione on-line da CPU SlimLine ARM7 su un PC e tutto è andato OK. Ho collegato lo stesso PLC ad un altro PC (S.O. Windows7) e la comunicazione on-line non si avvia, LogicLab avvisa:”Impossibile avviare la comunicazione Scegiere On-line / avvia la comunicazione per configurarla”.
La configurazione sembra OK, verificato l’indirizzo IP e tutti passaggi come da manuale (come nel primo caso). Windows dice che i drivers sono aggiornati. Non capisco dove sia il problema.
Alberto
PartecipanteScusate sono stò facendo delle prove per imparare l’uso di LogicLab4 in linguaggio ST, utilizzando il FB (RS, Reset/Set flip flop) la finestra uscita indica sempre un errore:
MAIN(15) – errore S1310: SR => Invocazione di un blocco funzionale non istanziato
0 warnings, 1 errori.Cosa significa ? Dov’è l’errore ?
-
AutorePost