Funzioni ed FB supporto prodotti Hw Group (eHwGSpLib)¶
La ditta della repubblica Ceca Hw Group http://www.hw-group.com produce dispositivi per Networking e prodotti per telecontrollo, monitoraggio e gestione dati.
Tutti i prodotti Hw Group dispongono di connettività su rete ethernet con protocolli TCP/IP, UDP, SNMP, ed per facilitare la connessione di questi prodotti con l’ambiente di sviluppo LogicLab, sono fornite funzioni e blocchi funzioni specifici.
STESnmpAcq, STE termometer acquisition over SNMP¶
Type | Library |
FB | eHwGSpLib_B000 |
Questo blocco funzione gestisce l’acquisizione del valore di temperatura delle due sonde connesse al termometro IP STE. La connessione tra il termometro e lo SlimLine avviene su rete ethernet utilizzando il protocollo SNMP.
Occorre passare alla FB un flusso dati stream indicato dal parametro File, precedentemente aperto dalla funzione Sysfopen come socket UDP e posto in ascolto con il blocco funzione SysSktListen.
Su fronte attivazione del comando Acquire, viene effettuata la lettura SNMP dal termometro STE definito da indirizzo IP PeerIP, su porta PeerPort (Di default la porta SNMP è la 161). Se il comando Acquire è mantenuto attivo, la lettura viene effettuata in modo ciclico.
L’uscita Done si attiva per un loop al termine della acquisizione dei due valori di temperatura.
Enable (BOOL) | Abilitazione blocco funzione. |
Acquire (BOOL) | Comando acquisizione termometro STE. Sul fronte di attivazione si esegue la lettura del valore di temperatura. Mantenuto attivo la lettura viene effettuata in modo ciclico. |
File (FILEP) | Flusso dati stream ritornato dalla funzione Sysfopen. |
PeerIP (STRING[15]) | Stringa di definizione indirizzo IP del termometro IP. |
PeerPort (UINT]) | Porta utilizzata per la connessione (Di default la porta SNMP è la 161). |
Done (BOOL) | Attivo per un loop di programma su fine lettura dati. |
Fault (BOOL) | Attivo per un loop di programma se errore gestione. |
Sensor1 (REAL) | Valore di temperatura letto dal sensore 1 (°C). |
Sensor2 (REAL) | Valore di temperatura letto dal sensore 2 (°C). |
Codici di errore
In caso di errore si attiva l’uscita Fault, con SysGetLastError è possibile rilevare il codice di errore.
10013010 | Valore di File non definito. |
10013050 | Timeout esecuzione. |
10013060 | Errore case gestione lettura. |
10013100 | Errore controllo indirizzo IP del dispositivo STE. |
10013120 | Errore ricezione dati da dispositivo STE. |
10013200~1 | Errore lettura sensore 1. |
10013300~1 | Errore lettura sensore 2. |
Esempi¶
Nell’esempio è gestita l’acquisizione dei due valori di temperatura da un termometro STE ogni secondo. Il valore di temperatura in gradi centigradi è ritornato sulle variabili Temperature[0] e Temperature[1]. L’uscita logica Do00M00 si attiva alla prima esecuzione della acquisizione, mentre l’uscita logica Do01M00 si attiva in caso di errore di acquisizione.
Definizione variabili
Esempio LD (PTP126A000, LD_STESnmpAcq)
sHWgSProtocol, HW group serial protocol¶
Type | Library |
FB | eHwGSpLib_B000 |
Questo blocco funzione gestisce la lettura di dispositivi HW group con il protocollo seriale RS485. Occorre passare alla FB il puntatore al file di porta seriale stream indicato dal parametro File, precedentemente aperto dalla funzione Sysfopen.
Attivando l’ingresso Enable viene effettuata la lettura del valore dal dispositivo connesso alla porta seriale definita, terminata l’esecuzione si attiva l’uscita Done. Se il comando ha avuto esito positivo si attiva l’uscita Ok, in caso contrario si attiva l’uscita Fault.
Per seguire nuovamente il comando occorre riabilitare l’ingresso Enable, Il blocco funzione è stato realizzato per permetterne la connessione in cascata. In pratica è possibile connettere al Done di un FB l”Enable di un’altro e così di seguito.
Enable (BOOL) | Abilitazione blocco funzione. |
File (FILEP) | Flusso dati stream ritornato dalla funzione Sysfopen. |
Address (STRING[1]) | Stringa di definizione indirizzo dispositivo. |
Done (BOOL) | Si attiva al termine della esecuzione comando. |
Ok (BOOL) | Si attiva se acquisizione valore riuscita. |
Fault (BOOL) | Si attiva su errore gestione. |
Errors (UDINT) | Numero di errori, incrementato ad ogni nuovo errore, raggiunto valore massimo riparte da 0. |
TxFrame (STRING[8]) | Contiene il frame inviato al dispositivo, può essere utilizzato in debug. |
RxFrame (STRING[16]) | Contiene il frame ricevuto dal dispositivo, può essere utilizzato in debug. |
Value (REAL) | Valore acquisito dal dispositivo. |
Codici di errore
In caso di errore si attiva l’uscita Fault, il valore di Errors si incrementa e con SysGetLastError è possibile rilevare il codice di errore.
10032010 | Valore di File non definito. |
10032050 | Timeout esecuzione. |
10032060 | Errore case gestione. |
10032100 | FB usata in task fast o slow. |
10013200~1 | Errore nella gestione del protocollo di comunicazione. |
10032300 | Errore lettura valore. |
Esempi¶
Nell’esempio è gestita l’acquisizione del valore di temperatura e di umidità da un HTemp.
Definizione variabili
Esempio LD (PTP126A000, LD_HTBoxRead)