iRidium для EPSNET
набор инструментов для создания интерфейсов управления Teco и iNELS по протоколу EPSNET
документация обновлена 01.01.2024
Описание
iRidium для EPSNET - это набор инструментов, позволяющий создать интерфейс для управления домом или офисом на базе оборудования Teco (Tecomat) или iNELS с поддержкой протокола EPSNET.
Подключение
Конфигурация оборудования и настройки, необходимые для того, чтобы iRidium начал управлять оборудованием по протоколу EPSNET.
Способы подключения к ПЛК
Разные способы связи с обеспечивают локальную работу и работу через Интернет:

- Локальное соединение

-
Интернет соединение
-
Локальное соединение работает только в локальной сети объекта автоматизации. Использует протокол UDP. Соединение устанавливается между панелью управления и контроллером через сетевой маршрутизатор.
-
Интернет соединение позволяет подключиться к контроллеру через Интернет. Для работы в этом режиме, маршрутизатор сети должен иметь статический IP адрес или использовать службу DDNS.
Добавить драйвер EPSNET можно с помощью импорта из CSV файла или ручным заполнением данных.
Импорт из CSV файла (*.csv)
Universal import from CSV File - это возможность импорта драйверов из таблицы, представленной в формате CSV.
Подробную инструкцию по созданию CSV файла и импорта этого файла в IRidium Studio можно прочитать по ссылке.
Добавление драйвера EPSNET в iRidium
EPSNET не позволяет автоматически сформировать список устройств, которыми можно управлять, поэтому добавим их вручную.

Перетяните выбранный драйвер из DEVICE BASE в PROJECT DEVICE PANEL.
- Host - IP-адрес контроллера
- Port - UDP порт управления, 61682
- Update Time (мс) - частота обновления данных
Команды для драйвера EPSNET удобно формировать на основе файла экспорта в формате .PUB , который формируется в программах Mosaic (TECO) и IDM (iNELS).
1(а). Подготовьте Mosaic:
если вы уже генерировали *.pub файл (компилировали проект), перед тем, как сделать это еще раз, удалите предыдущий *.pub, иначе адреса в проекте будут дублироваться.

1(б). Подготовьте IDM iNELS:
Убедитесь, что программа IDM подключена к контроллеру, иначе, экспорт невозможен.

2. Выберите переменные для экспорта в управляющей программе устройства: "Unit/Device Manager" (Менеджер Модуля/Устройства), обязательно указывайте ИМЕНА экспортируемых переменных:
3. Откройте "Project Setup" (Общие настройки) и укажите путь сохранения файла экспорта. Вкладка может называться '...Of SCADA' или 'RELI':
4. Чтобы .pub файл экспортировался на ПК, нужно заново загрузить конфигурацию на контроллер:
5. Откройте *.pub файл в текстовом редакторе, он содержит список адресов, в формате, поддерживаемом iRidium:

Commands & Feedbacks
Данные из *.PUB файла необходимо перенести в iRidium для управления регистрами EPSNET. Начнем настройку регистров, разбирая строки PUB файла, каждая из которых соответствует одному регистру:
DAC2_04M_OUT1_ON R B 18237 .1 BOOL PUB_INOUT
| | | | | |
|_"Name" | | | |_"Type" | только чтение (IN)
| | | |_чтение и запись (INOUT)
"Register"_| |_"Address"
|
"Bit"_|
Регистр EPSNET в iRidium Studio:

- Name - имя регистра
- Type - тип данных, см. таблицу соответствия
- Register - тип регистра
- Address - номер регистра
- Bit - номер бита в байте (для Bool)
Добавьте все необходимые регистры в проект iRidium, выбирая параметры из соответствующих значений *.PUB файла.
Регистр со свойством PUB_INOUT можно записывать и читать, создайте его во вкладках Commands и Feedback.
Регистр со свойством PUB_IN можно только читать, создайте его только во вкладке Feedback.
Type (в PUB файле и iRidium Studio):
| PUB file | iRidium Studio | Description | Range |
|---|---|---|---|
| BOOL | Bool | Boolean | 0…1 |
| SINT | Signed 8 bit | Short integer | -128…127 |
| INT | Signed 16 bit | Integer | -32 768…32767 |
| DINT | Signed 32 bit | Double integer | -2147483648…2147483647 |
| USINT | Unsigned 8 bit | Unsigned short integer | 0…255 |
| UINT | Unsigned 16 bit | Unsigned integer | 0…65535 |
| UDINT | Unsigned 32 bit | Unsigned double integer | 0…4294967295 |
| REAL | Float 32 bit | Real (single precision) | ±2.9E-39…±3.4E+38 |
| LREAL | Float 64 bit | Long real (double precision) | IEC 559 |
| TIME | Time | Duration | 24d 20:31:23.647 |
| DATE | Date | Data (only) | from 1.1.1970 00:00:00 |
| TIME_OF_DAY (TOD) | Time of Day | Time of day (only) | 24d 20:31:23.647 |
| DATE_AND_TIME (DT) | Date Time | Data and time of day | from 1.1.1970 00:00:00 |
Команды и каналы обратной связи нужно привязать к графическим элементам проекта для управления оборудованием:
- Команда привязывается к графическому элементу с указанием значения, которое нужно передать в регистр при нажатии на графический элемент
- Канал обратной привяжите к графическому элементу, чтобы отобразить состояние регистра
Чтобы связать команду или канал с графическим элементом, используйте метод
drag&drop
- перетягивание.
чтобы быстро создать Feedback с теми же настройками, что у Command, нажмите на Command правой кнопкой мыши и выберите опцию "Create Feedback". Создать Feedback можно сразу для нескольких регистров.
Смена настроек подключения
Возможность смены параметров подключения нужна, если вы отключаетесь от Wi-Fi сети объекта автоматизации и начинаете использовать 3G или другую Wi-Fi сеть. Чтобы управление продолжило работать, нужно переключиться с локального на публичный IP адрес интернет-маршрутизатора.
Переключение не происходит автоматически, вам нужно будет нажать на клавишу выбора режима соединения. Для возможности удаленного доступа необходимо сделать порты управления системой автоматизации публичными. Для этого настраивают службу Port Forwarding на интернет-маршрутизаторе. Защищенное соединение может обеспечить VPN.
-
Скачайте шаблон (*.js) (правая кнопка: "Сохранить объект как..."), добавьте шаблон в редактор скриптов клавишей (+) Add Script from file
-
Настройте параметры скрипта, как показано в примере:
function Internal_1() {
IR.GetDevice("EPSNET (UDP)").SetParameters({Host: "192.168.0.100", Port: 61682, UpdateTime: 1000});
}
function External_1() {
IR.GetDevice("EPSNET (UDP)").SetParameters({Host: "215.110.10.10", Port: 61682, UpdateTime: 1000});
}
Скопируйте имя драйвера из Projсet Device Panel, список параметров нужно скопировать из примера в точности.
- Выберите кнопку, которая будет отвечать за переключение Internal и External параметров. Откройте Macros Editor для события Press (Object Properties > Programming), выберите команду Script Call и добавьте ее двойным кликом. Выберите имя функции, которую вызовет кнопка:

Теперь каждое нажатие на кнопку будет применять соответствующий набор настроек подключения.
Управление оборудованием

Для управления оборудованием настройте команды (Commands) и каналы обратной связи (Feedbacks). Чтобы отправить команду, перетяните ее на графический элемент и укажите значение (Value), которое необходимо отправить. Чтобы отобразить значение с канала обратной связи, перетащите Feedback на графический элемент, и укажите, каким образом вывести значение (Value).
Подробнее о работе с графическими элементами написано в статье "Типы графических элементов".
Возможные настройки команд и каналов обратной связи представлены далее:
BOOL
Регистр типа BOOL (Bool) управляется логическим нулем или единицей. Особенность настройки состоит в том, что помимо номера, нужно выбрать управляемый бит регистра.
Command
| Type | Value * | Описание |
|---|---|---|
| Bool | 0...1 | тип данных BOOL и значение для записи |
| Register | X, Y, S, R, E, D0, D1, D2, Unknown | тип регистра из таблицы *.PUB |
| Address | 0...n | номер регистра |
| Bit | 0...7 | номер бита в байте |
*Value - укажите при перетягивании команды на графический элемент
Feedback
| Type | Bool | тип данных BOOL |
|---|---|---|
| Register | X, Y, S, R, E, D0, D1, D2, Unknown | тип регистра из таблицы *.PUB |
| Address | 0...n | номер регистра |
| Bit | 0...7 | номер бита в байте |
| Value * | 0...1 | состояние бита |
- Value - приходит в канал обратной связи, используйте для отображения на элементах
SINT, INT, DINT, USINT, UINT, UDINT
Информационные регистры 8, 16, 32 бита управляются диапазоном значений:
Command
| Type | Value * | Description |
|---|---|---|
| Signed 8 bit | -128...127 | тип данных SINT и значение для записи |
| Signed 16 bit | -32 768...32767 | тип данных INT |
| Signed 32 bit | -2147483648...2147483647 | тип данных DINT |
| Unsigned 8 bit | 0...255 | тип данных USINT |
| Unsigned 16 bit | 0...65535 | тип данных UINT |
| Unsigned 32 bit | 0...4294967295 | тип данных UDINT |
| Register | X, Y, S, R, E, D0, D1, D2, Unknown | тип регистра из таблицы *.PUB |
| Address | 0...n | номер регистра |
- Value - укажите при перетягивании команды на графический элемент
Feedback
| Type | Value * | Description |
|---|---|---|
| Signed 8 bit | -128...127 | тип данных SINT и возможное значение |
| Signed 16 bit | -32 768...32767 | тип данных INT |
| Signed 32 bit | -2147483648...2147483647 | тип данных DINT |
| Unsigned 8 bit | 0...255 | тип данных USINT |
| Unsigned 16 bit | 0...65535 | тип данных UINT |
| Unsigned 32 bit | 0...4294967295 | тип данных UDINT |
| Register | X, Y, S, R, E, D0, D1, D2, Unknown | тип регистра из таблицы *.PUB |
| Address | 0...n | номер регистра |
- Value - приходит в канал обратной связи, используйте для отображения на элементах
REAL, LREAL
Информационные регистры 32 и 64 бита с плавающей запятой управляются диапазоном значений. Отличие от целочисленных регистров состоит в том, что вы можете отправлять им дробные значения (и получать дробные значения от контроллера):
Command
| Type | Value * | Description |
|---|---|---|
| Float 32 bit | ±2.9E-39…±3.4E+38 | тип данных REAL и значение для записи |
| Float 64 bit | IEC 559 | тип данных LREAL |
| Register | X, Y, S, R, E, D0, D1, D2, Unknown | тип регистра из таблицы *.PUB |
| Address | 0...n | номер регистра |
- Value - укажите при перетягивании команды на графический элемент
Feedback
| Type | Value * | Description |
|---|---|---|
| Float 32 bit | ±2.9E-39…±3.4E+38 | тип данных REAL и возможное значение |
| Float 64 bit | IEC 559 | тип данных LREAL |
| Register | X, Y, S, R, E, D0, D1, D2, Unknown | тип регистра из таблицы *.PUB |
| Address | 0...n | номер регистра |
- Value - приходит в канал обратной связи, используйте для отображения на элементах
STRING
Command
| Type | Value * | Description |
|---|---|---|
| Register | X, Y, S, R, E, D0, D1, D2, Unknown | тип регистра из таблицы *.PUB |
| Address | 0...n | номер регистра |
| Value * | string123 | строка для записи в регистр |
- alue - укажите при перетягивании команды на графический элемент
Feedback
| Type | Value * | Description |
|---|---|---|
| Register | X, Y, S, R, E, D0, D1, D2, Unknown | тип регистра из таблицы *.PUB |
| Address | 0...n | номер регистра |
| Value * | string123 | строка, полученная из регистра |
- Value - приходит в канал обратной связи, используйте для отображения на элементах
TIME, DATE, TIME_OF_DAY, DATE_AND_TIME
Время и дата доступны для записи и чтения. Формат записи должен строго совпадать с заданным. Рекомендуется устанавливать время и дату средствами контроллера, а в приложении только отображать полученные данные.
Command
| Type | Value * | Description |
|---|---|---|
| Time | 24d 20:31:23.647 | тип данных TIME |
| Date | 1.1.1970 00:00:00 | тип данных DATE |
| Time of Day | 24d 20:31:23.647 | тип данных TIME_OF_DAY (TOD) |
| Date Time | 1.1.1970 00:00:00 | тип данных DATE_AND_TIME (DT) |
| Register | X, Y, S, R, E, D0, D1, D2, Unknown | тип регистра из таблицы *.PUB |
| Address | 0...n | номер регистра |
- Value - укажите при перетягивании команды на графический элемент
Feedback
| Type | Value * | Description |
|---|---|---|
| Time | 24d 20:31:23.647 | тип данных TIME |
| Date | 1.1.1970 00:00:00 | тип данных DATE |
| Time of Day | 24d 20:31:23.647 | тип данных TIME_OF_DAY (TOD) |
| Date Time | 1.1.1970 00:00:00 | тип данных DATE_AND_TIME (DT) |
| Register | X, Y, S, R, E, D0, D1, D2, Unknown | тип регистра из таблицы *.PUB |
| Address | 0...n | номер регистра |
- Value - приходит в канал обратной связи, используйте для отображения на элементах
С помощью JavaScript можно формировать значение даты и времени на основе текущего времени панели управления