Als ik nu enkele milliseconden een knop ingedurkt hou, heb ik 64 berichten verstuurd, geen overhead.
Ik wil mijn outputs schrijven via modbus en mijn input triggers via mqtt
Ik heb toch heel wat moeite gehad om modbus goed te snappen, meteen de configuratie doen in openhab is een brug te ver. Ik kan
deze documentatie (voor wago) erg aanraden en ook
deze tool (qmodmaster)
Voor de mensen waarvoor dit totaal nieuw is, hier komt het op neer (wanneer je modbus wil gaan gebruiken). Je rasberrypi (of waar je je software op draait) is je modbus master en je gaat je modbus slave (plc) gaan pollen. Je plc heeft een aantal inputs en outputs. Je hebt verschillende functie codes die je via het modbus protcol kan gaan sturen. In het geval van simpele DI en DO is dit F1 (read) en F5 (write). Mits dit Digitale modules zijn, heb je enkel binaire statusen (0 & 1).
Een belangrijke opmerking is dat het nodig is om effectief permissions te geven aan je outputs dat deze via modbus mogen geschreven worden.
Dan moet je nog opzoeken vanaf waar je addressen beginnen te tellen, bij de wago plc is dit vanaf 0 voor de DI's, de DO's beginnen vanaf 512.
Het lukt me nu dus om via mqtt een bericht te sturen wanneer een DI hoog is en een DO aan te schakelen via qmodmaster.
Next up: dit allemaal via een switch in openhab krijgen
edit: outputs schrijven vanuit openhab lukt nu ook. Erg simpel eens je modbus snapt. Uitlezen lukt nog niet, maar ik vang dit op met mqtt
[
Voor 83% gewijzigd door
jellevictoor op 05-06-2017 22:36
]