Здравствуйте все!
Столкнулся с такой проблемой при программировании ПЛК-150. Есть дискретный выход MyDOut, описанный в разделе переменных PLC_PRG как MyDOut AT %Q*: BOOL.
В разделе VAR_CONFIG переменная связана с конкретным выходом PLC_PRG.MyDOut AT %QX1.0: BOOL.
Я создаю функциональный блок, который должен менять значение на этом выходе.
FUNCTION_BLOCK FB_ChangeOutValue
VAR_INPUT
value:BOOL;
END_VAR
VAR_IN_OUT
output:BOOL;
END_VAR
VAR
ptr_Output: POINTER TO BOOL;
END_VAR
Далее в теле ФБ пишу код:
ptr_Output:=ADR(output);
ptr_Output^:=value;
Соответственно в самой программе созается переменная ChangeOutValue: FB_ChangeOutValue;
И иcпользуется так: ChangeOutValue(MyDOut, true);
При компиляции вылетает ошибка Error 4060. Причем ошибка такая вылетает при компиляции с подключенным прибором. Если компилировать в режиме эмуляции, то всё нормально. В чем может быть подвох?