15.05.2019 21:26 | |
Beiträge: 7 Bewertung: (0) |
Hallo allerseits, leider bin ich in Sachen Modbus ein absoluter Frischling. Irgendwie hat es sich so ergeben. Nun bin ich fest entschlossen diesen Umstand zu ändern. Leider komme ich absolut nicht dahinter, wie ich all die benötigten Parameter richtig deuten und übersetzen soll. Folgendes Szenario: ich habe eine Grundfos Magna3 Pumpe mit einem CIM500 Modbus TCP Kommunikationsmodul und eine LOGO Steuerung, die ebenfalls Modbus TCP beherrscht. Logo ist als Modbus Client eingerichtet, Pumpe lässt sich anpigen, IP Adressen und der Port 502 stimmen. Es soll mit der Pumpe eine simple Modbus Kommunikation zwecks Realisierung folgender Befehle: Ein/Aus, SM Weiterleitung, Min. / Max Umschaltung aufgebaut werden.
"Normale" LOGO Programmierung beherrsche ich soweit , bin zwar kein Guru, hab aber schon einiges damit realisiert. Nur beim Modbus komme ich kein bisschen weiter. Wie komme ich bloß an die Coils und sonstige, in der Logo benötigte Angaben dran? Kann mir vielleicht jemand bitte mit ein kurzen Beispiel aufzeigen wie ich z. Bsp. die Pumpe über Modbus ein/ausschalte oder die Störungsmeldung an die Logo gesendet bekomme? Vielen lieben Dank im Voraus! VG Boris PS: Im Anhang habe ich einen Auszug aus dem Grundfos Buch mit all den Modbus Tabellen beigefügt. DateianhangGrundfos.book.pdf (156 Downloads) |
16.05.2019 08:05 | |
Beigetreten: 22.02.2008 Letzter Bes: 06.08.2024 Beiträge: 2698 Bewertung: (208) |
Schau dir das Programm im Anhang mal an. Kann man bei Modbus immer schlecht vorhersagen, ob das so funktioniert wie geplant. Die IP-Adressen musst du natürlich anpassen, die Modbuseinstellungen siehst du bei Etherneteinstellungen -> ModbusClient. Wenn du mehrere aufeinanderfolgende Register lesen willst, bietet es sich immer an, die in einem Stück zu lesen. Ich würde dir auch empfehlen, im Diagramm grundsätzlich mit den lokalen Netzwerkein-/ausgängen zu arbeiten und nicht einzelne Modbus-Netzwerkein-/ausgänge im Diagramm zu definieren. M.f.G. Scorp DateianhangGrundfos.zip (167 Downloads) |
Für diesen Beitrag bedanken sich1 Benutzer |
16.05.2019 08:42 | |
Beigetreten: 11.09.2014 Letzter Bes: 31.10.2024 Beiträge: 775 Bewertung: (33) |
Servus, ich hoffe das Beispiel passt. LOGO! 8 FS4 ist Modbus Client, Pumpe ist Modbus Server. Im Beispiel werden zwei Register gelesen Register 21 (mit Offset 1) Status CIM, und Register 201 (mit Offset 1) Register reading mode from e-pump Diese werden in LOGO! in VW0 und VW2 abgelegt. Im LOGO! Program sind lediglich zwei FB, damit man LOGO! in RUN schalten kann. Die IP-Adr musst du wahrscheinlich anpassen. Nach übertragen in LOGO! den Online Test starten und in der Datentabelle die beiden Adressen VW0 und VW2 eintragen. Hier sollten dann Wert aus CIM und der Pumpe dargestellt werden. Hoffe das hilft dir für den Anfang. DateianhangGrundfos Modbus.zip (135 Downloads) |
Für diesen Beitrag bedanken sich1 Benutzer |
18.05.2019 17:09 | |
Beiträge: 7 Bewertung: (0) |
Hallo Scorp, vielen dank für deine Hilfe. Hat mir gut weiter geholfen, es ist tatsächlich simpel, wenn man weißt wie! Dein Beispielprogramm hab ich getestet. Es funktioniert grundsätzlich so wie es sein muss. Allerdings macht die Pumpe nicht wirklich mit. Sobald Remotesteuerung über R 201 Bit 8 aktiviert ist, setzt die Pumpe alle lokal eingestellte Parameter wie Regelungsart, Sollwert, Min./Max. Kennlinie außer Kraft und erwartet alle Einstellungen über Modbus gesendet! Was grundsätzlich nicht falsch ist, stellt mich aber vor nächstes Problem. Wie beschreibe ich zum Beispiel Register (Pumpe) 203 (ControlMode) mit Wert 8 (Constant temperature)? Eine 1 an V202.0 zu senden ist doch offensichtlich falsch? Hab trotzdem probiert, Ergebnis, CIM Modul hängt sich mit Störungsmeldung auf und muss anschließend neu gestartet werden. Weiteres, für mich nicht nachvollziehbares Phänomen: R201 Bit 10 liefert an LOGO V200.2 (hab einfach in Anlehnung an dein Beispiel weiter gezählt) ständig 1 = Fault zurück!? Warum? Grundsätzliche Frage, woher weist man wie die Modbustabele im Logo, Ethernet Busverbindung angelegt werden soll? Woher hast du zum Beispiel gewusst, dass die Länge für VW 200 = 2 words und für VW 100 =5 words sein soll? Und warum V101.0 - V101.7 Register 101 Bit 0 bis Bit 7 und V100.0 - V100.7 Register 101 Bit 8 bis Bit 15 entsprechen? Hier wäre für mich schon mal der erste Gedankenfehler, Register 101 Bit 8 bis Bit 15 hätte ich logischerweise in die V102.0 - V102.7 reingepackt. Ich will es wirklich begreifen, daher bitte ich um Entschuldigung, wenn für mach einen es nach fehlenden Grundlagen und zu einfachen, langweiligen Fragen klingt. Danke! LG Boris DateianhangGrundfos-test.zip (96 Downloads) |
19.05.2019 23:03 | |
Beiträge: 7 Bewertung: (0) |
Hallo Scorp, ich danke dir vielmals! Langsam bekomme ich den Dreh raus (glaube ich). Manchmal sieht man von lauter Bäumen den Wald nicht mehr und um weiter zukommen es nur eines Denkanstoßes in die richtige Richtung bedarf. So ist es auch mir mit dem Modbus ergangen. Mit 30 Jahre Computererfahrung kann ich auch aufwarten, jedoch nur als Hobby. Was LOGO Handbuch angeht, stimme ich dir natürlich zu, allerdings die mehr als dürftige Infos die darin vorhanden sind, würden von mir zum Teil in falschen Kontext, aufgrund fehlenden Modbus Grundlagen, fehlinterpretiert. Ich lerne nun mal am besten aus der Analyse vorhandener Beispiele (reverseingenering). Die Sache mit den "Coils" hat mich, als ich plötzlich in der Grundfoss Doku keine finden könnte, zusätzlich irritiert. Dein LOGO Programm hab ich etwas abgeändert, zusätzliche Register eingefügt und mit anderen LOGO VM Adressen bzw. Modbustabelle, hoffentlich richtig ersetzt. Werde die Tage an der Pumpe testen und berichten. LG Boris DateianhangModbus_GF-Pumpe-Test_v2.zip (118 Downloads) |
Folgen Sie uns auf