Вопрос по доступу к битам в WORD в SCL
Вопрос по доступу к битам в WORD в SCL
Здравствуйте,
Изучаю ТИА Портал v13, и стал вопрос.
Например, в CodeSys доступ к биту переменной (тип WORD)такой
описание:
test:word;
в самом коде
test.0:=true; (нулевому биту переменной test присваиваем лог единицу)
Как такое провернуть в ТИА Портале?????
Полчитал доки можно вроде использовать UDT, но в скаду мне всеравно нужно пихать WORD......
Изучаю ТИА Портал v13, и стал вопрос.
Например, в CodeSys доступ к биту переменной (тип WORD)такой
описание:
test:word;
в самом коде
test.0:=true; (нулевому биту переменной test присваиваем лог единицу)
Как такое провернуть в ТИА Портале?????
Полчитал доки можно вроде использовать UDT, но в скаду мне всеравно нужно пихать WORD......
Re: Вопрос по доступу к битам в WORD в SCL
СПС, видел этот документ, но насколько я понял так нельзя как я хочу, без использования DB????
Re: Вопрос по доступу к битам в WORD в SCL
Предлагают такой способ:
Code: Select all
VAR_TEMP
tiINT : INT; //Integer value
tINT AT tiINT : STRUCT //For individual bit access
b08: BOOL ;
b09 : BOOL ;
b10 : BOOL ;
b11 : BOOL ;
b12 : BOOL ;
b13 : BOOL ;
b14 : BOOL ;
b15 : BOOL ;
b00 : BOOL ;
b01 : BOOL ;
b02 : BOOL ;
b03 : BOOL ;
b04 : BOOL ;
b05 : BOOL ;
b06 : BOOL ;
b07 : BOOL ;
END_STRUCT;
END_VAR
BEGIN
tiINT := <whatever integer your are looking at>;
tbXX := tINT.b04; //Fetch bit 04 in the integer
...
Или маски + преобразования типов (на примере 13-го бита):
Code: Select all
VAR
Value:INT;
B13:BOOL;
END_VAR
BEGIN
IF B13=TRUE THEN
Value:= WORD_TO_INT(INT_TO_WORD(Value)OR W#2#0010_0000_0000_0000);
ELSE
Value:= WORD_TO_INT(INT_TO_WORD(Value)AND W#2#1101_1111_1111_1111);
END_IF;
Re: Вопрос по доступу к битам в WORD в SCL
всё проще:
Code: Select all
#int_out.%X0 := #bool_in;
Re: Вопрос по доступу к битам в WORD в SCL
Code: Select all
#test.%X0 := true;
Re: Вопрос по доступу к битам в WORD в SCL
ну так надо говорить что проц 3хх,4хх.
тогда как в топиках выше или по абсолютному адресу.
тогда как в топиках выше или по абсолютному адресу.
Re: Вопрос по доступу к битам в WORD в SCL
СПС всем за ответы, буду пробовать UDT...