PDA

Просмотр полной версии : ПЛК154+ОРС



Никола Казанский
21.06.2011, 15:26
Переменные из ПЛК в ОРС передаются, а обратно-нет. Т.е. из ОРС-клиента меняю значение переменной, на порту вижу попытку записи в ПЛК, но в ПЛК она не меняется. Однако Кодесисом в конфигурации ПЛК из онлайна поменять вручную можно. Где косяк?

Николаев Андрей
21.06.2011, 17:34
Косяк может быть в двух местах:
Либо записываете переменную, которая не может менятся, например дискретный вход.
Либо где то в программе Вы этой переменной присваиваете другое значение. Цикл очень маленький и глазу двойное присвоение не заметно.

Никола Казанский
21.06.2011, 18:26
То есть переменная типа BOOL не передается? Надо что то типа REAL?
ОК, завтра проект выложу.

Николаев Андрей
21.06.2011, 23:57
Не путайте тип переменной с её назначением. Значение в REAL переменную, привязанную к аналоговому входу тоже записать нельзя.

Никола Казанский
22.06.2011, 09:23
Вот проект.
Интересуют переменные ALARM_RESET и LINE_RESET
В другом варианте проекта добавил две переменные ALARM_RESET1 и LINE_RESET1 типа REAL, которые прописаны в ОРС, а в POU добавил условия:
IF ALARM_RESET1=0 THEN
ALARM_RESET:=0;
ELSE
ALARM_RESET:=1;
END_IF;
IF LINE_RESET1=0 THEN
LINE_RESET:=0;
ELSE
LINE_RESET:=1;
END_IF;

Переменные ALARM_RESET и LINE_RESET типа BOOL управляют входами триггеров в POU

Правильно?

Никола Казанский
22.06.2011, 10:50
Ура! Получилось!
А где про Это почитать?