Перейти к основному содержимому

iRidium для EPSNET

набор инструментов для создания интерфейсов управления Teco и iNELS по протоколу EPSNET

документация обновлена 01.01.2024

Описание

iRidium для EPSNET - это набор инструментов, позволяющий создать интерфейс для управления домом или офисом на базе оборудования Teco (Tecomat) или iNELS с поддержкой протокола EPSNET.

Подключение

Конфигурация оборудования и настройки, необходимые для того, чтобы iRidium начал управлять оборудованием по протоколу EPSNET.

Способы подключения к ПЛК

Разные способы связи с обеспечивают локальную работу и работу через Интернет:

Tecomat_HowItWorks.png

  1. Локальное соединение

Tecomat_Inet_scheme.png

  1. Интернет соединение

  2. Локальное соединение работает только в локальной сети объекта автоматизации. Использует протокол UDP. Соединение устанавливается между панелью управления и контроллером через сетевой маршрутизатор.

  3. Интернет соединение позволяет подключиться к контроллеру через Интернет. Для работы в этом режиме, маршрутизатор сети должен иметь статический IP адрес или использовать службу DDNS.

Добавить драйвер EPSNET можно с помощью импорта из CSV файла или ручным заполнением данных.

Импорт из CSV файла (*.csv)

Universal import from CSV File - это возможность импорта драйверов из таблицы, представленной в формате CSV.

Подробную инструкцию по созданию CSV файла и импорта этого файла в IRidium Studio можно прочитать по ссылке.

Добавление драйвера EPSNET в iRidium

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

Epsnet1.png

Перетяните выбранный драйвер из DEVICE BASE в PROJECT DEVICE PANEL.

  • Host - IP-адрес контроллера
  • Port - UDP порт управления, 61682
  • Update Time (мс) - частота обновления данных

Команды для драйвера EPSNET удобно формировать на основе файла экспорта в формате .PUB , который формируется в программах Mosaic (TECO) и IDM (iNELS).

1(а). Подготовьте Mosaic:

если вы уже генерировали *.pub файл (компилировали проект), перед тем, как сделать это еще раз, удалите предыдущий *.pub, иначе адреса в проекте будут дублироваться.

MosaicPUBexport.png

1(б). Подготовьте IDM iNELS:

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

INelsExport1.png

2. Выберите переменные для экспорта в управляющей программе устройства: "Unit/Device Manager" (Менеджер Модуля/Устройства), обязательно указывайте ИМЕНА экспортируемых переменных:

INelsExport2.png INelsExport3.png

3. Откройте "Project Setup" (Общие настройки) и укажите путь сохранения файла экспорта. Вкладка может называться '...Of SCADA' или 'RELI':

INelsExport4.png

4. Чтобы .pub файл экспортировался на ПК, нужно заново загрузить конфигурацию на контроллер:

INelsExport5.png

5. Откройте *.pub файл в текстовом редакторе, он содержит список адресов, в формате, поддерживаемом iRidium:

INelsExport6.png

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:

Epsnet2.png

  • Name - имя регистра
  • Type - тип данных, см. таблицу соответствия
  • Register - тип регистра
  • Address - номер регистра
  • Bit - номер бита в байте (для Bool)

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

Регистр со свойством PUB_INOUT можно записывать и читать, создайте его во вкладках Commands и Feedback.

Регистр со свойством PUB_IN можно только читать, создайте его только во вкладке Feedback.

Type (в PUB файле и iRidium Studio):

PUB fileiRidium StudioDescriptionRange
BOOLBoolBoolean0…1
SINTSigned 8 bitShort integer-128…127
INTSigned 16 bitInteger-32 768…32767
DINTSigned 32 bitDouble integer-2147483648…2147483647
USINTUnsigned 8 bitUnsigned short integer0…255
UINTUnsigned 16 bitUnsigned integer0…65535
UDINTUnsigned 32 bitUnsigned double integer0…4294967295
REALFloat 32 bitReal (single precision)±2.9E-39…±3.4E+38
LREALFloat 64 bitLong real (double precision)IEC 559
TIMETimeDuration24d 20:31:23.647
DATEDateData (only)from 1.1.1970 00:00:00
TIME_OF_DAY (TOD)Time of DayTime of day (only)24d 20:31:23.647
DATE_AND_TIME (DT)Date TimeData and time of dayfrom 1.1.1970 00:00:00

Команды и каналы обратной связи нужно привязать к графическим элементам проекта для управления оборудованием:

  • Команда привязывается к графическому элементу с указанием значения, которое нужно передать в регистр при нажатии на графический элемент
  • Канал обратной привяжите к графическому элементу, чтобы отобразить состояние регистра

Чтобы связать команду или канал с графическим элементом, используйте метод

drag&drop
  • перетягивание.
Подсказка

чтобы быстро создать Feedback с теми же настройками, что у Command, нажмите на Command правой кнопкой мыши и выберите опцию "Create Feedback". Создать Feedback можно сразу для нескольких регистров.

Смена настроек подключения

Возможность смены параметров подключения нужна, если вы отключаетесь от Wi-Fi сети объекта автоматизации и начинаете использовать 3G или другую Wi-Fi сеть. Чтобы управление продолжило работать, нужно переключиться с локального на публичный IP адрес интернет-маршрутизатора.

Переключение не происходит автоматически, вам нужно будет нажать на клавишу выбора режима соединения. Для возможности удаленного доступа необходимо сделать порты управления системой автоматизации публичными. Для этого настраивают службу Port Forwarding на интернет-маршрутизаторе. Защищенное соединение может обеспечить VPN.

  1. Скачайте шаблон (*.js) (правая кнопка: "Сохранить объект как..."), добавьте шаблон в редактор скриптов клавишей (+) Add Script from file

  2. Настройте параметры скрипта, как показано в примере:

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, список параметров нужно скопировать из примера в точности.

  1. Выберите кнопку, которая будет отвечать за переключение Internal и External параметров. Откройте Macros Editor для события Press (Object Properties > Programming), выберите команду Script Call и добавьте ее двойным кликом. Выберите имя функции, которую вызовет кнопка:

Script call internal-external.png

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

Управление оборудованием

SendRecieve.png

Для управления оборудованием настройте команды (Commands) и каналы обратной связи (Feedbacks). Чтобы отправить команду, перетяните ее на графический элемент и укажите значение (Value), которое необходимо отправить. Чтобы отобразить значение с канала обратной связи, перетащите Feedback на графический элемент, и укажите, каким образом вывести значение (Value).

Подробнее о работе с графическими элементами написано в статье "Типы графических элементов".

Возможные настройки команд и каналов обратной связи представлены далее:

BOOL

Регистр типа BOOL (Bool) управляется логическим нулем или единицей. Особенность настройки состоит в том, что помимо номера, нужно выбрать управляемый бит регистра.

Command

TypeValue *Описание
Bool0...1тип данных BOOL и значение для записи
RegisterX, Y, S, R, E, D0, D1, D2, Unknownтип регистра из таблицы *.PUB
Address0...nномер регистра
Bit0...7номер бита в байте

*Value - укажите при перетягивании команды на графический элемент


Feedback

TypeBoolтип данных BOOL
RegisterX, Y, S, R, E, D0, D1, D2, Unknownтип регистра из таблицы *.PUB
Address0...nномер регистра
Bit0...7номер бита в байте
Value *0...1состояние бита
  • Value - приходит в канал обратной связи, используйте для отображения на элементах

SINT, INT, DINT, USINT, UINT, UDINT

Информационные регистры 8, 16, 32 бита управляются диапазоном значений:

Command

TypeValue *Description
Signed 8 bit-128...127тип данных SINT и значение для записи
Signed 16 bit-32 768...32767тип данных INT
Signed 32 bit-2147483648...2147483647тип данных DINT
Unsigned 8 bit0...255тип данных USINT
Unsigned 16 bit0...65535тип данных UINT
Unsigned 32 bit0...4294967295тип данных UDINT
RegisterX, Y, S, R, E, D0, D1, D2, Unknownтип регистра из таблицы *.PUB
Address0...nномер регистра
  • Value - укажите при перетягивании команды на графический элемент

Feedback

TypeValue *Description
Signed 8 bit-128...127тип данных SINT и возможное значение
Signed 16 bit-32 768...32767тип данных INT
Signed 32 bit-2147483648...2147483647тип данных DINT
Unsigned 8 bit0...255тип данных USINT
Unsigned 16 bit0...65535тип данных UINT
Unsigned 32 bit0...4294967295тип данных UDINT
RegisterX, Y, S, R, E, D0, D1, D2, Unknownтип регистра из таблицы *.PUB
Address0...nномер регистра
  • Value - приходит в канал обратной связи, используйте для отображения на элементах

REAL, LREAL

Информационные регистры 32 и 64 бита с плавающей запятой управляются диапазоном значений. Отличие от целочисленных регистров состоит в том, что вы можете отправлять им дробные значения (и получать дробные значения от контроллера):

Command

TypeValue *Description
Float 32 bit±2.9E-39…±3.4E+38тип данных REAL и значение для записи
Float 64 bitIEC 559тип данных LREAL
RegisterX, Y, S, R, E, D0, D1, D2, Unknownтип регистра из таблицы *.PUB
Address0...nномер регистра
  • Value - укажите при перетягивании команды на графический элемент

Feedback

TypeValue *Description
Float 32 bit±2.9E-39…±3.4E+38тип данных REAL и возможное значение
Float 64 bitIEC 559тип данных LREAL
RegisterX, Y, S, R, E, D0, D1, D2, Unknownтип регистра из таблицы *.PUB
Address0...nномер регистра
  • Value - приходит в канал обратной связи, используйте для отображения на элементах

STRING

Command

TypeValue *Description
RegisterX, Y, S, R, E, D0, D1, D2, Unknownтип регистра из таблицы *.PUB
Address0...nномер регистра
Value *string123строка для записи в регистр
  • alue - укажите при перетягивании команды на графический элемент

Feedback

TypeValue *Description
RegisterX, Y, S, R, E, D0, D1, D2, Unknownтип регистра из таблицы *.PUB
Address0...nномер регистра
Value *string123строка, полученная из регистра
  • Value - приходит в канал обратной связи, используйте для отображения на элементах

TIME, DATE, TIME_OF_DAY, DATE_AND_TIME

Время и дата доступны для записи и чтения. Формат записи должен строго совпадать с заданным. Рекомендуется устанавливать время и дату средствами контроллера, а в приложении только отображать полученные данные.

Command

TypeValue *Description
Time24d 20:31:23.647тип данных TIME
Date1.1.1970 00:00:00тип данных DATE
Time of Day24d 20:31:23.647тип данных TIME_OF_DAY (TOD)
Date Time1.1.1970 00:00:00тип данных DATE_AND_TIME (DT)
RegisterX, Y, S, R, E, D0, D1, D2, Unknownтип регистра из таблицы *.PUB
Address0...nномер регистра
  • Value - укажите при перетягивании команды на графический элемент

Feedback

TypeValue *Description
Time24d 20:31:23.647тип данных TIME
Date1.1.1970 00:00:00тип данных DATE
Time of Day24d 20:31:23.647тип данных TIME_OF_DAY (TOD)
Date Time1.1.1970 00:00:00тип данных DATE_AND_TIME (DT)
RegisterX, Y, S, R, E, D0, D1, D2, Unknownтип регистра из таблицы *.PUB
Address0...nномер регистра
  • Value - приходит в канал обратной связи, используйте для отображения на элементах
Подсказка

С помощью JavaScript можно формировать значение даты и времени на основе текущего времени панели управления