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

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

Автор Тема: Значение переменных при отключении установки от электричества.  (Прочитано 2981 раз)

torchinsky

  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Здравствуйте коллеги.

Помогите разобраться с ситуацией...

Дано:

1) Шнайдеровский контроллер (модель не помню, но какой то обычный) - помимо всей логики работы установки, так же является OPC сервером. Находится непосредственно возле "железа" и запитан электричеством от той же ветки ЛЭП.
2) Скада для визуализации процессов.

Что произошло:

На объекте периодически отключают электричество. Отключается именно установка с контроллером. Скада продолжает работать. Но у клиента происходит небольшая "паника", т.к. он видит что все показатели "горят" восклицательным знаком, но иконки вентиляторов продолжают вращаться (именно это их только и смущает :-\). (Короткое видео прилагаю)

Суть (тут будет многословно, извините  :-[):

После очередного такого отключения, поступил запрос на исправление ситуации с вентиляторами. Состояние вентиляторов передается в "запакованной" переменной, где определенный бит отвечает за состояние. У объекта TM_Image на событии "Изменилась переменная" висит скрипт :

Код
begin
if Sender is TM_Image then
    with Sender as TM_Image do
      if GetBit(AsInt, Tag) = TRUE then
      begin
          AnimSpeed := 20;
      end else
          begin
            AnimSpeed := 0;
          end;
end.

Первым делом, для решения проблемы было добавлено условие Variable.IsGoodQuality = TRUE в надежде что это решит проблему.

Но решил копнуть дальше и посмотреть на графики, и увидел оч странные данные.... Они на скриншотах.

Клиент утверждает, что, грубо говоря, с 11.00 и до 14.00 электричества не было. Но откуда тогда взялось значение в переменных? Тем более значения такие, что никак не могут быть в установке. На скриншоте с давлениями видны значения и признак плохого качества. Установка не могла выдавать такие значения, так как логика работы ПЛК аварийно выключит установку при таких значениях. Откуда они могли взяться? Тип архивации комбинированный для давлений и по времени для электроэнергии.

Собственно вопрос: как такие значения могли появиться или откуда они взялись, если ПЛК был выключен, а следовательно и OPC сервер, который встроен в ПЛК.

И дополнительный вопрос: я не уверен что проверка на качество исправит проблему с продолжением анимации вращения вентиляторов. Как мне можно определить факт того, что OPC "лег" и остановить анимацию? Думал воспользоваться пингом, но не увидел как мне найти в скриптах адрес OPC сервера. Жестко забивать его в скрипт не хочу, т.к. проект тиражируемый. 2 объекта уже работает и планируются еще (проект реализован при помощи функционала шаблонов). На каждом объекте от 1го до 4х контроллеров, в зависимости от размеров. И адреса разные. Понятно что визуал мне и так менять под каждый проект, но не хотелось бы в скрипты лезть каждый раз.

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1414
    • Просмотр профиля
Здравствуйте.

Цитировать
На скриншоте с давлениями видны значения и признак плохого качества. Установка не могла выдавать такие значения, так как логика работы ПЛК аварийно выключит установку при таких значениях. Откуда они могли взяться?
Значения внешних тегов поступают в скада-систему от OPC-сервера и без каких-либо преобразований архивируются в тренды. Скада-система это обычная скомпилированная программа, которая работает всегда одинаково. Она не может в произвольный момент времени сама по себе записывать какие-либо произвольные значения в случайные переменные, т.к. для этого нам пришлось бы написать такой алгоритм случайного присвоения значений. Если Вы видите какое-то значение в трендах, значит такое значение пришло с OPC-сервера. Откуда оно взялось на OPC-сервере, мы сказать не можем, вероятно в Вашем случае появление таких значении возможно при аварийных отключениях контроллера. Возможно, в момент отключения OPC-сервер успевает передать некорректные данные. Вы можете прислать нам для проверки на support@simple-scada.com папку с логами "..\Simple-Scada 2\Logs", возможно после проверки логов мы сможем дать более подробные комментарии.

Если нужно, чтобы при плохом качестве переменной анимация останавливалась, то измените скрипт следующим образом:
Код: (delphi)
begin
  if Sender is TM_Image then
    with Sender as TM_Image do
      if (GetBit(AsInt, Tag) = TRUE) and (Variable.IsGoodQuality = TRUE) then
        AnimSpeed := 20
      else
        AnimSpeed := 0;
end.
Цитировать
Как мне можно определить факт того, что OPC "лег" и остановить анимацию?
Для контроля связи можно использовать способы описанные по ссылке. Если использовать пинг, то в любом случае нужно в скрипте прописывать адрес контроллера, который нужно пинговать. Возможности получить IP-адрес OPC-сервера из скрипта нет.

Timothy Clement

  • Постоялец
  • ***
  • Сообщений: 166
  • ОАО Борисовский завод "Металлист"
    • Просмотр профиля
    • Полымя
Как мне можно определить факт того, что OPC "лег" и остановить анимацию?
Какой ОРС используете? В некоторых ОРС-серверах есть системные переменные которые позволяют отслеживать соединение с ПЛК

torchinsky

  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Какой ОРС используете? В некоторых ОРС-серверах есть системные переменные которые позволяют отслеживать соединение с ПЛК

Встроенный OPC сервер в контроллер Шнайдера.

torchinsky

  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Код: (delphi)
 (Variable.IsGoodQuality = TRUE)

Я так и сделал. Но не знаю, сработает ли событие изменилась переменная, если изменится "качество".

Логи отправлю. Я понимаю что скада точно ничего не модифицирует и из воздуха значения брать не будет. Вопрос был больше к Вашему и сообщества опыту. Потому что я не понимаю откуда могли взяться значения, если электричества небыло и контроллер с OPC не работал... Надеюсь посмотрев логи Вы сможете меня натолкнуть на путь истинный))

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1414
    • Просмотр профиля
Здравствуйте.

Комментарии по логам отправили Вам на почту.

Цитировать
сработает ли событие изменилась переменная, если изменится "качество".
Сработает.

torchinsky

  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Спасибо.

Задам еще вопрос, если позволите, не по теме, но создавать отдельную ветку не хочется)) Есть ли дальнейшие планы по развитию системы шаблонов? Помнится мне, говорилось о планах разработки шаблонов для графиков. Еще, лично мне, не хватает шаблона группы сообщений....В общем есть в планах дальнейшее развитие данной системы и чего нам можно ждать?
« Изменён: 15 Сентября 2021, 11:13:59 от Simple_Scada »

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1414
    • Просмотр профиля
Здравствуйте.

Добавление шаблонов трендов есть в планах, но каких-то сроков появления данного функционала, к сожалению пока назвать не можем. Добавление шаблонов группы сообщений не планируется.