Здравствуйте!
Судя по руководству на модуль МВ110-220-16Д (https://new.owen.ru/uploads/38/re_mv110-x.16d_dn__m01__2632.pdf?_ga=2.130806348.2133031590.1532004231-1705498436.1531810223) Вы можете подключить к нему счетчик ВСТ-100 и затем, например считывать кол-во импульсов посчитанных дискретным входом. Для вывода в скаду, можно пересчитывать кол-во импульсов в литры. К примеру, если на 1 импульс приходится 100 л., то можно создать скрипт с типом события "Изменились переменные (https://simple-scada.com/help/script/changed-the-variables.html)", добавить в него переменную счетчика импульсов(пример создания скрипта по изменению переменных можно найти здесь (https://simple-scada.com/help/script/changemulvar.html)) и написать скрипт:
begin
MyVar.Value := vrCount.Value * 100;
end.
, где vrCount - это переменная счетчика импульсов, MyVar - рассчетная переменная в литрах, которая будет использоваться в скаде.
Сделал все как в примере. при изменении переменной ничего не происходит. но если переменную добавить в свойства поля то он начинает считать и при этом я ничего не изменяю в переменной.
begin
Field1.Value := Var1.Value + 100
end.
Сделал все как в примере. при изменении переменной ничего не происходит. но если переменную добавить в свойства поля то он начинает считать и при этом я ничего не изменяю в переменной.
begin
Field1.Value := Var1.Value + 100
end.
Вы создали замкнутый на себя бесконечный цикл. Первоначальный запуск происходит по изменению переменной Var1. Далее меняется значение Var1 на + 100, так как вы ее привязали к полю Field1. Поскольку значение Var1 изменилось, срабатывает скрипт по изменению Var1 и так до бесконечности.
Вам нужно создать в редакторе переменных три переменные.
Var1 - ваша переменная привязанная ко входу контроллера. Тип Boolean
vrCount - виртуальная переменная, которая будет содержать кол-во подсчитанных импульсов со счетчика
vrLiters - виртуальная переменная, которая будет преобразовывать кол-во подсчитанных импульсов в литры для отображения в поле.
Создаете поле и присваиваете ему переменную vrLiters.
И создаете 1 скрипт по изменению переменной для переменной Var1
begin
if var1.AsBool = true then
vrCount.Value := vrCount.AsInt + 1;
vrLiters. Value := vrCount.AsInt * 100;
end.
В тесте роль входа контроллера играла кнопка.
Создаете кнопку. В ее свойствах выбираете тип - Без фиксации. Далее переходите на события. Выбираете событие OnClick (оно вызывается всякий раз, когда вы нажимаете на данную кнопку). И там прописываете сброс переменной vrCount
begin
vrCount.Value := 0;
end.
Для красоты можете зайти в свойствах кнопки в ее состояния и изменить в поле Текст надпись на кнопке Включить/Выключить на Сброс.