При задании маршрута следования RTM64-пакета через цепочку ретрансляторов, необходимо подать на входы RTM64-Master ФБ адреса всех ретрансляторов и виды связи, в которые они должны ретранслировать пакет данного ФБ.
ФБ №35 «RTM64var Master»
| Вх/Вых | Имя | Тип | Назначение |
|---|---|---|---|
| Вход | Enable | bit | Разрешает ФБ отправлять пакеты |
| Вход | CRC16 | bit | «1» — КС по алгоритму CRC16, иначе простая сумма байт; тип КС ответного пакета ФБ определяет автоматически |
| Вход | Адрес i2c-модуля | uint | Идентификация канала связи |
| Вход | Внутренний адрес | uint | Идентификация канала связи |
| Вход | Количество байт | uint | |
| Вход | RTM-адрес 1…4 | uint16 | Адреса ретрансляторов и получателя; 1…4095, кроме 126 |
| Вход | Вид связи 1…4 | uint8 | Вид связи ретранслятора; у получателя пакета = «0» |
| Вход | RTM-команда | uint | |
| Вход | Данные туда | ||
| Вход | TimeOut ответа (мс) | uint | Максимум 6350 мс |
| Вход | Данные туда[N] | массив | |
| Выход | TimeOut | bit | Истечение тайм-аута ответа |
| Выход | Exception | bit | Ошибка обмена |
| Выход | Чтение Ок | bit | Успешное выполнение |
| Выход | Данных оттуда | ||
| Выход | Данные оттуда [N] | массив |
Примечание: обязательна внутренняя переменная «№ пакета» (uint8) — идентификация пакета в очереди и отработка тайм-аута при нескольких интерфейсных ФБ на одном канале.
ФБ №36 «RTM64 Master»
По аналогии с ФБ №35 «RTM64var Master».
ФБ №110 MODBUS-Модем
ФБ настраивает в PacketManager маршрутизацию Modbus пакетов. Функциональный блок записывает новый RTM маршрут для указанного Modbus адреса, в дальнейшем приходящий пакет разбирается и если он не совпадает с собственным адресом Modbus, но совпадает с адресом указанным в ФБ на входе ModbusAddress формируется пакет RTM_MW куда вкладывается Modbus пакет, при достижении пакета последнего адресата (последнее ненулевое значение NodeAddress) если Modbus адрес вложенный в пакет не совпал со своим то контроллер распаковывает Modbus и отправляет в канал указанный в NodeChanel.
Маршрут в пакете формируется согласно входам “NodeAddress”,”NodeChanel”, все ненулевые узлы становятся ретрансляторами.
Вход ChanelFrom откуда приходят пакеты для ретрансляции, если указан канал 8 (Ethernet) но пакет пришел по каналу 1 (RS232), пакет не будит ретранслироваться даже если есть совпадение адресов.
Если адрес первого ретранслятора (NodeAddress1) равен “0", но Modbus адрес совпал с одним из указанных во входе ModbusAddres создается маршрут в котором адрес первого ретранслятора равен Modbus адресу в пакете.
Если адрес первого узла «1»,то формируется широковещательный маршрут, в котором адрес первого узла заменяется адресом в Modbus пакете. Данный маршрут будет задействован только в случае если в других небыло совпадения Modbus адреса.
Для ретрансляции Modbus пакета без промежуточного RTM устройства, в NodeAddress1 необходимо записать 4095, тогда Modbus пакет будет ретранслироваться сразу в другой Modbus на другом канале.
На входе ModbusAddress можно указать широковещательный адрес 251, тогда все Modbus пакеты будут ретранслироваться по указанному маршруту.
Номера каналов:
0 – ближнее радио (внешний модуль дальность до 5000 км);
1 - COM1 RS232;
2 – chNearRadio ближнее радио (до 2500 км);
4 - chFarRadio дальнее радио (motorola or kenwood);
5 - COM2 RS485;
7 – chCOMIntBUS внутренняя шина (по умолчанию скорость 2 мбит/с);
8 - chEthernet Ethernet(IP).
Список входов/выходов:
| Вх/Вых | Имя | Тип | Назначение |
|---|---|---|---|
| Вход | Enable | bit | 1 — использовать маршрут |
| Вход | ChanelFrom | Канал, с которого принимаются пакеты для ретрансляции | |
| Вход | ChanelTo | Канал, в который ретранслируется пакет | |
| Вход | NodeAddress1…5 | uint16 | Адреса узлов маршрута; все ненулевые — ретрансляторы |
| Вход | NodeChanel1…5 | uint8 | Каналы узлов |
| Вход | ModbusAddress | массив ≤50 | Modbus-адреса устройств (несколько устройств на одной шине); 251 — широковещательный |
| Выход | Status | 0 — маршрут был добавлен | |
| Выход | TableNoteNum | Номер в таблице маршрутов | |
| Внутр. | Table_Note | Маршрут |
ФБ №123 «Чтение сетевых переменных по GUID»
ФБ реализует возможность чтения сетевых переменных по GUID.
Настройка маршрутизации происходит аналогично ФБ №110 «MODBUS-Модем».
| Вх/Вых | Имя | Назначение |
|---|---|---|
| Вход | Enable | Разрешает работу ФБ |
| Вход | IntervalRequest | Период опроса |
| Вход | TimeOut | Таймаут ожидания ответа |
| Вход | Channel | Канал |
| Вход | NodeAddress1…5 | Адреса ретрансляторов |
| Вход | NodeChanel1…5 | Каналы ретрансляторов |
| Вход | GUID | Идентификатор сетевой переменной |
| Выход | Status | «0» — ФБ в работе; «1» — установлено соединение; «2» — ФБ освободило канал |
| Выход | PackNum | Номер пакета в очереди |
| Выход | TimeOutCounter | Счётчик TimeOut |
| Выход | IntervalTimer | Таймер интервала |
| Выход | RestartCounter | Счётчик перезагрузок ФБ |
| Выход | TimeOutExc/ErrorExc/Ok | Таймаут/ошибка/успех |
| Выход | OutData | Прочитанное значение |
ФБ №124 «Запись сетевых переменных по GUID»
ФБ реализует возможность записи сетевых переменных по GUID.
Настройка маршрутизации происходит аналогично ФБ №110 «MODBUS-Модем».
| Вх/Вых | Имя | Тип | Назначение |
|---|---|---|---|
| Вход | Enable | bit | Разрешает работу ФБ |
| Вход | IntervalRequest | uint | Период опроса |
| Вход | TimeOut | uint | Таймаут ожидания ответа |
| Вход | Channel | uint8 | Канал |
| Вход | NodeAddress1…5 | uint16 | Адреса ретрансляторов |
| Вход | NodeChanel1…5 | uint8 | Каналы ретрансляторов |
| Вход | GuidAddress | Адрес GUID | |
| Вход | GuidSize | Размер GUID | |
| Выход | Status | uint8 | «0» — ФБ в работе; «1» — установлено соединение; «2» — ФБ освободило канал |
| Выход | PackNum | uint8 | Номер пакета в очереди |
| Выход | TimeOutCounter | uint | Счётчик TimeOut |
| Выход | IntervalTimer | uint | Таймер интервала |
| Выход | RestartCounter | uint | Счётчик перезагрузок ФБ |
| Выход | TimeOut/ER Exception/Ok | bit | Тайм-аут/ошибка/успех (на рисунке также PackID) |
ФБ №130 «Чтение сетевых переменных с ретрансляцией»
ФБ реализует возможность записи значений в сетевые переменные контроллеров слейвов (Подробней в описании ФБ103).
| Вх/Вых | Имя | Тип | Назначение |
|---|---|---|---|
| Вход | Enabled | bit | «0» — только передача Run → OUT (цепочка не прерывается) |
| Вход | Run | bit | Триггерный; изменение состояния запускает процесс записи |
| Вход | № Слота | Число, сопоставленное слейву | |
| Вход | Адрес ретранслятора | Адрес(а) ретрансляторов до конечного устройства | |
| Вход | Порт ретранслятора | Порт отправки запроса ретранслятором | |
| Вход | Количество СП | Элементов (1 элемент = 1 тип данных Uint8/16/32) | |
| Вход | ID СП | id сетевой переменной для записи | |
| Вход | Данные | Uint8/ Uint16/ Uint32 | Массив данных на запись |
| Выход | OUT | bit | «1» — логика выполнена (ответ получен или таймаут) |
| Выход | Exception | bit | Ошибка в процессе записи |
| Выход | Ok | bit | Успешная запись |