Word_to_block_db

hoT

Level-1
Beiträge
109
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
hi,

ich möchte gerne einen Boolschen Wert in einem Array innerhalb eines DB ansprechen und auf "1" setzen

Am Bausteineingang soll extern die DB-Nr eingetragen werden. Die Bitadresse soll innerhalb des SCL-Bausteines angegeben werden.

Wenn der der Boolsche Eingang 1 ist soll Adresse 19.1 innerhalb des ARRAYs auf 1 gesetzt werden.

Beim Übersetzten meckert er immer über das Array...

WORD_TO_BLOCK_DB(DB_No).DW[19.1])

Kann mir jemand helfen?
 
.DW[19.1]

DW steht doch für Datenwort, 19.1 ist aber eine Bit-Adresse
Schau mal in der Hilfe nach, bin nicht sicher ob das DX heissen müsste
 
INT_TO_BOOL(WORD_TO_INT(WORD_TO_BLOCK_DB(45).DX[19,1])) := test_bool;

Ich möchte von test_bool einen Wert in den DB45 schreiben. Bekomme aber Fehlermeldung das ein Operat fehlt...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Code:
INT_TO_BOOL(WORD_TO_INT(WORD_TO_BLOCK_DB(45).DX[19,1])) := test_bool;

Der Typecast Opeartor Int_to_bool ist da völlig falsch am Platz, du kannst nur den Wert rechts vom zuordnungsoperator :)=) casten.

Code:
WORD_TO_BLOCK_DB(45).DX[19,1] := test_bool;
 
Musst ev. 45 im Word-format schreiben

16#2D oder w#16#2D

also:
Code:
WORD_TO_BLOCK_DB(16#2D).DX[19,1] := test_bool;

oder so:
Code:
[code]WORD_TO_BLOCK_DB(INT_TO_WORD(45)).DX[19,1] := test_bool;
[/code]
 
Zuletzt bearbeitet:
Zurück
Oben