ModBus Device im WebFront

Hallo,
ich habe ein ModBus Device mit unterschiedlichen Lese- und Schreibadressen erstellt. Beide Adressen zeigen auf Merker einer Wago Steuerung.
Im Konfigurationsmodus kann man im Test Center unten auf der Seite die Knöpfe An und Aus zum Testen nehmen, damit klappt alles nach Wunsch, bzw. wie erwartet, der Merker der Schreibadresse wird gesetzt.

Im Webfront wird aus diesem ModBus Device ein Button mit den Farben rot und grün und dem Text An und Aus.
Wenn der Merker der Leseadresse aufgrund der Logik in der Wago-Steuerung den negierten Wert der Schreibadresse annimmt, dann funktioniert der Button nicht mehr.

Wie könnte ich dieses Problem lösen ?

Dazu wäre noch zu sagen, ich denke, daß man das mit einem Skript lösen könnte, aber dann stellt sich mir die Frage, wie bekomme ich einen optisch und funktionell gleichen Button hin ?
Danke im Voraus.

Hat hier niemand eine Idee?

Wago Experten, wie schaltet ihr eure Ausgaenge ?

Hallo Jensen,

am Besten legst Du die Merker auf die gleiche Lese- und Schreibadresse.
Übers Webfront wird dann durch das Aktionsskript

MBT_WriteCoil($wagoID,$address,$IPS_VALUE);

in die Variable geschrieben. (Natürlich noch WagoID und Adresse anpassen)

Viele Grüße
Roland

Roland, danke für den Tip.
Ich denke ich hätte mit gleicher Lese- und Schreibadresse angefangen, bin mir nicht sicher, welche Probleme ich da hatte.
Im Moment habe ich keinen Zugriff auf mein Testsystem, aber am Wochenende werde ich die Problematik nochmal angehen.
Vielleicht könntest Du noch ein Beispiel posten, wie das auf der Wago-Seite verarbeitet wird ?
Evt. liegt dort mein Problem. Einzeln bekomme ich die verschiedenen Varianten hin, aber wenn ich Hardwaretaster, WebVisu und WebFront kombinieren möchte, dann gibt’s Zustände, wo irgendwas wieder nicht funktioniert.

Hallo Jensen,

Beispiel MX0.0 (Modbus-Adresse 12288):

Webfront-Script:

MBT_WriteCoil($wagoID,12288,$IPS_VALUE); 

Wago - Deklaration:

Testmerker AT %MX0.0: BOOL;

Variablenzugriff mit Programm und Webvisu über das Symbol „Testmerker“.

Viele Grüße
Roland

Hallo Roland,
jetzt bin ich dran, aber noch kein Stueck weiter.
Wieso brauche ich ein Script? Ich kann doch alles in der Instanz ‚ModBus Address‘ einstellen. Dann gibt das im WebFront auch einen schoenen Button zum Hin- und Herschalten. Ein Script sieht im WebFront nicht so schoen aus.
Problem ist jetzt nur, dass der Merker gesetzt wird. Ich brauche aber nur einen Impuls, um ihn dann wie den Hardwaretaster zu verarbeiten. Alle Eingaenge gehen auf einen Toggle-Baustein, somit kann jeder (Hardwaretaster,WebVisu,WebFront) unabhaengig voneinander den Zustand Hin- und Herschalten.

Hallo Jensen,

Du kannst im Webfront nicht direkt auf Variablen schreiben. Das geht nur über ein Aktions-Script. Das Script kannst Du verstecken, damit es im Webfront nicht auftaucht.

Das rücksetzen der Variable erledigst Du am einfachsten nach dem Toggle-Baustein in der Wago.(U MERKER --> R MERKER) :wink:

Viele Grüße
Roland

ja, das mit dem Aktionsskript habe ich mittlerweile entdeckt
jetzt fummele ich dann dem Skript, aber das klappt noch nicht ganz
seit 2 Stunden habe ich nun schon das Gefuehl, ich stuende kurz vor der Loesung
uff

nee, das mit dem Aktionsskript habe ich dann doch noch nicht begriffen
das mit der Standardaktion ist dann wohl doch was anderes ?

ich dreh’ noch durch, kann doch nicht so schwer sein …

so, weitere zwei Stunden später scheint es geschafft
zumindest konnte ich bis jetzt keine Fehlfunktion mehr feststellen
herausgekommen ist eine Mischung aus allem oben Gesagtem:

  • ModBus Device mit unterschiedlicher Lese- und Schreibadresse (damit der Zustand immer korrekt angezeigt wird)
  • Eigenes Profil (anstatt An und Aus mit anwesend und abwesend)
  • Eigenes Skript (damit der Merker nur kurz angetriggert wird, also wie ein Taster)
  • auf der Wago Seite führen alle Eingänge (IPS,WebVisu,Hardwaretaster) auf einen ODER Baustein mit anschließendem TOGGLE Baustein und hinten kommt ein QX (Hardwareausgang) und ein Merker für den ModBus-Leseeingang raus

Danke an Roland (MTec) und Patrick (palela) für die konstruktive Hilfe
Jens

Hallo Jens,

wärst Du so freundlich dieses Skript mal zu posten?
Ich kämpfe auch schon ewig mit der richtigen Statusanzeige der Schaltzustände und habe es noch nicht hinbekommen.

@Roland
verwendest Du auch 2 Merkeradressen für einen Taster (AN/AUS)?

Grüße
Daniel

Hallo Daniel,

das Skript ist einfach :

<?
ModBus_WriteCoil(29532 /*[Abwesenheitsmodus]*/, true);
IPS_Sleep(300);
ModBus_WriteCoil(29532 /*[Abwesenheitsmodus]*/, false);
?>

das schwierige war für mich, das im Objektbaum zu verdrahten
melde dich, wenn du weitere Hilfe brauchst
Gruß
Jens

Hallo Daniel,

bei mir läuft das über einen Merker. Also der Merker gibt mir den Status von der Wago und ich kann diesen in IPS setzen bzw. rücksetzen.
Viele Wege führen nach Rom! :wink:

Viele Grüße
Roland

Hallo Roland,
wenn Du nur einen Merker verwendest, wie verdrahtest Du das dann weiter auf der Wago Seite?
Also was stellst Du alles mit dem Merker an? Eigentlich wäre mir eine Lösung mit einem Merker lieber, weil es irgendwie einfacher ist. Aber mit einem Merker bekomme ich meinen Abwesenheitsmodus einfach nicht hin.
Gruß
Jens

@Jensen
Danke!

@MTec
ja leider :frowning: das macht das ganze nicht leichter zu durchschauen. Hätte ich mich bloß früher mal mit Programmierung beschäftigt :rolleyes: