Доброго дня.
Пытаюсь адаптировать функцию из C для одновременной установки нескольких бит переменной типа uint16_t для Codesys v2.3 и языка ST (Pascal):
Текущая реализация для Codesys v2.3:
Код:
FUNCTION set_state_value_16b : WORD
VAR_INPUT
variable : POINTER TO WORD;
mask : WORD;
val : WORD;
END_VAR
VAR
END_VAR
void
Пример использования:
Код:
set_state_value_16b(ADR(ERR), 16#0001, 16#0);
, где ERR — это ярлык элемента подменю типа UINT в ПЛК63 (см. скриншот).
Не могли бы вы помочь привести функцию к рабочему виду?