Эмулятор ProtoEMU: различия между версиями

Материал из docs.kb-agava.ru
Перейти к навигации Перейти к поиску
(Новая страница: «Эмулятор ProtoEMU - специализированное приложение для эмуляции устройств, работающих по про...»)
 
Строка 19: Строка 19:
  
 
== Принцип работы ==
 
== Принцип работы ==
 +
[[Файл:AgavaEMU3-Схема отладки ПО контроллера.png|мини|Рис. 1 Схема стенда для отладки ПО]]
 +
Классическая схема устройства стенда, на котором производится отладка программного обеспечения, приведена на рисунке 1. В ней участвуют контроллер, модули ввода-вывода и подключаемые к ним датчики, исполнительные механизмы или их заменители (тумблеры, лампочки-индикаторы и т. д).
 +
[[Файл:AgavaEMU3-Схема отладки ПО контроллера с эмулятором.png|мини|Рис. 2 Схема стенда с эмулятором для отладки ПО с подключением по RS-485]]
 +
Применение эмулятора ProtoEMU позволяет максимально упростить устройство отладочного стенда и даже сделать его портативным! Из первоначальной схемы в нем остается только контроллер с отлаживаемым программным обеспечением, к которому через преобразователь USB-RS485 подключается персональный компьютер с эмулятором (см. рисунок 2). При использовании эмулятора не требуется адаптировать отлаживаемое ПО, чтобы оно работало с эмулятором. Для отлаживаемого ПО замена реального оборудования на эмулятор прозрачна.
 +
 +
Дополнительно к имитации реального оборудования эмулятор позволяет имитировать поведение реального оборудования с помощью встраиваемых в эмулятор алгоритмов: в ответ на установку контроллером определенных выходных сигналов эмулятор позволяет запрограммировать изменение значений других сигналов. С помощью такой функции можно автоматизировать и существенно ускорить проверку и отладку программного обеспечения контроллера.
 +
 +
=== Отладка с эмулятором ===
 +
При использовании эмулятора процесс отладки выглядит следующим образом:
 +
 +
* контроллер производит обращение к модулям ввода-вывода по линии связи RS-485, которая подключена к эмулятору;
 +
* эмулятор принимает запрос от контроллера и дает ответ, содержащий информацию о состоянии эмулируемых датчиков и исполнительных механизмов;
 +
* при необходимости изменения состояний датчиков или исполнительных механизмов пользователь вводит эти изменения в эмулятор или эмулятор самостоятельно изменяет состояния с помощью заложенных алгоритмов.
 +
 +
=== Создание отладочного стенда и эмуляция оборудования ===
 
Для работы с эмулятором необходимо:
 
Для работы с эмулятором необходимо:
  
# Составить карту регистров на основе описания регистров эмулируемого устройства. После составления карты уже можно в ручном режиме управлять состоянием "виртуального" устройства с помощью виджетов.
+
# Создать в эмуляторе новый проект.
# Разработать набор алгоритмов, автоматически управляющих состоянием виртуального устройства. Виртуальное устройство с помощью алгоритмов способно самостоятельно менять свое состояние в зависимости от внешних воздействий.
+
# Добавить в проект транспорт нужного типа из перечня поддерживаемых.
 +
# Добавить в транспорт на основе описания регистров эмулируемого устройства набор нужных "источников" - узлов проекта, содержащих передаваемые контроллером значения. Например, для транспортов типа Modbus, источниками являются регистры Modbus.
 +
# Добавить в проект форму, на которой разместить виджеты, отображающие значения источников и позволяющие управлять их значениями.  
 +
 
 +
На этом этапе создания проекта уже можно в ручном режиме управлять состоянием "виртуального" устройства с помощью виджетов.
 +
 
 +
Далее можно реализовать в проекте функции автоматического управления состоянием виртуального устройства с помощью набора алгоритмов - программ и обработчиков событий в виджетах.  
 +
 
 +
Виртуальное устройство с помощью алгоритмов способно самостоятельно менять свое состояние в зависимости от внешних воздействий.

Версия 20:41, 21 июля 2025

Эмулятор ProtoEMU - специализированное приложение для эмуляции устройств, работающих по протоколам Modbus-RTU, Modbus-TCP.

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

1 Возможности эмулятора

  1. Поддержка протоколов обмена с реальными устройствами:
    • Modbus-RTU в режимах ведущий и ведомый.
    • Modbus-TCP в режимах ведущий и ведомый.
  2. Эмуляция физических входных и выходных сигналов.
  3. Эмуляция внутренних переменных, доступных через карту регистров.
  4. Ручное управление состоянием устройства с помощью различных виджетов.
  5. Автоматическое управление состоянием устройства с помощью встроенных программ и подпрограмм.
  6. Поддержка автоматической идентификации параметров регистров на основе файлов идентификаторов.
  7. Проверка корректности конфигурации виртуальных устройств.
  8. Ведение журналов событий, возникающих при работе эмулятора, в том числе журнала обмена с устройствами, включая весь трафик. Возможность фильтрации событий журнала "на лету".
  9. Просмотр значений регистров, в том числе "на лету".
  10. Запись значений всех регистров в архив в течение сеанса эмуляции для последующего анализа и распечатки.

2 Принцип работы

Рис. 1 Схема стенда для отладки ПО

Классическая схема устройства стенда, на котором производится отладка программного обеспечения, приведена на рисунке 1. В ней участвуют контроллер, модули ввода-вывода и подключаемые к ним датчики, исполнительные механизмы или их заменители (тумблеры, лампочки-индикаторы и т. д).

Рис. 2 Схема стенда с эмулятором для отладки ПО с подключением по RS-485

Применение эмулятора ProtoEMU позволяет максимально упростить устройство отладочного стенда и даже сделать его портативным! Из первоначальной схемы в нем остается только контроллер с отлаживаемым программным обеспечением, к которому через преобразователь USB-RS485 подключается персональный компьютер с эмулятором (см. рисунок 2). При использовании эмулятора не требуется адаптировать отлаживаемое ПО, чтобы оно работало с эмулятором. Для отлаживаемого ПО замена реального оборудования на эмулятор прозрачна.

Дополнительно к имитации реального оборудования эмулятор позволяет имитировать поведение реального оборудования с помощью встраиваемых в эмулятор алгоритмов: в ответ на установку контроллером определенных выходных сигналов эмулятор позволяет запрограммировать изменение значений других сигналов. С помощью такой функции можно автоматизировать и существенно ускорить проверку и отладку программного обеспечения контроллера.

2.1 Отладка с эмулятором

При использовании эмулятора процесс отладки выглядит следующим образом:

  • контроллер производит обращение к модулям ввода-вывода по линии связи RS-485, которая подключена к эмулятору;
  • эмулятор принимает запрос от контроллера и дает ответ, содержащий информацию о состоянии эмулируемых датчиков и исполнительных механизмов;
  • при необходимости изменения состояний датчиков или исполнительных механизмов пользователь вводит эти изменения в эмулятор или эмулятор самостоятельно изменяет состояния с помощью заложенных алгоритмов.

2.2 Создание отладочного стенда и эмуляция оборудования

Для работы с эмулятором необходимо:

  1. Создать в эмуляторе новый проект.
  2. Добавить в проект транспорт нужного типа из перечня поддерживаемых.
  3. Добавить в транспорт на основе описания регистров эмулируемого устройства набор нужных "источников" - узлов проекта, содержащих передаваемые контроллером значения. Например, для транспортов типа Modbus, источниками являются регистры Modbus.
  4. Добавить в проект форму, на которой разместить виджеты, отображающие значения источников и позволяющие управлять их значениями.

На этом этапе создания проекта уже можно в ручном режиме управлять состоянием "виртуального" устройства с помощью виджетов.

Далее можно реализовать в проекте функции автоматического управления состоянием виртуального устройства с помощью набора алгоритмов - программ и обработчиков событий в виджетах.

Виртуальное устройство с помощью алгоритмов способно самостоятельно менять свое состояние в зависимости от внешних воздействий.