Внешнее оборудование - COM: передача сигнала в Arduino
Отправка данных по COM: Arduino Blink¶
В этом примере рассмотрено моделирование в Engee с подключенным внешним оборудованием. COM-порт компьютера, где запущен Engee, работает в режиме отправки сообщений на COM-порт микроконтроллера Arduino MEGA. Получение сообщений на микроконтроллере обрабатывается для управления встроенным светодиодом. Корректировка параметров модели в процессе выполнения позволяет изменять передаваемые в Arduino данные.
Введение¶
Engee обладает возможностью подключения внешнего оборудования -
такого, как, например, COM-порт. По этому интерфейсу могут быть подключены не только офисные и мультимедийные устройства, но и устройства КИПиА - датчики, микроконтроллеры, программируемые логические контроллеры.
Для ознакомления с возможностями использования в модели Engee подключения по COM в этом примере отправим данные - периодический дискретный сигнал на микроконтроллер Arduino MEGA.
Модель примера¶
Настройки интерфейса, блок COM Setup
:
- имя порта - для ОС Windows, это, например "COM5";
- скорость передачи, бод - 9600;
- количество данных для приёма-передачи, бит - 8;
- количество стоповых бит приема-передачи, бит - 1;
- бит чётности - нет.
В блоке передатчика COM TX
необходимо определить имя порта - "COM5" и размер буфера для передачи = 1.
На входы этого блока передаются:
- количество элементов из массива данных для передачи: число в формате
UInt32
в нашем случае = 1, - вектор данных для передачи в формате
UInt8
.
На второй вход будет подавать периодический импульсный сигнал с амплитудой = 1, коэффициентом заполнения $D=50\, \%$ и изменяемым периодом.
Подготовка к выполнению модели¶
Перед запуском модели в Engee необходимо выполнить несколько подготавливающих действий, как это описано в руководстве.
Установка пакета поддержки¶
Выполним следующую команду в командной строке Engee:
engee.package.install("Engee-Device-Manager")
После выполнения команды будут выведены следующие сообщения, свидетельствующие об успешной установки пакета поддержки внешнего оборудования в Engee:
По приведённой ссылке, в зависимости от операционной системы, необходимо скачать архив, распаковать его и запустить клиентскую программу.
Подключение к Engee¶
Далее, в открывшемся окне клиентской программы необходимо ввести полученную ссылку для подключения и нажать кнопку "Подключиться":
Сообщение "Соединение с сервером установлено!" и статус подключения "Подключен" в окне клиентской программы свидетельствуют о том, что Engee получил доступ к интерфейсам компьютера.
❗️ Не закрывайте окно пользовательской программы в процессе работы, иначе связь будет потеряна.
Подключение Arduino¶
Теперь подключим оборудование к заданному в модели порту "COM5".
❗️ Имя порта, к которому Вы согласно этому примеру подключите своё устройство может отключаться. Определите имя порта, к которому подключено Ваше устройство и задайте его в блоках настройки интерфейса модели (
COM Setup
иCOM TX
).
В рассматриваемом примере Arduino MEGA подключается к порту "COM5", о чём свидетельствует статус подключения в Arduino IDE:
Также определить порт можно в настройках подключения Arduino IDE:
Программирование Arduino¶
Программа обработки данных, получаемых Arduino из Engee по последовательному порту приведена в скетче arduino_com_read_sketch.ino
.
Принцип работы программы подробно описан в комментариях скетча. Суть работы состоит в следующем. Если контроллер получает из Engee "1", он зажигает встроенный на плате светодиод, если он не получает "1", светодиод не зажигается.
Для программирования Arduino Mega достаточно сделать следующие действия:
- скачать папку
arduino_com_read_sketch
со скетчем, - открыть скетч в Arduino IDE,
- определить модель платы -
Arduino Mega or Mega 2560
и имя порта - в случае данного примера этоCOM5
, - проверить скетч,
- загрузить его на плату.
В случае успешной загрузки и компиляции можно переходить к выполнению модели в Engee, которая будет отправлять сигналы в Arduino MEGA по COM.
Выполнение модели примера¶
❗️ Перед запуском модели в Engee убедитесь в выполнении шагов:
- Установлен пакет поддержки внешнего оборудования.
- Запущена клиентская программа из пакета поддержки.
- Статус подключения Engee в клиентской программе "Подключен".
- Контроллер подключен в COM-порту.
- На контроллере запущена программа обработки сигналов, поступающих по COM.
- Имя порта COM, к которому подключен контроллер, соответствует установленному в интерфейсных блоках модели.
Запустим модель в Engee, после компиляции можно наблюдать формирование импульсного сигнала на графике Engee и синхронное с ним мигание светодиода на плате Arduino MEGA:
Параметры блоков можно изменять в процессе работы модели, говоря иначе "на лету". Из приведённой выше видеозаписи можно судить о том, что Engee успешно передаёт в микроконтроллер по COM-порту периодический импульсный сигнал с изменяемой частотой.
Заключение¶
В примере был рассмотрен процесс настройки подключения к внешнему оборудованию, а также описано начало работы с передачей сигналов из Engee в последовательный порт персонального компьютера. Модель примера формирует периодический импульсный сигнал, а подключенный к компьютеру микроконтроллер Arduino MEGA получает этот сигнал по COM порту с дальнейшей его обработкой.