
Сообщение от
kgsh82
Для уставки заведите переменные: значение с панели, значение со скады и значение для ПЛК. Если Значение с панели не равно значению для ПЛК, то значению для ПЛК и для скады присваивается значение с панели. И наоборот. Как то так...
Реально не получается у меня это реализовать:/
Есть панель мастер (по 232) и opc слэйв (по 485 gprs). Пишу
Код:
IF NOT strt_panel THEN
IF mm_day<>p_mm_day THEN
mm_day:=p_mm_day;
os_mm_day:=mm_day;
END_IF;
IF b_modemLine=3 THEN
bl2(ENABLE:=TRUE , TIMELOW:=T#30s , TIMEHIGH:=T#30s);
IF bl2.OUT THEN
comm2:=255;
IF mm_day<>is_mm_day THEN
mm_day:=is_mm_day;
p_mm_day:=mm_day;
END_IF;
os_mm_day:=mm_day;
ELSE
bl2(ENABLE:=FALSE , TIMELOW:=T#5s , TIMEHIGH:=T#5s);
comm2:=254;
END_IF;
END_IF;
END_IF;
Работает очень коряво, во время работы gprs нельзя поменять уставку с панели. Уже несколько вариантов пробовал, но прямо чтобы адекватная работа получилось - не выходит. Как правильнее это можно реализовать? Адреса mm_day, p_mm_day, os_mm_day и is_mm_day на последний вариант одинаковы.