Hi all,
bevor ich nun den Testbetrieb verlasse und "produktiv" werde, möchte ich Euch mein aktuelles Konzept nochmal zur Diskussion stellen, weil ich doch noch einige Unsicherheiten habe:
node-red verfolge ich als Visu-Ersatz nicht weiter sondern werde für die neue Visu und alles was nicht "SPS-geeignete" Verarbeitung ist, eine Modbus-Kopplung zwischen meiner 889 und einem raspi mit
codesys v3 runtime machen. node-red kommt für die nicht "SPS-geeignete" Verarbeitung zum Einsatz also z.B. für die Steuerung eines Yamaha-AVR.
Nun zu Modbus:
Für die Visu benötige ich natürlich zunächst die aktuellen Zustände, die kann ich mir direkt von den physischen DO's holen.
Damit entfiele "Umfüllen" nach PFC-OUT - richtig? Sind demnach PFC-OUT nur für Variablen vorgesehen, die kein physisches OUT haben?
Die Abfrage vom raspi mache ich mit FC1 mit Länge 160, damit habe ich alle phys. DO's erschlagen und spare mir "Umfüllen" von Bools in Words - richtig so?
Die Bedienbefehle vom raspi->889 mache ich per PFC-IN, indem ich meine vorhandenen "xVisuDI's" auf PFC-IN in einer neuen GVL mappe.
Dafür muß ich dann allerdings sämtliche VisuVar's aus den PRG und FB in eine GVL bringen (habe bisher nur die global, die von mehreren PRG/FB genutzt werden).
Die VisuVar's schicke ich dann vom raspi per FC5 ebenfalls alle auf einmal zur 889. Ist das korrekt und sinvoll so?
Offen sind "nicht-BOOL"-Vars:
Ich habe den Wago-scheduler mehrfach im Einsatz, der arbeitet mit einer VAR_INOUT vom "TYPE typSchedule":
Anhang anzeigen 46775 und darin gibt es "TYPE typScheduleWeekly":
Anhang anzeigen 46776deren Werte ich in der Visu ein-/ausgebe.
Die Visu dazu ist eine Visu-Vorlage aus dem Wago-Anwendungshinweis, die ich mit Platzhalter und Ersetzung für meine unterschiedlichen Timer in die bisherige Visu eingebunden habe.
Wie bekomme ich so ein Platzhalter/Ersetzungskonstrukt nach Modbus?
Ich denke, dazu müsste ich mit MerkerVars für In-/OUT arbeiten aber wie bekomme ich die TYPE/STRU's nach Modbus?
Eine ähnliche Baustelle ist für mich die KNX-Heizugssteuerung. Dort arbeite ich aber nur mit Byte/Int und Real, mein Ansatz wäre diese ggf. in Word umgefüllt per Merker zu transportieren.
Für einen Zisternenfüllstand habe ich eine analoge Klemme mit einem Word, daß ich wieder direkt physikalisch abgreifen könnte (nur lesen).
Für die Bedienung von Rollos und Dimmern unterscheide ich zwischen kurzem und langem Tasten sowohl bei den xDI's als auch den xVisuDI's.
Dafür verwende ich den FB_kurzlang aus der Wago Gebaeude_allgemein.lib
Wie teile ich dem per Modbus einen langen Tastendruck mit?
Letzte Grundsatzfrage:
Das Ganze mache ich um:
-Die 889 von der Visu zu entlasten
-Die Visu per Codesys V3 unabhängig von Java wieder im aktuellen browser zu haben.
Kann ich erwarten, daß die neue abgesetzte Visu per Modbus mindestens genauso schnell ist wie bisher auf der 889?
(Der raspi hängt im LAN am gleichen giga-swich wie die 889 oder sollte ich den raspi direkt auf die 2. Ethernet Schnitstelle vom 889 z.B. mit gekreuztem patch-Kabel hängen?
Wie sollte ich den Modbus/Visu-Task auf dem raspi timen (z.B. freilaufend?)
Soweit ich das sehe, gibt es auf der 889 keine Einstellmöglichkeit für einen Modbus-task als slave/server - richtig?
Vielen Dank für Eure Hilfe und ein schönes WE