2 Unterschiedliche FBs mit gleichem Instanznamen

SY50

Level-1
Beiträge
271
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, ich habe folgendes Anliegen... ich habe 2 FBs, welche mit eine Kommunikation zu einem Partner aufbauen.
Diese Beiden FBs haben unterschiedliche Protokolle... nun möchte ich es so aufbauen, dass ich die Möglichkeit habe durch Switchen eines Bits das Protokoll umzustellen.

Gibt es die Möglichkeit die 2 FBs mit gleichem Namen anzusprechen???

Wahrscheinlich leider nicht ;-)

Ich habe es im Moment so gelöst, dass ich die 2 FBs (Welche übrigens die exakt gleichen ein und Ausgangsdaten haben) in einem PRG aufrufe und an dem PRG 2 Eingänge zusätzlich habe... ein Eingang für Protokoll a aktiv und ein Eingang für Protokoll b aktiv... je nachdem rufe ich in dem Programm die entsprechende Instanz auf.

Hat jemand noch eine bessere Idee?

Danke
 
Nein - keine bessere Idee - höchstens eine Variante :
Du packst beide Protokolle in den gleiche FB und entscheidest über dessen IN-Beschaltung (das könnte ja ein Anwahl-Bool sein - wenn False dann Protokoll A und wenn True dan Protokoll B) was er zu tun hat.
So, wie du es beschreibst, wäre dann ja der Variablen-Haushalt des FB für beide Varianten gleich - lediglich müßte der Code unterschiedlich ablaufen ...

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Falls Du CoDeSys V3.x verwendest kannst Du das über Interfaces lösen.

Definiere ein Interface und lass beide FBs das Interface implementieren. Als Eingangstyp in deinem PRG nimmst Du den Interfacetyp entgegen. Dann kannst Du beliebige FB Instanzen mit dem gleichen Interface übergeben.
 
Danke, leider sind die FBs nicht von mir und sind in einer geschützten Libary :) werde es wohl dann erst mal so lassen.

Rein Interessehalber... wie funktioniert das denn bei Codesys 3.x mit den Interfaces?

Also wie würde ich jetzt meinen Baustein aufrufen?

Beide Bausteine haben 2 Eingänge vom TYP ARRAY[1..64] OF WORD
Diese eingänge werden im restlichen Programm beschrieben
 
Zuletzt bearbeitet:
Hallöchen.

Nimm doch zwei Programme und lass diese über ein Ereignis in der taskkonfiguration "aktivieren".
Dann sollte das funzen!

Flo
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich weiß ja nicht ob das bei Codesys ähnlich zu programmieren geht wie in S7, aber ich würde in einem FB die beiden Lib-FBs aufrufen, und das abhängig von einem Umschaltbit. Also Multiinstanzen anlegen.
 
Zurück
Oben