Grundsätzlich geht das schon. Die Beckhoff kann einen Spezialschalter, indem sie deutlich schneller antwortet. Sogenannte „Echtzeit“ Modbus Adressen.
Zusätzlich ist es möglich und meines erachtens nach sehr sehr sinnvoll die idr. häufig Bits, als Doppelwort mit 64 bit am Stück zu lesen. Ich habe hierzu ein passendes Modul entwickelt, welches per SimpleModbusPHP den Wrapper auf einzelne Instanzen macht. Leider wurde ich nie fertig und habe aktuell keine SPS mit Symcon neuer als Version 3 im Einsatz.
Sobald ich das umstelle (etwa Weihnachten??) werde ich wohl an dem Modul weiter arbeiten. Dann könnte ich es zur Verfügung stellen. Oder noch closed source ab sofort, solltest du dich damit auskennen.
Aktuell verfolge ich mehrere Ansätze um die Datenmenge zwischen IPS und SPS zu handeln.
Modbus ist zwar grundsätzlich möglich, aber mit der IPS-Implementation hab ich so meine Probleme.
Ich kann nur einzelne Addressen über IPS abfragen, nicht einen kompletten Bereich in einem Rutsch.
Das ist dann bei 100 Einzeladressen (die sogar nebeneinander liegen) nicht wirklich performant.
Ich würde mir wünschen, dass die Modbus Module mal grundsätzlich überarbeitet werden.
Das mit dem Spezialschalter in der Beckhoff-Konfiguration sollte ich mal testen.
Wie finde ich diesen? In der Beckhoff-Dokumentation kann ich zum TCP-Server jedenfalls keinen Hinweis finden.
Am liebsten wäre es mir, dass IPS über das Beckhoff-Protokoll ADS kommuniziert.
Das hatte ich ja bereits schon mal im Forum angedeutet.
Ein kleines Beispiel habe ich hier als PHP-Script laufen.
Allerdings ist das nur die Scripting-Variante der BeckhoffAPI.
Die ist auch sehr langsam.
Interessant wird es erst, wenn man die .NET oder OCX-Variante nutzt.
Diese habe ich aber bisher nicht zum laufen bekommen.
Ich frage mich auch, wie andere das lösen, z.B. mit einer WAGO SPS.
Die Probleme sind da ja auch genauso vorhanden.
Definitiv könnten wir dort was optimieren. Aktuell denke ich daran, dass man größere Abfrage-Bereiche im Splitter definiert, die im Block gepollt werden. In den Instanz würde dann das Intervall Feld gesperrt werden.
Wie gehts denn jetzt weiter?
Gibt es ein Plan, wann man die Modbusanbindung überarbeitet?
Aktuell bin ich an der Grenze des machbaren angelangt (Anzahl), was die Abfrage von Modbusadressen betrifft.
Und es kommen immer noch neue Adressen hinzu… :eek:
Wenn ihr Modbus schon anpackt dann bitte die Möglichkeit den Swap LSW/MSW auf Device-Ebene einstellbar machen. Hab hier einen Wechselrichter der Swap benötigt aber auch die Daten vom Speichercontroler bereitstellt. Diese aber wiederum benötigen keinen Swap. Zwei Splitter für ein Gerät gibt leider viele Fehlermeldungen im Log …
Da es sich bei Modbus um eine grundlegende Schnittstelle handelt, hätte ich auch gerne eine höhere Priorität.
Ich habe mehrere Installationen, wo ich aktuell IPS nicht einsetzen kann, da die Steuerung (Beckhoff-SPS) nur über Modbus mit
IPS kommunizieren kann und die Anzahl der variablen zu groß ist.
Die Abfrageintervalle müsste ich auf 10 Sekunden oder höher setzen. Das kann man aktuell so vergessen…
:mad:
Alle Versuche, ein Modul für das Beckhoff ADS-Protokoll zu schreiben, scheiterten,
da das ADS nur unter Windows vernünftig läuft (DLL).
Ehrlich gesagt, habe ich da nicht mehr viel Hoffnung…hier gibt es Mails von 2013 mit der selben Thematik und es hat sich seither
genau nichts verbessert…
Ich hänge mich hier auch nochmals dran…
paresy hat im Discord am Symcon Event erwähnt, dass auch das auslesen von Strings via ModBus kommen sollte.
Allerdings war der Zeitplan nicht so klar.
Wenn ihr den ModBus überarbeitet, wären folgende Features toll:
Strings auslesen
Ganze Blöcke auslesen (und ev. als einzelne Bits zurückgeben)
Endianess für einzelne Adressen festlegen (habe da so eine Steuerung, welche Bugs hat und z.T. für einzelne Register eine andere Endianess zurückgibt)
Offset oder Formel hinzufügen (Wert vom ModBus wird mit Offset addiert/subtrahiert oder mit Formel ev. sogar mit anderen Werten „verrechnet“)
Mehrere Abfragen in einer Instanz (Liste)
So, nun höre ich auf mit meiner Wunschliste
Wäre einfach toll zu wissen, was seitens IPS mit der ModBus-Instanz so geplant ist…