gabriele123 Inserito: 31 gennaio 2013 Segnala Inserito: 31 gennaio 2013 Buongiorno Sono riuscito ha leggere : Anno,Mese, Giorno...........da un PLC Siemens CPU 315-2 PN / DP, attraverso il seguente ragionamento: 1) Ho dichiarato in una db (DB1) una variabile di tipo DATE_AND_TIME. 2) Ho richiamato il blocco SFC1 Il codice che ho utilizzato è il seguente: CALL "READ_CLK" RET_VAL:=MW134 CDT :="PROVA DATE_AND_TIME".DateAndTime LAR1 MD 2 L B [AR1,P#0.0] T AB 0 //Anno L B [AR1,P#1.0] T AB 1 // Mese L B [AR1,P#2.0] T AB 2 //Giorno L B [AR1,P#3.0] T AB 3 //Ora L B [AR1,P#4.0] T AB 4 //Minuti L B [AR1,P#5.0] T AB 5 //Secondi CLR IL MIO PROBLEMA E' CHE NON RIESCO A SCRIVERE/IMPOSTARE Anno, Mese,........ Il codice usato è il seguente: LAR1 MD 2 L B#16#13 //Anno T B [AR1,P#0.0] L B#16#1 //Mese T B [AR1,P#1.0] L B#16#31 //Giorno T B [AR1,P#2.0] L B#16#10 //Ora T B [AR1,P#3.0] L B#16#44 //Minuti T B [AR1,P#4.0] L B#16#0 //Secondi T B [AR1,P#5.0] CALL "SET_CLK" PDT :="PROVA DATE_AND_TIME".DateAndTime RET_VAL:=MW136 Sapreste indicarmi dove si trova l'errore? Grazie Ciao
batta Inserita: 1 febbraio 2013 Segnala Inserita: 1 febbraio 2013 Prima di tutto, non capisco perché utilizzi i puntatori che non serve a nulla, se non a complicarsi la vita. Poi, ci sono errori vari: 1) con l'istruzione "LAR1 MD2" carichi nel registro indirizzi 1 il contenuto di MD2. Ma cosa contiene MD2? 2) anche ammesso che MD2 contenga l'indirizzo di inizio della variabile "DateAndTime", dove fai l'apertura del DB "PROVA DATE_AND_TIME" 3) che senso ha trasferire i dati letti alle uscite? 4) l'istruzione "SET_CLK" va a scrivere (mi pare) su memoria non volatile. SET_CLK non deve quindi essere richiamata ad ogni ciclo, ma una sola volta quando si deve impostare data/ora Hai guardato cosa contiene MW136? Lì dovresti trovare un codice di errore che ti può indirizzare sulla giusta strada
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora