02.08.2018 16:42 | |
Beigetreten: 17.06.2013 Letzter Bes: 30.08.2024 Beiträge: 123 Bewertung: (4) |
Danke für die Hinweise. Eine Anfrage an Optec ist unterwegs. Fortsetzung folgt... Grüsse Peter |
06.08.2018 11:22 | |
Beigetreten: 17.06.2013 Letzter Bes: 30.08.2024 Beiträge: 123 Bewertung: (4) |
Hallo Zusammen Ich habe nun eine Modbus Protokoll Beschreibung erhalten. Dort ist aber nur von Modbus RTU und ASCII die Rede. Also doch nichts für die LOGO? Grüsse Peter DateianhangModbus protokoll - Beschreibung.pdf (211 Downloads) |
06.08.2018 18:33 | |
Beigetreten: 22.02.2008 Letzter Bes: 06.08.2024 Beiträge: 2698 Bewertung: (207) |
@pit69 Eine fertige Schritt-für-Schritt-Anleitung gibt es leider nicht, das ist Anwender- und Geräteabhängig. Ich hatte mal einen PC-Client beschrieben, der auf die Logo als Modbus-Server zugreift und diverse Statusanzeigen ausgibt. Siehe hier Du brauchst wahrscheinlich in der Logo den Modbus-Client, da das LAN-Modul die Daten bestimmt als Modbus-Sever zur Verfügung stellt. Wenn du dir meine Variante anschaust und die Datenrichtung umkehrst, bist du eventuell relativ einfach am Ziel. Probleme könnten später noch beim Zahlenformat auftauchen, da die Logo nur ganze Zahlen verarbeitet. Zur Umwandlung von Fließkommazahlen gibt es in der neuesten Logo noch zwei Konverter, doch davon später. Bei den angegebenen Registernummern in einer Modbus-Tabelle muss man etwas aufpassen, manche beginnen mit 0, andere mit 1, von daher muss man etwas ausprobieren, bis man die richtigen Zahlenwerte angezeigt bekommt. Grundprinzip ist, dass du die Register des LAN-Moduls in eine Variablentabelle der Logo einträgst und dann im Programm nutzen kannst. M.f.G. Scorp |
08.08.2018 13:27 | |
Beigetreten: 22.02.2008 Letzter Bes: 06.08.2024 Beiträge: 2698 Bewertung: (207) |
Im Anhang ist schon mal ein Testprojekt zum Starten. Öffne bei Extras -> Ethernetverbindungen den Modbus-Client, darin sind z.B. 2 Bereiche definiert. Bereich 1 = 4 x Energiezähler je 8 Bytes = 32 Bytes = 16 Worte Bereich 2 = 3 x Wirkleistung je 4 Bytes und 1 x Gesamtleistung mit 8 Bytes = 20 Bytes = 10 Worte Bei der Variablenzuordnung muss man nur aufpassen, dass es keine Überlappungen gibt. Da die Energiezähler je 8 Bytes benötigen und ich im Beispiel bei VM0 anfange, findet man die Zähler unter VM0, VM8, VM16 und VM24 wieder. Damit sind VB0 bis VB31 belegt und es geht frühestens mit VM32 weiter. Wenn man nicht zuviele Zuordnungen hat, kann man für Bereich 1 auch mit VM100 anfangen, Bereich 2 mit VM200 usw. Ich würde nur empfehlen, möglichst wenige zusammenhängende Bereiche zu nehmen und nicht etwa jeden Wert einzeln zuzuordnen. Bei den Konvertern kannst du einfach ein wenig rumspielen, was für Maßstabsfaktoren du gerne hättest, Probieren geht über Studieren Viel Spass beim Probieren, Scorp DateianhangModbus Client.zip (171 Downloads) |
Für diesen Beitrag bedanken sich1 Benutzer |
13.08.2018 19:56 | |
Beigetreten: 17.06.2013 Letzter Bes: 30.08.2024 Beiträge: 123 Bewertung: (4) |
So hier mein Programm zur Eigenverbrauchssteuerung. Ich hoffe das mit dem ZIP klappt. Zuerst kommt die Eigenverbrauchssteuerung mit der Erfassung der beiden S0 (Bezug/Abgabe) Schnittstellen. Danach Anweisungen zur Steuerung von Pool Heizung, Boiler und Wärmepumpe. Die scheinbar unnützen Merker dienen zum Bedienen mit dem individuell gestalteten Webbrowser. DateianhangEVB.zip (139 Downloads) |
13.08.2018 19:57 | |
Beigetreten: 17.06.2013 Letzter Bes: 30.08.2024 Beiträge: 123 Bewertung: (4) |
Und hier der Modbus Versuch. Unter Extras > Ethernet-Verbindungen > Verbindung 1 seht Ihr die Einstellungen mit den Adressen der Modbus Schnittstelle Grüsse Peter DateianhangModbus.zip (139 Downloads) |
13.08.2018 20:14 | |
Beigetreten: 22.02.2008 Letzter Bes: 06.08.2024 Beiträge: 2698 Bewertung: (207) |
@pit69 In dem Fall ist natürlich klar, dass es nicht funktioniert, die Abstände der VM-Adressen stimmt nicht. Außerdem kann man einen Bereich schon in einem Rutsch einlesen. Probier mal das geänderte Programm im Anhang aus. Grundsätzlich werden bei Modbus Worte = 2 Bytes verarbeitet. Da die 3 Einzelleistungen je 2 Worte haben, müssen die VM-Adressen im 4er-Abstand sein. M.f.G. Scorp DateianhangModbus2.zip (153 Downloads) |
14.08.2018 16:09 | |
Beiträge: 33 Bewertung: (0) |
Gern geschehen. Sicherlich bin ich dann auch wieder froh wenn ich den Versuch machen. fg Maroha |
15.08.2018 10:11 | |
Beigetreten: 17.06.2013 Letzter Bes: 30.08.2024 Beiträge: 123 Bewertung: (4) |
Das ist die aktuelle Beschreibung die ich von optec erhalten habe. Für meine Zwecke waren nur die 4-stelligen Adressen und die Bytes Grösse massgebend. Zu beachten ist das in diesem Fall die Adresse um den Wert 1 erhöht werden musste. Grüsse Peter Dateianhang26_01_2016_Built_in_Modbus Protocol - Technical description _ Rev_1_42.pdf (182 Downloads) |
Zuletzt bearbeitet von: pit69 am: 15.08.2018 10:12:37 |
|
Für diesen Beitrag bedanken sich1 Benutzer |
15.08.2018 21:12 | |
Beigetreten: 22.02.2008 Letzter Bes: 06.08.2024 Beiträge: 2698 Bewertung: (207) |
@pit69 Ich hatte weder die junge Dame am Telefon gemeint noch war es eine Frage. Eher die Feststellung, dass Optec mit großer Wahrscheinlichkeit nicht der Hersteller dieser Zähler ist. @maroha Wenn deine Frage darauf abzielt, wie die Modbusregister überhaupt zu verstehen sind, kann ich dir die Seite www.modbus.org empfehlen. Kurz gesagt sind die Register als Worte = 2 Byte = 16 bit definiert. Braucht man mehr Platz für Zahlen, werden sie in aufeinanderfolgenden Registern gespeichert, je nach Größe 2 Worte (4 Byte) oder 4 Worte (8 Byte). Wichtig ist dann noch zu wissen, wie die Zahl zu interpretieren ist, als ganze Zahl 16/32 bit oder als Gleitpunktzahl 32/64 bit. Wie die Register mit welchen Werten gefüllt sind, gibt der Hersteller in einer Modbustabelle vor. Bei der Logo kann man die Modbusregister eines Gerätes auslesen und im Variablenspeicher legen, siehe Beispiel hier im Thema. Wichtig ist dabei, die Zuordnung zu den Registern passend einzustellen. In den Netzwerkeinstellungen beim Modbusclient wird nun eine Anfangsadresse eines Modbusregisters und die Länge in Word eingestellt. Legt man die z,B. in der Logo ab VM100 ab, sind die (Länge x 2) ab Byte VB100 belegt, da ein Word = 2 Bytes sind. Handelt es sich um ganze 16 bit-Zahlen, dann stehen die Werte in VW100, VW102, VW104 usw. Handelt es sich um ganze 32 bit-Zahlen, dann stehen die Werte in VD100, VD104, VD108 usw. Bei Gleitpunktzahlen muss man den Gleit/Ganz-Konverter in Anspruch nehmen, beim Typ "Gleit" sind es 32 bit, beim Typ "Double" sind es 64 bit. Damit werden die Gleitzahlen mit dem eingestellten Maßstabsfaktor in ganze Zahlen umgewandelt, da die Logo selbst mit Gleitpunktzahlen nichts anfangen kann. Das Hauptproblem bei der Logo kommt dann, wenn man meint, die Zahlen in der Logo weiter verarbeiten zu können, denn die Logo kennt bei der Arithmetik nur 16 bit-Zahlen. Hier bedarf es einiger Tricks, die ich jetzt aber nicht erläutern werde. Zumindest beim Meldetext lassen sich umgewandelte Gleitzahlen zur Anzeige bringen. Nun reicht es aber für heute, M.f.G. Scorp |
Folgen Sie uns auf