Modbus ein einfaches Pythonscript
Auf dem Raspberry Pi läuft bei mir die freie SPS Software Openplc . Ich kann die Ausgänge die nicht von der SPS benutzt werden vom Linuxrechner über mein Heimnetzwerk mit Modbus-TCP steuern. Ich kann den Wert aller Ein und Ausgänge auslesen (True/False)
Ein einfaches Python-Beispiel für den Raspberry Pi als Client kommt von Pymodbus.
Pin 8 (Hardware) = %QX0.0 (openPLC) = coil(0) (Modbus)
from pymodbus.client.sync import ModbusTcpClient
client = ModbusTcpClient('192.168.2.101')
client.write_coil(2, False)
result = client.read_coils(0,5)
reg = client.read_discrete_inputs(0,5)
print "gruene LED"
print result.bits[0]
print "rote LED"
print result.bits[1]
print "gelbe LED"
print result.bits[2]
print "Einschalter"
print reg.bits [2]
print "Ausschalter"
print reg.bits [3]
client.close()
Openplc auf dem Pi kann auch als Master agieren und per Modbus andere Geräte verwalten. z.B einen Arduino .