Эмулятор ProtoEMU
Эмулятор ProtoEMU - специализированное приложение для эмуляции устройств, работающих по протоколам Modbus-RTU, Modbus-TCP.
Эмулятор позволяет заменить реальные устройства, используемые в системах автоматизации, диспетчеризации или других, их виртуальными программными аналогами. Это позволяет повысить удобство и скорость разработки информационных и управляющих систем, взаимодействующих с оборудованием, а так же исключить необходимость отладки систем на объекте, используя действующие установки.
1 Возможности эмулятора
1.1 Основные
- Эмуляция физических входных и выходных сигналов.
- Эмуляция внутренних переменных, доступных через карту регистров.
- Ручное управление состоянием устройства с помощью различных виджетов.
- Автоматическое управление состоянием устройства с помощью встроенных программ и подпрограмм.
1.2 Протоколы
ProtoEMU поддерживает следующие протоколы обмена (транспорты) с реальными устройствами:
- Modbus-RTU в режимах ведущий и ведомый.
- Modbus-TCP в режимах ведущий и ведомый.
1.3 Визуализация
- Возможность создания нескольких экранов (форм) для визуализации состояния эмулируемого устройства.
- Разнообразные виджеты для отображения значений и управления состоянием эмулируемого устройства:
- Аналоговый индикатор.
- Цифровой индикатор.
- Кнопка.
1.4 Отладка
- Проверка корректности конфигурации виртуальных устройств.
- Просмотр значений параметров в ходе эмуляции.
- Ведение журналов событий, возникающих при работе эмулятора, в том числе журнала обмена с устройствами, включая весь трафик. Возможность фильтрации событий журнала "на лету".
1.5 Другие возможности
- Поддержка автоматической идентификации параметров регистров на основе файлов идентификаторов.
- Запись значений всех регистров в архив в течение сеанса эмуляции для последующего анализа и распечатки.
2 Принцип работы
Классическая схема устройства стенда, на котором производится отладка программного обеспечения, приведена на рисунке 1. В ней участвуют контроллер, модули ввода-вывода и подключаемые к ним датчики, исполнительные механизмы или их заменители (тумблеры, лампочки-индикаторы и т. д).
Применение эмулятора ProtoEMU позволяет максимально упростить устройство отладочного стенда и даже сделать его портативным!
Из первоначальной схемы в нем остается только контроллер с отлаживаемым программным обеспечением, к которому через преобразователь USB-RS485 подключается персональный компьютер с эмулятором (см. рисунок 2).
При использовании эмулятора не требуется адаптировать отлаживаемое ПО, чтобы оно работало с эмулятором. Для отлаживаемого ПО замена реального оборудования на эмулятор прозрачна.
Дополнительно к имитации реального оборудования эмулятор позволяет имитировать поведение реального оборудования с помощью встраиваемых в эмулятор алгоритмов: в ответ на установку контроллером определенных выходных сигналов эмулятор позволяет запрограммировать изменение значений других сигналов. С помощью такой функции можно автоматизировать и существенно ускорить проверку и отладку программного обеспечения контроллера.
3 Отладка с эмулятором
При использовании эмулятора процесс отладки выглядит следующим образом:
- контроллер производит обращение к модулям ввода-вывода по линии связи RS-485, которая подключена к эмулятору;
- эмулятор принимает запрос от контроллера и дает ответ, содержащий информацию о состоянии эмулируемых датчиков и исполнительных механизмов;
- при необходимости изменения состояний датчиков или исполнительных механизмов пользователь вводит эти изменения в эмулятор или эмулятор самостоятельно изменяет состояния с помощью заложенных алгоритмов.
4 Создание отладочного стенда и эмуляция оборудования
Для работы с эмулятором необходимо:
- Создать в эмуляторе новый проект.
- Добавить в проект транспорт нужного типа из перечня поддерживаемых.
- Добавить в транспорт на основе описания эмулируемого устройства набор нужных "источников" - узлов проекта, содержащих передаваемые контроллером значения. Например, для транспортов типа Modbus, источниками являются регистры Modbus.
- Добавить в проект форму, на которой разместить виджеты, отображающие значения источников и позволяющие управлять их значениями.
На этом этапе создания проекта уже можно в ручном режиме управлять состоянием "виртуального" устройства с помощью виджетов.
Далее можно реализовать в проекте функции автоматического управления состоянием виртуального устройства с помощью набора алгоритмов - программ и обработчиков событий в виджетах.
Виртуальное устройство с помощью алгоритмов способно самостоятельно менять свое состояние в зависимости от внешних воздействий.