Добрый день! Прошу помочь разобраться в следующем:
Исходные данные:
1) Lectus выступает мастером;
2) есть SQL-переменная (SQL_speed), которая раз в 5 секунд связывается с БД, по считыванию которой происходит отработка записи в составную переменную (boof_speed);
при записи данной переменной происходит сброс соответствующего значения в БД на 0;
3) в составной переменной имеется следующий скрипт при записи:
IF (Item(SQL_speed)>0) THEN
{Item(speed):=Item(boof_speed);
Item(SQL_speed):=0;
Item(boof_speed):=0;}
END.
4) speed - это modbus переменная, которую необходимо отправлять в ПЛК в том случае, если считанная с БД переменная больше нуля.
Проблема:
Столкнулась со следующим: скрипт составной переменной отрабатывает даже в случае, когда SQL_speed=0. Причем Item(boof_speed) не обнуляется при любом значении SQL-переменной. Что я делаю не так?
Скрипт составной переменной
Re: Скрипт составной переменной
В силу особенностей скриптового движка он не работает ожидаемым способом для IF THEN конструкции.
Используйте составную переменную только для вычисления значения на основе другой переменной.
Различную логику лучше реализовывать на стороне OPC клиента (SCADA системы).
Используйте составную переменную только для вычисления значения на основе другой переменной.
Различную логику лучше реализовывать на стороне OPC клиента (SCADA системы).
Re: Скрипт составной переменной
Спасибо за ответ! В таком случае возникает следующий вопрос: есть связь между Lectus и БД. Инициатором в данный момент выступает Lectus (SELECT * FROM и т.д.). А может ли эта связь работать в двух направлениях? Т.е. как с БД (или SCADA) можно передать значение в Lectus (чтобы инициатором была БД).
Re: Скрипт составной переменной
К сожалению - нет.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя