-> Hier kostenlos registrieren
Hallo Forum,
ich habe einen Baustein FB1 programmiert. Dieser hat einen UDT-Eingang (vom Typ UDT1), an welchem ich die E-A/Adressen der Kommunikationsmodule (aus der HW-Konfig) des anzusteuernden Gerätes entgegennehme.
Als Variable für diesen UDT-Input habe ich eine Variable IO1, in einem globalen DB5, mit dem Datentyp des UDT1 deklariert und schreibe diese an den Eingang. Die Werte der E/A-Adressen übergebe ich vor dem Bausteinaufruf mittels Lade/Transfer im OB1.
Für ein Gerät funktioniert das ganze Prima, allerdings gibt es bei einem weiteren Gerät Probleme.
Dazu kopiere ich meinen FB1 zu FB2 und lass einen neune InstanzDB (DB2) erzeugen. Erstelle eine weitere Variable IO2 im globalen DB5 (ebenfalls vom Typ UDT1). Rufe im OB1 nach meinem FB1 den FB2 auf und übergebe die IO2 Variable an den UDT-Eingang von FB2. Die E/A-Adressen des zweiten Geräts übergebe ich ebenfalls mittels Lade/Transfer, vor dem Bausteinaufruf von FB2, in OB1.
Ich sehe auch in den jeweiligen instanz DB's, dass die aus OB1 zugewisenen E/A-Adressen für die beiden Geräte, korrekt übernommen worden sind.
Allerdings ist es jetzt egal, welchen Baustein (FB1 oder FB2) ich ansteuer. Trotz unterschiedliocher E/A-Adressen wird IMMER das gleiche Gerät angesteuert....



Dieses Verhalten erschließt sich mir in keinster Weise...
Mir ist nicht klar wo genau mein Fehler liegt?!
Ich vermute, es hat etwas mit dem UDT zu tun, aber was..hmmm
Gruß
Timeout
ich habe einen Baustein FB1 programmiert. Dieser hat einen UDT-Eingang (vom Typ UDT1), an welchem ich die E-A/Adressen der Kommunikationsmodule (aus der HW-Konfig) des anzusteuernden Gerätes entgegennehme.
Als Variable für diesen UDT-Input habe ich eine Variable IO1, in einem globalen DB5, mit dem Datentyp des UDT1 deklariert und schreibe diese an den Eingang. Die Werte der E/A-Adressen übergebe ich vor dem Bausteinaufruf mittels Lade/Transfer im OB1.
Für ein Gerät funktioniert das ganze Prima, allerdings gibt es bei einem weiteren Gerät Probleme.
Dazu kopiere ich meinen FB1 zu FB2 und lass einen neune InstanzDB (DB2) erzeugen. Erstelle eine weitere Variable IO2 im globalen DB5 (ebenfalls vom Typ UDT1). Rufe im OB1 nach meinem FB1 den FB2 auf und übergebe die IO2 Variable an den UDT-Eingang von FB2. Die E/A-Adressen des zweiten Geräts übergebe ich ebenfalls mittels Lade/Transfer, vor dem Bausteinaufruf von FB2, in OB1.
Ich sehe auch in den jeweiligen instanz DB's, dass die aus OB1 zugewisenen E/A-Adressen für die beiden Geräte, korrekt übernommen worden sind.
Allerdings ist es jetzt egal, welchen Baustein (FB1 oder FB2) ich ansteuer. Trotz unterschiedliocher E/A-Adressen wird IMMER das gleiche Gerät angesteuert....




Dieses Verhalten erschließt sich mir in keinster Weise...
Mir ist nicht klar wo genau mein Fehler liegt?!
Ich vermute, es hat etwas mit dem UDT zu tun, aber was..hmmm
Gruß
Timeout