Simple-Scada forum

Simple-Scada 2 => Ваши вопросы => Тема начата: razorqhex от 28 Октября 2019, 18:27:43

Название: Ответ от платы на скаду
Отправлено: razorqhex от 28 Октября 2019, 18:27:43
Всем привет

Задача состоит в том, что я проверяю на связи плата (скада общается с ней) или нет.
Есть определённый тег на ОРС сервере типа bool и он по умолчанию false. Это значит, что плата на связи. Значение true - плата обесточена, связи с платой нет.

Каждую секунду скада отправляет значение true и есть этот тег в течении 10-ти секунд не изменил свой статус в false значит нету связи с платой. Соответственно выводятся сообщения о том, что потеря связи и наоборот связь есть.

Накидал код, но не работает он должным образом и прошу вашей поправки в моих ошибках.
Скрипт работает по событию "Прошла секунда"

Код: (delphi)
begin
  if InterfaceModule_disconnect_flag.Value = FALSE then
  begin
    InterfaceModule_disconnect_flag.Value := TRUE;
  end else begin if InterfaceModule_disconnect_flag.Value = FALSE then
  begin
    InterfaceModuleTimerCheckState.Value := 0;
    vrMsgDisconnect.Value := TRUE;
    if vrMsgConnect.Value = TRUE then
    begin
      AddMessage(Now, mkMessage, 'Зв''язок з інтерфейсним модулем відновлено', true, false);
      vrMsgConnect.Value := FALSE;
    end;
  end else
  begin
    InterfaceModuleTimerCheckState.Value := InterfaceModuleTimerCheckState.Value + 1; //Накопление 10-ти секунд
    if InterfaceModuleTimerCheckState.Value >= 10 then
    begin
    vrMsgConnect.Value := TRUE;
    if vrMsgDisconnect.Value = TRUE then
    begin
      AddMessage(Now, mkAlarm, 'Втрата зв''язку з інтерфейсним модулем', true, true);
      vrMsgDisconnect.Value := FALSE;
    end;
    end;
    end;
  end;
end.

InterfaceModule_disconnect_flag - тег с ОРС который я мониторю на связи плата или нет
InterfaceModuleTimerCheckState - внутренний тег для подсчёта 10-ти секунд
vrMsgConnect и vrMsgDisconnect - внутренние теги, они же флаги, для того чтобы не было сразу сообщений о том, что плата на связи или обесточена.
Название: Re: Ответ от платы на скаду
Отправлено: Simple_Scada от 29 Октября 2019, 09:48:26
Здравствуйте.

Пример скрипта контроля связи доступен в руководстве по ссылке (https://simple-scada.com/help/script/comm-control.html).