День добрый.
Как проверить что переменная bool находиться в состоянии включена/выключена непрерывно определенное время?
попробовал в скрипте 1s делать проверку на состояние переменной и увеличивать счетчик i:=i+1; вывод i в поле не происходит, считает оно или нет как проверить, как определить проблема с кодом или проблема с выводом.
как при инициализации скрипта задать переменной начальное значение, а то у меня получаются значения при старте вида 101841769.
Contin_Pump_Operation_Count: Integer; // счетчик работы насоса
я могу где то в этой строке написать = 0?
Contin_Pump_Operation_Count: Integer; // счетчик работы насоса
begin
if in_3_1.Value = True Then
Contin_Pump_Operation_Count := Contin_Pump_Operation_Count + 1;
end.
будет ли этот код рабочим?
В инструкции, ниже, но при приведении типов Contin_Pump_Operation_Count.AsInt вылетает ошибка .Value тоже выдает ошибку. И ошибки не скопировать с редактора.
begin
Var_1.Value := Var_2.AsInt + Var_3.AsInt;
end.
Здравствуйте.
Как проверить что переменная bool находиться в состоянии включена/выключена непрерывно определенное время?
Для этого можно использовать описанный Вами способ. Только вместо локальной переменной скрипта нужно создать отдельную внутреннюю переменную в редакторе переменных (https://simple-scada.com/help/manual/variable-editor.html) и использовать ее. Почему нельзя использовать локальную переменную скрипта для организации таймеров или счетчиков и как инициализировать локальную переменную скрипта см. по ссылке (https://simple-scada.com/help/script/compilerchange.html)(Изменение 1). К примеру, если создать в редакторе переменных новую переменную с именем "Contin_Pump_Operation_Count", то скрипт будет таким:
begin
if in_3_1.AsBool = True then
Contin_Pump_Operation_Count.Value := Contin_Pump_Operation_Count.AsInt + 1;
end.
if in_3_1.Value = True Then
В этом условии есть ошибка - подробнее см. по ссылке (https://simple-scada.com/help/script/debugscripts.html?anchor=comptf). Исправленный скрипт см. выше.
В инструкции, ниже, но при приведении типов Contin_Pump_Operation_Count.AsInt вылетает ошибка .Value тоже выдает ошибку.
Для локальных переменных скрипта использовать приведение типов и свойство Value (https://simple-scada.com/help/script/varvalue.html) не требуется. Данные свойства применяются только для переменных, созданных через редактор переменных (https://simple-scada.com/help/manual/variable-editor.html).
Спасибо так работает.
Как задать переменные которые сохраняются в СКАДе ссылку на руководство. Константы из скрипта хочу перенести на экран, и сразу вопрос при изменении констант с экрана нужно ли перезапускать проект на сервере?
const
// ТРЕВОЖНЫЕ ИНТЕРВАЛЫ
Contin_Pump_Operation = 20*60; // таймер максимального времени работы насоса
Contin_Pump_Shutdown = 90*60; // таймер максимального отключенного состояния насоса
Water_Level_Lower = 4*60; // таймер нижнего уровня воды