Подскажите, pls, как в CodeSys сделать подобное (из С):
#define BUFFER_SIZE 3
byte data[BUFFER_SIZE] ;
чтобы по всему проекту не иправлять константу, а только в одном месте.
Спасибо.
Подскажите, pls, как в CodeSys сделать подобное (из С):
#define BUFFER_SIZE 3
byte data[BUFFER_SIZE] ;
чтобы по всему проекту не иправлять константу, а только в одном месте.
Спасибо.
var constant
BUFFER_SIZE:INT:=3;
end_var
var
data:array [1..BUFFER_SIZE] of byte;
end_var
VAR CONSTANT <--Error 4024:Global_Variables(3): Expecting VAR_GLOBAL before 'VAR'
a:INT := 4;
b:INT := 2;
END_VAR
VAR_GLOBAL
Registers: ARRAY[1..a,1..b] OF WORD; (* Registers *)
END_VAR
спасибо. то, что надо.
FOR i:=1 TO 49 BY 1 DO
Analo_PT(
IN:= %IW8, (*далее %IW10,%IW12, %IW14 *)
K:= IW_K[i],
C:= IW_C[i],
OUT=> cur[i],
ERROR_LO=>Allocur[i].0 ,
ERROR_HI=> Alhi[i].0);
END_FOR;
Добрый день! Хочется уточнить по поводу констант. Интересно, но у меня локальные константы, почему-то обнуляются после сброса. Конечно глобальные константы выход, но еще свежи воспоминания об инкапсуляции и "высоком штиле". Может, что-то делаю не так?
FUNCTION_BLOCK fb
VAR CONSTANT
CONST_1: INT := 512;
CONST_2: INT := 15;
CONST_3: INT := 31;
END_VAR
После сброса все константы равны нулю. Заранее благодарен! ))
Доброго времени!
Возможно ли программировать в CodeSys, используя именованные биты, например, что-то вроде таких конструкций:
#define EP_ON DIM.0;
VAR
DIM:WORD;
EP_ON:BOOL;
END_VAR
//------------
EP_ON:=true;
(подразумевая, что значение true передастся в DIM.0 и что связка имён произойдёт на уровне компилятора?)
Основная идея - упаковать биты с человеческими названиями в биты внутри байта (слова).
Можете ещё поискать в справке
"bitaccess"