Omron fins udp
Da MontelLUG WIKI.
Protocollo FINS + Python3
Gran parte dei plc prodotti da Omron supportano il protocollo FINS.
Ho visto in rete una implementazione in Python di Joseph Ryan ma l'utilizzo mi sembrava un pò ostico: da quei sorgenti ho sviluppato una nuova versione a mio giudizio molto più fruibile e intuitiva. La licenza, come il sorgente di Joseph Ryan, è la General Public License.
Installazione
Il file è disponibile all'indirizzo http://www.stefanofraccaro.org/python/omron/fins_udp.py
E' sufficiente copiare il file nella stessa cartella dei vostri script python.
Uso
import fins_udp plc = fins_udp.FinsConnection() plc.connect('192.168.250.1') # example of monitor bits/words plc.monitor(1.0, 30, (fins_udp.MEM_D_WORD, 50, 2, fins_udp.INT), (fins_udp.MEM_D_WORD, 60, 3, fins_udp.DINT), (fins_udp.MEM_D_WORD, 70, 3, fins_udp.FLOAT), (fins_udp.MEM_H_BIT, 0, 0, 32), (fins_udp.MEM_W_BIT, 0, 0, 32) ) # example of read/write bits plc.write_bits(fins_udp.MEM_H_BIT, 0, 0, [0,0,1,1,0]) mem_area = plc.read_bits(fins_udp.MEM_H_BIT, 0, 0, 5) print(str(mem_area)) # example of read/write words plc.write_words(fins_udp.MEM_D_WORD, 0, [1,15,-18,16,985236], fins_udp.DINT) mem_area = plc.read_words(fins_udp.MEM_D_WORD, 0, 5, fins_udp.DINT) print(str(mem_area)) plc.close()