This is topic Опрос оборудования командой ping с помощью Trace mode in forum Пользователи для пользователей at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/50/t/000096.html

Posted by rudiyvv (Участник № / Member № 6459) on :
 
Здравствуйте, уважаемые читатели и писатели форума!
Хочу поделиться с вами одним из технических решений. Решение не претендует на высший бал, для некоторых оно может показаться простым и не заслуживающим описания, другим может быть полезно.
Существует задача проверять наличие сетевого оборудования (коммутатора в частном случае) в сети, при отсутствии ответа выдавать сообщение диспетчеру. Из Trace Mode можно к оборудованию обращаться по протоколу SNMP, но если этот протокол оборудованием мне поддерживается, остается команда ping. На языке Autoit пишется небольшой скрипт:

$timeout = Ping("192.168.0.1",1000)
$err = @error
$file = FileOpen("call_ping_1.dat", 2)
FileWriteLine($file, "A000 " & $timeout)
FileWriteLine($file, "A001 " & $err)
FileClose($file)

Затем этот скрипт можно скомпилировать в случае установленной программы autoit-v3-setup, получится exe файл программы.
Задача программы - записать в файл call_ping_1.dat значение таймаута ответа и код возвращаемой ошибки в случае отсутствия ответа.
Содержимое файла call_ping_1.dat после работы программы будет следующим:

A000 38
A001 0

Первая строка содержит время ответа устройства в мс, вторая - код ошибки.
Коды ошибок:
1 = хост в автономном режиме
2 = хост недостижим
3 = хост неверно указан
4 = другие ошибки
Чтобы передать эти данные в Trace mode, необходимо в IDE в узле создать канал call с именем call_ping с двумя аргументами, в МРВ для чтения данных послать 1 в атрибут 128 "read" канала. Данные передадутся в МРВ. Запуск скрипта - через канал call с типом вызова exec.
Нужно учесть следующие моменты:
- нужно подождать, пока отработает скрипт, а лишь затем считывать данные в МРВ.
- каждый вызов опроса приводит к перезаписи файла, поэтому нужно соблюдать баланс между быстродействием диагностики связи и ресурсами на чтение запись у оборудования.
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2