stefano83 Inserito: 5 maggio 2006 Segnala Inserito: 5 maggio 2006 Salve a tutti!!Ho la necessita di passare l'ora del plc ad una applicazione vb con prodave..Premetto che su PLC s7-300 l'ora del sistema è in una doppiaword: es. MD100Domanda:. E possibile, mediante prodave, passare dal plc a vb l' MD100? Quindi mediante il comandi res= d_field_read(blockno, no, amount, value_byte(0))Fin'ora il comando d_field_read l'ho provato solo con i byte e funziona.Grazie a tutti..Spero sia stato chiaro..
Savino Inserita: 5 maggio 2006 Segnala Inserita: 5 maggio 2006 ciao,non vedo il problemaQuindi mediante il comandi res= d_field_read(blockno, no, amount, value_byte(0))Per esempio, carica l'ora dal sistema su i primi 3 byte del DB10blockno = 10 // DB10 no = 0 // offset from byte 0 amount = 3 // 3 bytes value_byte(0) // byte ora value_byte(1) // byte minuti value_byte(2) // byte secondiSaluti
stefano83 Inserita: 11 maggio 2006 Autore Segnala Inserita: 11 maggio 2006 Il formato dell'ora del plc è espresso in Millisecondi dalla mezzanotte.Quindi non è detto che nel byte0 ci sia l'ora, nel byte 1 ci siano i min e nel byte2 i secondi..E visto che a me servono principalmente i millisecondi, non penso che questi vadano in un byte..Perchè il byte arriva al massimo a 256..e i millisecondi a 999..comunque.. ho risolto facendo queste operazioni...prendo i valori dei byte, es. dal "db10" e ho il valore dei millisecondi dalla mezzanotte suddiviso in byte..( che non è byte0=ora, byte1= min ecc..)controllo se il valore dei byte e' negativo, se lo è, aggiungo 256..e ricompongo la mia dword nel vb ..quindi: byte0 + byte1*2^8 + byte2*2^16 + byte3*2^24 = msec dalla mezzanotte..e poi da qui una serie di operazioni per trovare l'ora, i min, i sec e i millisec...ciao a tutti..
Savino Inserita: 11 maggio 2006 Segnala Inserita: 11 maggio 2006 (modificato) Ho la necessita di passare l'ora del plc ...Il formato dell'ora del plc è espresso in Millisecondi dalla mezzanotte.No.C'e' anche la possibilita di ricavarla direttamente a byte senza fare nessun calcolo.Se dopo ti serve trasferire la word oppure Dword per i milisecondi, allora ne prendi 2 byte oppure 4.Ripetto, non vedo il problema.Modifica:Leggi questa discussione.C'e' ne sono diverse vie per ricavare l'ora in formato byte.Poi, se ti servono i msec. sono su 2 byte. Modificato: 11 maggio 2006 da Savino
stefano83 Inserita: 11 maggio 2006 Autore Segnala Inserita: 11 maggio 2006 Ho capito.. !!!io prendevo la variabile in formato "TOD" TimeOfDay..Invece devo prendere la variabile in formato "DT" Date_And_Time..Ti ringrazio Savino..A presto..
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