wolfalone Inserito: 3 novembre 2015 Segnala Share Inserito: 3 novembre 2015 Buongiorno a tutti,sono nuovo di questo forum e sono nuovo anche per quanto riguarda l'uso dei PLC.La mia necessità è quella di leggere alcuni dati da un PL S7-300 utilizzando la libreria libnodave da Delphi. In particolare devo verificare che un certo bit sia attivo (indicazione che i dati sono presenti per la lettura) per procedere con la lettura di alcuni dati che devono essere archiviati dentro un database Microsoft SQL server. Dopo aver letto i dati devo disattivare il bit precedentemente descritto.Fino ad ora sono riuscito a leggere i dati e visualizzarli e anche a disattivare il bit, ma la questione che voglio porre è la seguente:Io leggo un gruppo di byte (una sessantina circa), ma in realtà quelli che a me interessa archiviare sono meno, ma non sono consecutivi nell'ambito dei byte letti. A tale scopo ho inserito una serie di istruzioni tipo quelle seguenti: for i := 1 to 14 do daveGetU8(dc); for i := 1 to 6 do daveGetU16(dc);allo scopo di saltare i dati che non mi interessano. Inoltre il bit che segnala la presenza di dati si trova in fondo al gruppo di byte che leggo. Le mie domandi, quindi sono due:Esiste un metodo più "intelligente" per leggere i dati, saltando quelli che non mi interessano?Conviene leggere prima il bit di controllo e poi leggere i dati o, come faccio adesso, leggere tutti i dati e dopo verificare che il bit sia attivo?Dico questo perché cercando qua e là ho visto che la lettura da PLC implica un certo tempo ed è meglio limitare le letture per questioni di performance.Spero di essere stato chiaro poiché, come già detto, sono un neofita dei PLC.Grazie a tutti Eros Link al commento Condividi su altri siti More sharing options...
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