Modbus-Gerät ein- und ausschalten

Antworten
hrathke
Beiträge: 158
Registriert: Montag 12. Dezember 2011, 21:10

Modbus-Gerät ein- und ausschalten

Beitrag von hrathke » Montag 15. Februar 2016, 18:55

Hallo,

ich suche eine Möglichkeit bei Verwendung mehrerer Modbus Geräte diese An- oder Abzuschalten. Leider ist es im Moment so, das bei fehlendem Gerät lange versucht wird, die fehlende IP Adresse zu finden bevor das Programm startet.
Zum Beispiel verwende ich ein Energiemessgerät über Modbus TCP. Für dieses gibt es eine Erweiterung, welche auch über Modbus TCP angesprochen wird. Allerdings wird diese Erweiterung nur selten benötigt. D.h. ich benutze zur Zeit zwei Programmvarianten, eine nur mit dem Energiemessgerät und eine mit beiden Komponenten - keine wirklich schöne und praktikable Lösung (vor allem Im Hinblick auf weitere modulare Projekte).

Vielleicht hat jemand einen Lösungsvorschlag dazu?

Gruß
HR

abacom
Site Admin
Beiträge: 3917
Registriert: Dienstag 23. September 2008, 10:54
Kontaktdaten:

Re: Modbus Gerät Ein-Ausschalten

Beitrag von abacom » Mittwoch 17. Februar 2016, 14:31

Einfach den CLK des Modus-Clients abschalten?
ABACOM support

hrathke
Beiträge: 158
Registriert: Montag 12. Dezember 2011, 21:10

Re: Modbus Gerät Ein-Ausschalten

Beitrag von hrathke » Mittwoch 17. Februar 2016, 15:16

Hallo abacom,

das funktioniert, wenn das Programm schon läuft, leider aber nicht beim ersten Starten - da versucht das Programm alle angegeben IP`s und Modbus Adressen zu finden und startet erst (je nach Anzahl dieser) später oder noch später.

Bei Modbus RTU ist das relativ leicht möglich (wenn auch nicht optimal, denn vergessen darf man es nicht), indem einfach kein COM Port vorgewählt wird.

Schön wäre ein ENABLE Pin :D - bei den Modbus Komponenten.

Gruß
HR

Mike D
Beiträge: 528
Registriert: Dienstag 14. Oktober 2008, 14:48
Wohnort: Elbe- Weser-Dreieck

Re: Modbus Gerät Ein-Ausschalten

Beitrag von Mike D » Donnerstag 18. Februar 2016, 09:43

Moin HR,
du hast eine mögliche Lösung ja schon selber angedeuetet: "modulares Projekt".
Pack das eine Modbusmodul in eine eigenes kleines Projekt, das du nur startest wenn du es brauchst und reich die Werte per TCP weiter.

Mike

abacom
Site Admin
Beiträge: 3917
Registriert: Dienstag 23. September 2008, 10:54
Kontaktdaten:

Re: Modbus Gerät Ein-Ausschalten

Beitrag von abacom » Freitag 19. Februar 2016, 09:05

"Neuen" Modbus-Client verwenden. Da passiert nichts ohne CLK ....
viewtopic.php?f=54&t=3920
ABACOM support

hrathke
Beiträge: 158
Registriert: Montag 12. Dezember 2011, 21:10

Re: Modbus-Gerät ein- und ausschalten

Beitrag von hrathke » Freitag 19. Februar 2016, 19:49

Hallo,

@Mike: Danke für die Anregung - habe ich versucht - das zweite Projekt startet trotz vorhandener IP Verbindung sehr träge ...

@abacom: Danke für den Hinweis!

Nachdem ich es nun (wieder einmal) mit dem neuen Client versucht habe und dann auch die Werte kamen - kommt nach weiteren Editieren nun aus allen Ausgängen anstelle von Zahlenwerten: "Success!" - ganz toll, was soll das denn? Der Baustein ist damit futsch. Nimmt man einen neuen aus der Werkzeugkiste funktioniert es dann wieder ...
Weiterhin kann man bei der Abfrage der Adressen zugucken - so langsam ist das - kann man dies irgendwie beschleunigen?

Danke!
Gruß
HR

hrathke
Beiträge: 158
Registriert: Montag 12. Dezember 2011, 21:10

Re: Modbus-Gerät ein- und ausschalten

Beitrag von hrathke » Montag 22. Februar 2016, 13:46

Hallo,

hier zur Veranschaulichung noch einmal ein Bild.

Wenn man die Konfiguration speichert und dann in einen noch funktionierenden Client lädt, ereignet sich dasselbe.... :cry:
Dateianhänge
success.prj
(21.59 KiB) 299-mal heruntergeladen
success.jpg
success.jpg (117.68 KiB) 9801 mal betrachtet

abacom
Site Admin
Beiträge: 3917
Registriert: Dienstag 23. September 2008, 10:54
Kontaktdaten:

Re: Modbus-Gerät ein- und ausschalten

Beitrag von abacom » Dienstag 23. Februar 2016, 10:25

Ich habe einmal in meine Source geschaut. Der Fall "Success" tritt eine, wenn die Modbus-Funktion zwar erfolgreich ausgeführt wird (eine Antwort ohne Fehler bekommt),
der gelesene Registerwert, aber nicht den Vorgaben entsprechend konvertiert werden kann.

Im vorliegenden Fall können die gelesenen Registerwerte - warum auch immer - nicht als FLOAT (IEEE742) interpretiert werden.
(Die Konvertierung in PL wurde anhand verschiedener Geräte getestet und sollte einwandfrei arbeiten.)

Denkbare Ursachen sind z.B.

- Falsche Registeradresse gelesen
- gelesenes Register enthält keinen gültigen FLOAT-Wert / IEEE742-Typ
- High/Low-Byte im Register vertauscht (swap)
- Fehler des Modbusgerätes
- Timing; Manche Geräte benötigen PAUSEN zwischen zwei Requests.

Hinsichtlich der Performance kann es ferner sinnvoll sein, direkt aufeinander folgende Registeradressen gleichen Typs (hier z.B. 3x Spannung / 3x Strom)
mit nur EINEM Request abzuarbeiten (Anzahl Vars = 3).
ABACOM support

abacom
Site Admin
Beiträge: 3917
Registriert: Dienstag 23. September 2008, 10:54
Kontaktdaten:

Re: Modbus-Gerät ein- und ausschalten

Beitrag von abacom » Dienstag 23. Februar 2016, 10:35

P.S. Im obigen Projekt unterscheiden sich übrigens die Definitionen der beiden vom Anwender definierten "FREQUENZ"-Requests? Nur als Hinweis. Vielleicht liegt hier der Hund begraben.
ABACOM support

hrathke
Beiträge: 158
Registriert: Montag 12. Dezember 2011, 21:10

Re: Modbus-Gerät ein- und ausschalten

Beitrag von hrathke » Dienstag 23. Februar 2016, 20:21

Hallo abacom Support,

vielen Dank für die Antwort.

Ich hab´s dann mal wieder getestet ...

Ich habe an den Einstellungen selber nichts geändert (also sollte das Float ein Float sein ;) , außer die zusammen hängenden Adressen in einem Request abgefragt (und dann mit $Part geteilt) - das funktioniert, hilft aber nicht wirklich bei der Geschwindigkeit, da nachfolgende Adressbereiche wieder sehr langsam abgerufen werden. Insgesamt bleiben bei dem Beispiel nur 4 Adressbereiche - und da war max. 1 Hz möglich :cry:

Darf ich mal fragen, an welchem Gerät Sie den "neuen" Modbus TCP Client testen? Vielleicht habe ich da Zugriff drauf - im Moment kann ich nur (leider zum wiederholten Male) feststellen, das zu mindestens bei mir mit dem Client nicht zu arbeiten ist.

Eigentlich sehr schade, da Profilab im Bereich Modbus hier eigentlich "die eierlegende Wollmilchsau" darstellt. :D

Gruß
HR

abacom
Site Admin
Beiträge: 3917
Registriert: Dienstag 23. September 2008, 10:54
Kontaktdaten:

Re: Modbus-Gerät ein- und ausschalten

Beitrag von abacom » Mittwoch 24. Februar 2016, 07:59

Für die Antwortzeiten von Geräten und Netzwerklaufzeiten können wir nun wirklich nichts. Jede Sekunde ein neuer Messwert ist doch toll.
Das ist eine typische Messrate bei "Multimetern". :D "Darf ich mal fragen..." klar, z.B. Siemens Sentron PAC4200, LabJack T7, ...
ABACOM support

Antworten

Zurück zu „Thema Modbus“