NEWS
Codesys modbus iobroker
-
Hi,
Ich wollte es erstmal hier probieren vielleicht kennt sich ja der ein oder andere auch mit codesys aus.
Ich arbeite ja (ich gebe es nicht auf) an einer Haussteuerung auf modbus rtu.
Ich habe jetzt codesys auf dem Pi installiert und benutze diesen als rtu master. Habe auch schon einen arduino Slave angefragt und auch die Werte per modbus TCP zu iobroker geschickt.
Leider funktioniert das alles aber nicht ganz so wie ich mir das vorstelle. Ich bin auch viel zu frisch bei codesys um das jetzt Mal eben zusammen zu würfeln.
Alle Werte (Reed Kontakte,Temperatur, Luftfeuchtigkeit)die vom rtu Slave kommen gehen direkt über variabeln zu TCP Input-Register
Und dann in iobroker zur weiter Verarbeitung.
Nur wie mache ich Taster Eingänge und schaltausgänge. Einmal möchte ich das gerne in der SPS direkt Verknüpfen falls iobroker Mal ausfällt geht das Licht wenigstens noch.
Das habe ich auch schon geschaft. Eigentlich kein Problem.
Jetzt will ich aber gerne den Ausgangs Aktor über modbus rtu schalten was auch kein Problem ist.
Und den Ausgangsstatus in iobroker haben und auch ändern können.
Das heißt wenn ich in iobroker licht1 auf 1 setze muss das zur SPS über TCP und dann per rtu zum Aktor. Drücke ich jetzt den passenden Taster zu licht1 muss die SPS den Kanal wieder auf 0 setzten.
Leider kann ich bei codesys immer nur Register schreiben oder lesen und da fängt jetzt mein Problem an. Als ich mal einen Slave per rtu direkt an iobroker hatte konnte ich einfach den Wert aus dem Datenpunkt lesen oder auch ändern.
Jetzt müsste ich ja quasi 2 Register haben einen nur zum Status auslesen und einen zum Ändern.
Wie könnte ich das in iobroker auf einen Datenpunkt bekommen.
Ich hatte mir das mit der SPS leichter vorgestellt,
Aber was man sagen muss ist das die gesamte Kommunikation ob modbus TCP Rtu oder auch codesys mit dem Pi hat fast Problemlos funktioniert und macht auch nen sehr stabilen Eindruck.
Danke schon Mal für jeden Tipp.
Gruß Enrico
Gesendet von meinem Pixel mit Tapatalk
-
Mir kam da eben eine Idee und bevor ich die vergesse habe ich die Mal Schnell aufgemalt.
Ich bräuchte nur Mal Hilfe wie ich das am besten Script technisch in iobroker schreibe.
Dachte das ich vielleicht ne Funktion dafür deklariere weil ich das ganze ja für mehrere Kanäle brauche. Aber seht euch Mal meine Skizzen an vielleicht hat ja jemand schnell ne Lösung zur Hand.
![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201712 ... e5164b.jpg">https://uploads.tapatalk-cdn.com/20171213/7f5b942efb1adf499f4c03a4bee5164b.jpg</link_text>" />![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201712 ... 4bb4ae.jpg">https://uploads.tapatalk-cdn.com/20171213/073eda8aa83cb6af1592a8cac94bb4ae.jpg</link_text>" />Gesendet von meinem Pixel mit Tapatalk~~~~