Frage zu Codesys mit einer Wago 750-889 und KNX

prozanko

Level-1
Beiträge
43
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ist es möglich die KNX Bausteine (rot in Bild markiert) auch in anderen Programmbausteinen einzufügen? Würde gerne die markierten FbDPT_Switch Bausteine in das Leinwand Programm einfügen. Oder müssen alle Bausteine, die als Schnittstelle zwischen Codesys und KNX Bus dienen, sich im Programm befinden wo auch der KNX_IP_Master Baustein ist?

Grüße
 

Anhänge

  • wagok.jpg
    wagok.jpg
    331,2 KB · Aufrufe: 63
Die Bausteine müssen im selben Zyklus aufgerufen werden - ich würd die an dieser Stelle lassen.

Den FB selber brauchst Du doch nicht - arbeite mit den Variablen.
 
Nein, warum?
Du hast einen definierten Platz, an dem alle KNX Übergaben stattfinden und musst sie ggfs. nicht querbeet suchen.
Die Variablen kannst Du überall und mehrfach verarbeiten, anstatt des unhandlicheren FB.
 
Die Variablen kannst Du überall und mehrfach verarbeiten, anstatt des unhandlicheren FB.
Direkt mehrfach verarbeiten aber bitte nur Eingangsvariablen. Ausgangsvariablen sollten nur an einer Stelle geschrieben/gesetzt werden, sollen mehrere Funktionen/FBs/Programme eine Variable setzen sollte eine entsprechende Logik dazwischengeschaltet werden.
 
Konkurrierende Schreibzugriffe auf Prozessausgangsbilder sind immer problematisch, da es zu inkonsistenten Anlagenzuständen kommen kann.
Manche Programmiersysteme lassen sowas deshalb auch gar nicht erst zu.

Nicht alles, was technisch möglich wäre, sollte, darf man machen oder empfiehlt sich - deswegen die eher harschere Formulierung mit Hinweis auf evtl. Folgen ;)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Damit ich in anderen Programmbausteinen auf die Variablen zugreifen kann muss ich alle Variablen die sich in den PRG_KNX_IP_Controller Programm befinden in globale Variablen einfügen oder? Oder gibt es noch eine einfache Möglichkeit auf diese dann zuzugreifen?

Grüße
 
So ist es u. deklarieren müsstest Du sie sowieso.
Vorteil - schön zusammengefasst u. übersichtlich an einer zentralen Stelle.
 
Ich mach es mit den Dali Bausteinen auch so. Alle FB, s für Dali in nem seperaten Task und die individuelle Logik des Projektes dann in verschiedenen Programmen und Tasks über globale Variablen übergeben. Das hat den Vorteil das du alles was eng miteinander verzahnt ist, im PRG oder FB sauber beieinander hast. Die Übergabe über globale Variablen ist natürlich aufwendiger aber kann gut lesbar programmiert werden.
Ich denke wenn man es so macht, ist es nicht schlecht.
 
Zurück
Oben