Step 7 BIT in DB setzen

xXyYzZ

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

ich habe eine DB mit einer festen Struktur.

Code:
DB1.DBX 0.0    "DB_Austausch".sZiel_1.sSignal_1.boSignal_Wert
DB1.DBX 0.1    "DB_Austausch".sZiel_1.sSignal_1.boSignal_Aktiv
DB1.DBX 0.2    "DB_Austausch".sZiel_1.sSignal_1.boSignal_SimEIN
DB1.DBX 0.3    "DB_Austausch".sZiel_1.sSignal_1.boSignal_SimAUS


DB1.DBX 2.0    "DB_Austausch".sZiel_1.sSignal_2.boSignal_Wert
DB1.DBX 2.1    "DB_Austausch".sZiel_1.sSignal_2.boSignal_Aktiv
DB1.DBX 2.2    "DB_Austausch".sZiel_1.sSignal_2.boSignal_SimEIN
DB1.DBX 2.3    "DB_Austausch".sZiel_1.sSignal_2.boSignal_SimAUS


DB1.DBX 4.0    "DB_Austausch".sZiel_2.sSignal_1.boSignal_Wert
DB1.DBX 4.1    "DB_Austausch".sZiel_2.sSignal_1.boSignal_Aktiv
DB1.DBX 4.2    "DB_Austausch".sZiel_2.sSignal_1.boSignal_SimEIN
DB1.DBX 4.3    "DB_Austausch".sZiel_2.sSignal_1.boSignal_SimAUS


DB1.DBX 6.0    "DB_Austausch".sZiel_2.sSignal_2.boSignal_Wert
DB1.DBX 6.1    "DB_Austausch".sZiel_2.sSignal_2.boSignal_Aktiv
DB1.DBX 6.2    "DB_Austausch".sZiel_2.sSignal_2.boSignal_SimEIN
DB1.DBX 6.3    "DB_Austausch".sZiel_2.sSignal_2.boSignal_SimAUS


DB1.DBX 8.0    "DB_Austausch".sZiel_3.sSignal_1.boSignal_Wert
DB1.DBX 8.1    "DB_Austausch".sZiel_3.sSignal_1.boSignal_Aktiv
DB1.DBX 8.2    "DB_Austausch".sZiel_3.sSignal_1.boSignal_SimEIN
DB1.DBX 8.3    "DB_Austausch".sZiel_3.sSignal_1.boSignal_SimAUS


DB1.DBX10.0    "DB_Austausch".sZiel_3.sSignal_2.boSignal_Wert
DB1.DBX10.1    "DB_Austausch".sZiel_3.sSignal_2.boSignal_Aktiv
DB1.DBX10.2    "DB_Austausch".sZiel_3.sSignal_2.boSignal_SimEIN
DB1.DBX10.3    "DB_Austausch".sZiel_3.sSignal_2.boSignal_SimAUS


DB1.DBX12.0    "DB_Austausch".sZiel_4.sSignal_1.boSignal_Wert
DB1.DBX12.1    "DB_Austausch".sZiel_4.sSignal_1.boSignal_Aktiv
DB1.DBX12.2    "DB_Austausch".sZiel_4.sSignal_1.boSignal_SimEIN
DB1.DBX12.3    "DB_Austausch".sZiel_4.sSignal_1.boSignal_SimAUS


DB1.DBX14.0    "DB_Austausch".sZiel_4.sSignal_2.boSignal_Wert
DB1.DBX14.1    "DB_Austausch".sZiel_4.sSignal_2.boSignal_Aktiv
DB1.DBX14.2    "DB_Austausch".sZiel_4.sSignal_2.boSignal_SimEIN
DB1.DBX14.3    "DB_Austausch".sZiel_4.sSignal_2.boSignal_SimAUS

Die namen "sZiel_#" und "sSignal_#" sind nicht konstant und beinhalten auf der Anlage den Ziel- bzw. den Signalnamen.
Ich will, dass die Variable boSignal_Wert auf TRUE gesetzt wird, wenn boSignal_Aktiv oder boSignal_SimEIN auf TRUE ist bzw. auf FALSE geforct wird, wenn boSignal_SimAUS gesetzt ist.

Das ganze so, dass ich die Signalnamen nicht kennen muss. Ich vermute der zu wählende Weg ist der über POINTER und eine Schleife oder gibt es da was feineres?

Vielen Dank!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mit ein schleiffe wurde dass so:

Code:
AUF DB1
      TAR1  
      T     #ret_AR1                    //AR1 retten   (#ret_AR1 = TEMP DWORD)
      L     P#0.0
      LAR1  
      L     7
Lus:  T     #schleife                   //(#scheife = TEMP INT)
      U(    
      O     DBX [AR1,P#0.1]
      O     DBX [AR1,P#0.2]
      )     
      UN    DBX [AR1,P#0.3]
      =     DBX [AR1,P#0.0]
      L     P#2.0
      +AR1  
      L     #schleife
      LOOP  Lus
      L     #ret_AR1                    //AR1 rucksetzen
      LAR1

Gruss Joop
 
Zurück
Oben