Engee.Интеграции
Интеграция Engee с оборудованием обеспечивается подсистемой Engee.Интеграции, которая подключает Engee к внешним устройствам, интерфейсам, протоколам и программным средам. Поддержка реализуется через пакеты поддержки конкретного оборудования (например, VISA, Arduino, РИТМ и т.д.), включая модули ввода-вывода (подключенные к компьютеру) и встраиваемые системы. Внешнее оборудование и протоколы физически работают на компьютере пользователя, но становятся доступны напрямую в Engee именно через подсистему Engee.Интеграции.
Engee работает в браузере и, как следствие, не имеет прямого доступа к физическим портам компьютера. Ограничение доступа браузера к низкоуровневым интерфейсам операционной системы не позволяет просто подключить оборудование и сразу начать работу. Для решения этой задачи используется следующая архитектура взаимодействия:

На схеме показано, что Engee обменивается данными с клиентской программой Engee.Интеграции, установленной на компьютере пользователя; эта программа работает с физическими интерфейсами системы (COM-портами, USB и т.д.) и передает команды/данные подключенному оборудованию. При этом для организации сетевого взаимодействия между Engee и клиентской программой используется сервер на стороне Engee.
| Перед началом работы необходимо запустить клиентскую программу Engee.Интеграции на компьютере, к которому подключено оборудование. Браузер с Engee можно открыть как на этом же компьютере, так и на любом другом устройстве в сети. Это позволяет создавать «виртуальные лаборатории» и дает возможность нескольким пользователям подключаться к одному и тому же компьютеру, работая с оборудованием напрямую через Engee. |
Подключение к оборудованию
На базе Engee.Интеграции создаются различные пакеты поддержки оборудования. Сначала установите основной пакет поддержки Engee.Интеграции, универсальный для любого оборудования, и подключитесь к клиентской программе.
Чтобы начать работу с подсистемой Engee.Интеграции, установите основной пакет поддержки, выполнив команду engee.package.install в командной строке
:
engee.package.install("Engee-Device-Manager")
Если основной пакет поддержки распространяется в виде zip-архива, то путь к нему необходимо указывать как именованный аргумент zip_path. Например, если архив называется edmv2.4.zip и находится в папке distr, то используйте команду:
engee.package.install("Engee-Device-Manager", zip_path="/distr/edmv2.4.zip")
После успешной установки в командной строке отобразится сообщение:

В этом сообщении будет предоставлен URL для подключения через клиентскую программу Engee.Интеграции. Также будут предложены ссылки для загрузки архивов с этими клиентскими программами. Выберите нужный архив в зависимости от вашей операционной системы (Windows/Linux):

Скачайте архив на ваш компьютер, распакуйте его и запустите клиентскую программу Engee.Интеграции.
|
Антивирус может заблокировать установку или запуск клиентской программы Engee.Интеграции. Если при установке или запуске появляются предупреждения системы безопасности, то временно отключите защиту в реальном времени и добавьте исполняемый файл клиента в исключения. Например, для отключения антивируса «Безопасность Windows» и добавления исключений следуйте инструкции: Пошаговая инструкция
|
| В корпоративных средах политика безопасности может запрещать добавление исключений пользователем. В этом случае обратитесь к администратору ИБ. |
После запуска клиентской программы Engee.Интеграции откроется окно с полем для ввода URL из сообщения:

Далее скопируйте URL из сообщения в командной строке (текст после Ссылка для подключения:), вставьте его в клиентскую программу Engee.Интеграции и нажмите кнопку Подключиться. Статус подключения должен смениться на «Подключен»:

После успешного подключения можно загрузить примеры моделей, которые помогут разобраться в работе с оборудованием. Для этого в командной строке Engee выполните команду:
engee.package.getdemos("Engee-Device-Manager")
Отлично — подсистема Engee.Интеграции установлена и готова к работе!
|
После перезапуска клиента Engee не нужно заново устанавливать подсистему Engee.Интеграции — достаточно повторно запустить ее серверную программу с помощью команды:
|
Интерфейс клиентской программы
Интерфейс клиентской программы Engee.Интеграции имеет следующий вид:
-
Название и версия клиентской программы.
-
Окно статусов оборудования.
-
Окно настроек.
-
Кнопка сворачивания в трей (только в версии для Windows).
При ее нажатии приложение помещается в системный трей, а статус подключения подсвечивается в иконке:
-
Если клиентская программа подключена:

-
Если клиентская программа отключена:

-
-
Поле для ввода ссылки для подключения и кнопка подключения.
-
Статус подключения.
-
Кнопка очистки логов.
-
Окно диагностики.
Сообщения об ошибках
В разделе приведены сообщения об ошибках, которые выводятся в окно диагностики клиентской программы или в командной строке Engee.
-
Текст сообщения:
ERROR: An existing client program is already running. Please close it manually or call function Main.EngeeDeviceManager.UTILS_API.stopClientProgram() in Engee to terminate the previous program instance.Описание: существует запущенный экземпляр клиентской программы, использование второго экземпляра клиентской программы невозможно.
Причина возникновения: один экземпляр клиентской программы уже запущен, и пользователь запустил второй.
Решение: закройте первый экземпляр вручную или выполните в командной строке
Main.EngeeDeviceManager.UTILS_API.stopClientProgram(). -
Текст сообщения:
ERROR: A sync error occurred. Please, ensure that the latest version of the Engee.Integrations host client and server program is installed.Описание: несовпадение версий серверной и клиентской программы вызывает ошибку синхронизации.
Причина возникновения: если выполнить в командной строке сначала
engee.package.start("Engee-Device-Manager"), а затемengee.package.install("Engee-Device-Manager"), то версия серверной программы может остаться старой.Решение: перед установкой серверной программы выполните в командной строке
engee.clear_all(). Чтобы избежать ошибки синхронизации, следует выполнятьengee.package.install("Engee-Device-Manager")сразу после запуска Engee, тогда установится последняя версия серверной программы. -
Текст сообщения:
ERROR: Request failed: there is no such host client object for corresponding object Socket! Please, verify the host client is connected and recreate object by calling: socket = SOCKET.Socket()Текст сообщения приведен для объекта Socket. Для других объектов наименование в сообщении будет соответствующим.Описание: обращение к ранее созданному объекту после перезапуска клиентской программы вызывает ошибку.
Причина возникновения: перезапуск клиентской программы во время работы с ранее созданным объектом в командной строке или в редакторе скриптов Engee.
Решение: после перезапуска клиентской программы создайте объект заново (например, через
socket = SOCKET.Socket()) и используйте только его — ранее созданный объект восстановлению не подлежит. -
Текст сообщения:
ERROR: Operation cannot be completed: there is no available route to host client program. Please verify that the host client is connected.Описание: создание объекта без активного подключения к клиентской программе вызывает ошибку.
Причина возникновения: попытка создать объект в командной строке или в редакторе скриптов Engee, когда клиентская программа не подключена.
Решение: предварительно подключите клиентскую программу, убедитесь в наличии соединения и только после этого создавайте объекты и работайте с ними.
Программное управление
| Функции программного управления пакетами поддержки доступны только при установленной и запущенной подсистеме Engee.Интеграции. |
Помимо программного управления моделированием, в Engee доступно программное управление пакетами поддержки:
-
Программное управление VISA — работа с приборами по спецификации VISA.
-
Программное управление HTTP — работа с HTTP-соединениями.
-
Программное управление T-FLEX DOCs — работа с объектами расчетов в T-FLEX DOCs.
-
Программное управление Analog Discovery — работа с лабораторными устройствами Digilent серии Analog Discovery.
-
Программное управление таргетами — работа с Arduino-совместимыми платами и платами STM32.
-
Программное управление РИТМ — загрузка/запуск моделей, работа с файлами, логами и статусами на целевой платформе РИТМ.
-
Пакет поддержки для управления аппаратной платформой РИТМ SDR USRP — управление аппаратной платформой РИТМ SDR USRP.







