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

image0

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

image1

Esempio LD (PTP126A000, LD_STESnmpAcq)

image2

sHWgSProtocol, HW group serial protocol

Type Library
FB eHwGSpLib_B000

image3

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

image4

Esempio LD (PTP126A000, LD_HTBoxRead)

image5