Skip to content

Алгоритм обработки устройств PING

Техническая детализация алгоритма обработки PING-устройств. Запуск выполняется из внутреннего модуля Конфигуратор диагностики; генерацию выполняет внешний модуль NetDevices.

РольМодуль / статья
Источник данныхNetSwitches.xls
Выбор и запускКонфигуратор диагностики
Выполнение алгоритмаNetDevices

Диагностика по PING применяется для устройств, которые не предоставляют статус через промышленные протоколы (SNMP, Modbus, Unet, OPC и т.д.). В проекте DevStudio создаётся модуль NetDiag2 для периодической отправки ICMP-запросов и записи результатов в статические сигналы сервера.

Исходные данные и результат генерации

Section titled “Исходные данные и результат генерации”
Описание
Исходные данныеСтрока экземпляра из NetSwitches.xls с OBJTYPENAME = NetDiag1 или NetDiag2
Исходные данныеМодель OBJTYPE из JSC\Conf\Models\ObjTypes\Diagnostic\Ping\
Результат генерацииОбъект в DevStudio ([Domain].[TAG]) с пустым APP и сетевыми адаптерами
Результат генерацииМодуль NetDiag2 в IOS, привязки к карте адресов (при включённой настройке)

Поля модели (NetName, NetName2, IP-октеты) — в DevStudio. Сеть и диагностика.

Внешний модуль NetDevices читает выбранные строки из NetSwitches.xls.

Пример файла NetSwitches.xls

Рисунок 1 — Пример файла NetSwitches.xls

2. Обработка модели OBJTYPE

Section titled “2. Обработка модели OBJTYPE”

По значению OBJTYPENAME загружается модель из каталога JSC\Conf\Models\ObjTypes\Diagnostic\Ping\ (NetDiag1 или NetDiag2).

Пример файла NetDiag2

Рисунок 2 — Пример файла NetDiag2

3. Определение типов объектов

Section titled “3. Определение типов объектов”

На листе NetDiag.opt модели OBJTYPE модуль находит пути к базовым типам:

  • DevStudioAppTypePath — остаётся пустым: устройство создаётся с пустым приложением и сетевыми адаптерами.
  • DevStudioIOSTypePath — путь к типу представления IOS (например, unit.CommonLib.Types.Diagnostic.NetDiag2.NetDiag1 для NetDiag1 или unit.CommonLib.Types.Diagnostic.NetDiag2.NetDiag2 для NetDiag2).

Лист NetDiag.opt из файла NetDiag2.xls

Рисунок 3 — Лист NetDiag.opt из файла NetDiag2.xls

4. Создание объекта устройства в DevStudio

Section titled “4. Создание объекта устройства в DevStudio”

Создаётся объект с именем [Domain].[TAG] (например, P0-80-030.P0-80-030-JF01-CA1001-PI002) — устройство с пустым APP и сетевыми адаптерами.

  • Настройка IP-адреса: сетевому интерфейсу присваивается IP из полей iTCPAddr_1iTCPAddr_4 (и при резервировании — iTCPAddr2_*).
  • Привязка к NetDiag: при включённой настройке «Привязать сигналы NetDiag в карте адресов» — см. Привязка к NetDiag.

Структура объекта NetDiag1_APP или NetDiag2_APP с настроенным IP-адресом

Рисунок 4 — Структура объекта NetDiag с настроенным IP-адресом

5. Создание модуля NetDiag2 в сервере ввода-вывода

Section titled “5. Создание модуля NetDiag2 в сервере ввода-вывода”

Независимо от OBJTYPENAME = NetDiag1 или NetDiag2, в приложении IOS_App сервера ([IosServer]) создаётся или настраивается модуль NetDiag2. Различие между NetDiag1 и NetDiag2 — только в DevStudioIOSTypePath (один или два сетевых адаптера).

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

Section titled “6. Привязка переменных к карте адресов”

После создания модуля NetDiag2 производится привязка переменных представления к карте адресов (статус ONLINE/OFFLINE, время отклика). В настройках модуля NetDiag2 прописывается путь к карте адресов.