Simple-Scada forum

Simple-Scada 2 => Ваши вопросы => Тема начата: Rolich от 27 Октября 2023, 15:54:37

Название: Контроль связи с устройством
Отправлено: Rolich от 27 Октября 2023, 15:54:37
Доброго всем времени суток
Подскажите, пожалуйста, как контролировать наличие связи с несколькими устройствами в локальной сети ?
Я так понял, что в скрипте "Старт проекта" нужно прописать что-то типа
StartPing('192.168.0.1',3000,device1), но будет ли это работать, есть device1 имеет тип boolean ?
Что нужно прописывать в скрипте по событию "Изменился пинг" ?
Спасибо
Название: Re: Контроль связи с устройством
Отправлено: Simple_Scada от 30 Октября 2023, 11:32:15
Здравствуйте.

Для контроля связи с ПЛК/устройством можно воспользоваться перечисленными по ссылке (https://simple-scada.com/help/script/comm-control.html) способами. Описание и примеры скриптов для процедуры "StartPing" можно найти в руководстве по ссылке (https://simple-scada.com/help/script/startping.html). Если результат пинга нужно записать в переменную, то см. пример по ссылке (https://simple-scada.com/help/script/startping.html?anchor=ping4).
Название: Re: Контроль связи с устройством
Отправлено: Rolich от 30 Октября 2023, 13:14:37
Добрый день
То есть, если разместить код
StartPing('10.11.12.1',2000,Ping1);
StartPing('10.11.12.2',2000,Ping2);
StartPing('10.11.12.3',2000,Ping3);
в скрипте "Старт проекта", то переменные Ping1..Ping3 будут принимать значение True при наличии ответа от узла и False при отсутствии ?
Или всё-таки нужно добавлять обработку этих переменных в скрипте "Изменился пинг", добавляя дополнительные переменные для контроля наличия связи ?
Название: Re: Контроль связи с устройством
Отправлено: Simple_Scada от 31 Октября 2023, 11:43:14
Цитировать
.. переменные Ping1..Ping3 будут принимать значение True при наличии ответа от узла и False при отсутствии ?
Требуемые значения в переменные Ping1..Ping3 нужно записывать в скрипте с типом события "Изменился пинг". Дополнительные переменные для этого создавать не требуется. Внимательно ознакомьтесь с примером по ссылке (https://simple-scada.com/help/script/startping.html?anchor=ping4) - в нем все подробно описано(см. первые два скрипта).
Название: Re: Контроль связи с устройством
Отправлено: Rolich от 31 Октября 2023, 15:58:51
Спасибо, всё получилось !
Название: Re: Контроль связи с устройством
Отправлено: Владимир Николаев от 27 Сентября 2024, 13:51:06
Здравствуйте. Помогите, пожалуйста с настройкой контроля связи с антенной.
Создал скрипт "Запуск проекта"
Код: (delphi)
begin
  { запускаем пинг хоста "10.0.6.100" с максимальным
    ожиданием ответа не более 3 сек. }
  StartPing('10.0.6.100', 3000);
end.

Далее создал скрипт "Изменился пинг",
Код: (delphi)
begin
  { выводим результат пинга в компонент "Text10" }
  if PingData.Result then
    Text10.Text := 'Хост ' + PingData.Host + ' доступен!'
  else
    Text10.Text := 'Хост ' + PingData.Host + ' не доступен!'
end.
Постоянно горит, что хост не доступен, хотя через командную строку всё пингуется. Во вложении скрины кода.
Подскажите, куда копать?
Название: Re: Контроль связи с устройством
Отправлено: Владимир Николаев от 28 Сентября 2024, 12:22:33
Продолжая копаться, обнаружил следующее, в демопроекте тоже не работает пинг. Попробовал запустить на другой машине, всё норм.
на первой машине стоит Win7 (там где не работает), на второй Win10(работает). Проблема только с пингом, остальной функционал работает, связь с контроллерами норм.
Во втором вложении ошибка, которая появляется после перезагрузки.
Название: Re: Контроль связи с устройством
Отправлено: Simple-Scada от 28 Сентября 2024, 19:43:31
Здравствуйте.
Для пинга скада использует стандартные ICMP-сообщения, как и утилита пинга в Windows. Видимо что-то на проблемном ПК ограничивает работу сервера скады с ICMP. Попробуйте временно отключить брандмауэр / файрвол и протестировать без них.
Название: Re: Контроль связи с устройством
Отправлено: Владимир Николаев от 01 Октября 2024, 16:02:27
Проверил 2 разные машины с WIN7, так и не пошло. На WIN10 проблем нет. Так решили проблемку установкой новой винды.