Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Автор Тема: Ответ от платы на скаду  (Прочитано 1937 раз)

razorqhex

  • Пользователь
  • **
  • Сообщений: 79
    • Просмотр профиля
Ответ от платы на скаду
« : 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 - внутренние теги, они же флаги, для того чтобы не было сразу сообщений о том, что плата на связи или обесточена.
« Изменён: 28 Октября 2019, 19:34:02 от Simple-Scada »

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1408
    • Просмотр профиля
Re: Ответ от платы на скаду
« Ответ #1 : 29 Октября 2019, 09:48:26 »
Здравствуйте.

Пример скрипта контроля связи доступен в руководстве по ссылке.