Waveshare 8-Ch Ethernet Relay Module - Modbus TCP

Liebe Community,

ich habe o.g. Relaisplatine gefunden und würde diese gerne mit IP-Symcon ansteuern. Als erstes frage ich mich, was bei den „Device Settings“ der Platine eingestellt werden muss (Work Mode / Port / Dest. IP).

Shop Link entfernt! Bitte Links zur Hersteller Website nutzen!

Danach würde die Konfiguration in IP-Symcon beginnen. Hätte jetzt ein MODBUS TCP Gerät angelegt.

Wie erfolgt die Ansteuerung?
(https://www.waveshare.com/wiki/Modbus_POE_ETH_Relay)

Vielleicht hat der ein oder andere dieser Platine bereits im Einsatz.

Viele Grüße Bernd
Waveshare

Hallo Bernd,

habe mir das Modul auch besorgt. Wollte es eigentlich mit MQTT steuern, da ich ModBus bislang nicht genutzt habe. Gestern abend mal „auf die Schnelle“ bin ich auch nicht weiter genommen als die IP-Adresse neu zu setzten…
Bist du weiter gekommen, kannst du mir das helfen?

Gruß
hardlog

Hallo Hardlog,

mit MQTT kann ich dir nichts sagen. Ich habe die Platine mit MODBUS angesteuert. Es ist dann aufgefallen, dass die Ausgänge leider nur einzeln oder alle gemeinsam zu schalten waren und das wollte ich nicht. Gerne hätte ich die Platine binär (10001011) oder mit einem hex angesteuert, was aber laut Hersteller nicht funktioniert. Trotz des guten Preisleistungsverhältnis habe ich mich aber dann dazu entschlossen, die Platinen wieder zurück zu schicken.

Du brauchst folgende Objekte:

  • Clientsocket
  • Modbus Gateway
  • Modbus Coil
  • Script

/…
Address Write relay status Starting Address Quantity Bytes Count Relay Status CRC
01 0F 00 00 00 08 01 FF BE D5

#Single - funktioniert
$Control_Code = „01 05 00 07 FF 00“; Transmit($Control_Code); #ein
IPS_Sleep(1000);
$Control_Code = „01 05 00 07 00 00“; Transmit($Control_Code); #aus

#All - funktioniert
#$Control_Code = „01 05 00 FF FF 00“; Transmit($Control_Code); #ein
#IPS_Sleep(1000);
#$Control_Code = „01 05 00 FF 00 00“; Transmit($Control_Code); #aus

…/

Viele Grüße Bernd

Mit anderen Worten, die Funktion 15 wurde nicht unterstützt von Gerät.

Kann man ja bei Bool in der Instance aus anwählen, habe ich noch nie selbst probiert-
Weiß auch nicht, wo man die Anzahl einstellt…

Die Doku sagt darüber auch nichts…

Eventuel muß man beim Lesen schon z.B. 8 Bit anwählen???, nee probiert… aber wenn die Funktion 15 unterstützt wird… muß ja einen geistigen Mehrwert haben, da hat Paresy sich doch was dabei gedacht?

Warum wird MQTT noch zusätzlich gewünscht?
Man könnte MQTT Mitteilungen von diesem Gerät zusätzlich noch zu einem Brocker oder ähnlich schicken, das mache ich z.B. mit HomilesOpenBatterie.

Das wäre auch etwas für mich, und meine Überschußsteuerung :+1:

Ich hatte dazu mal was geschrieben, mit einem Script habe ich es „fast“ hinbekommen, dass man auch „alle“ auf einmal beschreiben kann, ABER
Ich bin kein Programmierer und scheitere mit der Bit-Codierung von dem Hexwert .
Ein bis 4 Relais geht gut, dann stimmt meine Hex auf Bin Konvertierung nicht.
Wenn es Dir hilft, dann schau mal.

Hallo,
gibt es hierzu was neues? Hat das schon jemand hinbekommen. Das wäre genau das richtige Teil für mich, jedoch ganz ohne Hilfe wird das glaub ich nix

Dann zeig doch mal, was du bisher probiert hast und was es ggf. für Fehlermeldungen gibt. Auf Basis dessen wird man dir gezielt helfen können.

Hallo,
es gibt hier wohl mehrere Beiträge zu diesem Thema.
Eine Grundlegende Vorgehensweise wie man die Einzelnen Kanäle einbindet wäre echt toll.
Sozusagen ein Fahrplan. Dann kann ich mich sobald das Ding heute kommt und ich Zeit habe mich damit versuchen.
Danke im Voraus:)

Ich fasse zusammen. Im 1. Beitrag ist ein Link. An diesem orientieren wir uns:

  • Gerät anschließen
  • Gemäß „Hardware Settings“ konfigurieren. Work Mode „TCP Server“ ist hier wichtig, ebenso die Einstellungen unter „Serial“.
  • Unter „Protocol Setting“ würde ich erst einmal weiteres Ignorieren, so wie es die Anleitung auch empfiehlt.
  • Überblick über die verwendeten MODBUS Register verschaffen. Die sind im Kapitel " Modbus RTU Development Protocol V2" genannt.
  • MODBUS Gerät in IP-Symcon anlegen. Zugehörige I/Os kommen automatisch und müssen entsprechend konfiguriert werden.

Aus der Tabelle entnehmen wir, dass die Adressen 0 bis 7 die Kanäle des Relais wiedergeben. Also einfach mal diese Register ( 1 Bit) im Modbus Gerät anlegen. Für den Anfang reichen die ersten zwei Kanäle.

Meldungsfenster sollte nach Herstellung der Verbindung sauber bleiben und die Werte der Relais sollten sich aktualisieren. Falls sie das nicht tun, dann hier mal Screenshots posten. Wenn die Werte sich aktualisieren, machen wir mit dem Schalten weiter.

1 „Gefällt mir“

Danke für deine Hilfe bisher.
Ich hab das Gerät angelegt und auch konfiguriert. Das war ja nicht sehr schwierig wnn man sich schonmal damit beschäftigt hatt.
Aber wie bekomme ich jetzt die einzelnen Reilasi sowie Eingänge hier in Symcon abgebildet?
Du schreibst das kommt alleine… aber wie?? Habe ich nicht ganz verstanden.

Ok… Da war ein Fehler in der Config. Ich musste das Gerät als Modbus RTU Konfigurieren. Dann ging es. :slight_smile:
Habe folgendes Relais:

Es muss dazu unter dem Gerät noch 8 Coils hinzugefügt werden.
Relais 1 ist Kanal 0, Relais 2 Kanal 1 usw…

Wie bekomme ich jetzt aber die Eingänge hier rein?
Die Relais 1- 8 schalten schonmal korrekt

Ach was. Ich hab es selbst rausgefunden: ) Ich bin echt stolz auf mich. Die Eingänge werden folgendermaßen abgebildet:
Auch hier gilt: Adresse (lesen) 01 ist Eingang 1, Adresse 1 (lesen) ist Eingang 2 usw…
'Für jeden Eingang muss unter dem Gerät ein Coil angelegt werden
Das ganze sieht dann folgendermaßen aus:
(Bisher nur 1 Eingang angelegt)

1 „Gefällt mir“

Das ist leider falsch.

Klicke doppelt aufs MODBUS Gerät. In dieser Instanz konfigurierst du es dann.

Unten auf „Hinzufügen“ und die dann erscheinende Ansicht dürfte dir bekannt vorkommen.

Am Ende sollte es ungefähr so aussehen:
grafik

Kannst du auch sein. Sich hier etwas vorbeten lassen, das kann jeder und davon lernt man nichts.

Ha, das hatte ich erst probiert und dachte das da was nicht stimm :slight_smile: aber es geht beides. Ändere das jetzt ab damit es so ist wie es gehört! Danke für die Tips.

1 „Gefällt mir“

So, kurze Frage noch zum schalten von den Ausgängen. Wenn ich diese z.B. in einem Script verwenden will oder auch Befehl testen mache kommt folgende Fehlermeldung:


Einen Ereignis kann ich auch nicht einfügen. Würde gern zu bestimmten Uhrzeiten ein Relais schalten.

Kannst du mir da helfen?

Fehler gefunden. Es müssen in der Konfiguration das Profil „Switch“ hinterlegt werden, dann geht es!

1 „Gefällt mir“

Ereignis hat auch geklappt?

Ja, nach einstellen des Profils klappte das😄