Änderungen im Modbus erfassen

Nikro

Level-1
Beiträge
19
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin.
Ich habe eine Lichtsteuerung, welche ich über den Modbus steuere.
Aber den DALI will ich nicht immer alle 200ms sagen, dass er die Scene neu anfahren soll.

Es gibt doch sicher eine möglichkeit zu erfassen, wann sich Modbus Werte ändern oder?

Bin für jeden Tipp dankbar.
 
also um Änderungen mitzubekommen muß man eigenlich bei Modbus pollen. z.B. alle 200ms. Ich sehe da keine andere Möglichkeit. Wo ist das Problem, öfter mal zu pollen ?
Kostet ja eigenlich nichts...

MfG CAS
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die Modbus Werte kommen problemlos an. Die Wago SPS arbeitet da als passiver Client.
Mein Anliegen ist , dass ich gerne eine Variable auf TRUE schalten würde, wenn sich in meinem
Speicherbereich, der über Modbus geschrieben wird, die WORD Werte ändern, damit ich auf
die Änderung reagieren kann.
 
kann ma da nicht einfach eine Funktion schreiben, die den Merkerbereich vergleicht und bei Änderung eine Flanke oder so erzeugt ?

MfG CAS
 
Tja und genau deshalb mein Frage, da ich bisher nur Bausteine verwendet habe und davon (noch) wenig Ahnung habe.
Einen passenden Baustein habe ich aber auch in der OSCAT leider nicht gefunden
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also:
bei Neustart den aktuellen Wert im FB merken

dann bei jedem Zyklus den neuen Wert mit dem alten vergleichen:
.. ist der Wert anders dann den Wert wieder merken und ein Flanke schalten...
Fertig...
:D
Das ist wohl eines der einfachsten "Programme" überhaupt. Vieleicht in Zukunft nicht so viel mit OSCAT arbeiten sonder mal einen Lösungsansatz selbst erarbeiten. ;)

MfG CAS
 
Ach ja... was machen wir nur, wenn keiner mehr LIB`s schreibt?

In welcher Sprache programmierst Du?

Deiner Aussage entnehme ich, dass Du ein "Anfänger" bist?

Schau Dir mal zu dem von CAS genannten Ablauf den Baustein "EQ" und die Funktion von Sprungmarken an!
F1 ist dazu eine prima Taste... nur mal so als Hinweis!

Ablauf:

1. Vergleich auf Änderung
2. Änderung nicht vorhanden? Dann Sprung in letztes Netzwerk
3. Startbit für kommunikation rücksetzen
4. Änderung vorhanden? Dann zyklisch weiter
5. Eingangswort in Speicher kopieren
6. Startbit für kommunikation setzen
7. Bausteinaufruf des Kommunikationsbaustein
8. siehe Punkt 3.

Versuch das mal... und poste deine Zwischergebnisse, wenn du nicht weiter kommst!
 
Zurück
Oben