Перейти к содержанию

ОБЬ

Fast Start лифтовое оборудование "Обь" + SCADA

1. Серверный проект

Драйвер

Обмен с диспетчерским комплексом «Обь» может выполняться по Modbus TCP или Modbus RTU. Выбор транспорта не влияет на карту регистров устройства.

В текущем проекте используется драйвер Modbus TCP Network.

Документация по настройке драйвера

Важно! Используем вторую версию драйвера.

Документация ЛКДС "Обь\"

SCADA-теги

Правило именования SCADA-тегов

Имена SCADA-тегов формируются по следующему шаблону:

<Имя тега> <Номер лифта>

Где:

  • <Имя тега> - функциональное наименование тега;

  • <Номер лифта> - порядковый номер лифта;

  • между именем тега и номером лифта ставится один пробел.

Если имя тега не будет соответствовать этому правилу, то скрипты могут работать некорректно.

Использование Битовой и Байтовой маски в SCADA-тегах (В разработке)

У большинства тегов используется настройка Использовать маску. Эта настройка нужна для получения значения только определенного бита или байта регистра.

Скрипты

GlobVars - главный конфигурационный файл. Содержит глобальные переменные, необходимые для работы всех скриптов. Обязательно укажите количество лифтов в переменной ELEV_COUNT

ObErrors - собраны все возможные ошибки всех лифтовых блоков в один объект. Почти все они закомментированы, кроме ошибок для ЛБ 087. Оставьте ошибки тех устройств, которые используются у вас в проекте, остальные удалите.

Utils - вспомогательные функции.

Subscriptions - Управление подписками на изменения тегов.

Main - Основной модуль обработки событий системы

ParseRegisters - Модуль с функциями обработки данных из регистров.

Состояние устройств на шине CAN

Подробная информация о структуре и содержимом регистров устройств приведена в

ОПИСАНИЕ РЕГИСТРОВ MODBUS СОСТОЯНИЙ УСТРОЙСТВ НА ШИНЕ CAN

Обратите внимание на то, что у каждого типа устройств будет свой диапазон адресов.

Добавление тегов для устройства на шине.

У всех устройств есть как одинаковые теги для отслеживания их состояния, так и уникальные для каждого устройства.

Одинаковые для всех устройств

После добавления этих тегов нужно в скриптах подписаться на их изменение. Для этого добавьте их в скрипт Subscriptions подобным образом/

Изменения этих тегов будут отлавливаться следующими функциями в скрипте Main

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

Находим это устройство в объекте g_o01BitMaps в скрипте GlobVars и добавляем теги с именами из текущего объекта.

В конце имени каждого тега добавляем "<Адрес устр-ва на шине> <Номер лифта в проекте>"

Делаем тоже самое для объектов g_o02BitMaps и g_o03BitMaps.

Данные из "+00h Статус данных и тип устройства №_36 1" парсятся в "Статус данных устройства_36 1" и "Тип устройства_36 1".

Данные из "+04-05h Версия программы устройства №_36 1" парсятся в "Версия программы устройства №_36 1".

В итоге получится следующий список тегов

2. Панельный проект

Структура проекта

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

При нажатии на область ярлыка приложение открывает страницу с подробной информацией о лифтах данного дома.

События в журналах создаются скриптом при возникновении события, на которое мы подписаны. Теги перечислены в объекте g_oEventItems в скрипте ObConfig. Имена тегов указаны без номера лифта в конце!

При возникновении события из данного объекта будут добавляться записи на журнал событий дома на попапе Дом и в журнал лифта на попапе лифта.

Лифты двигаются на схеме благодаря скрипту. При появлении нового вызова, скрипт его регистрирует и включает точку на соответствующем этаже.

При изменении тега Текущий этаж кабина лифта меняет свое положение. За это отвечает функция updateLiftPosition в скрипте ObGUI.

3. Скрипты

DateTime - Модуль для работы с датой и временем

Elevators - Класс для эмуляции работы лифтов (2, 3, 4).

Main - Главный модуль инициализации и обработки событий

ObConfig - Файл конфигурации

ObEvents - Модуль обработки событий

ObGUI - Модуль управления графическим интерфейсом

Utils - Вспомогательные утилиты