ФБ ретрансляции

При задании маршрута следования RTM64-пакета через цепочку ретрансляторов, необходимо подать на входы RTM64-Master ФБ адреса всех ретрансляторов и виды связи, в которые они должны ретранслировать пакет данного ФБ.

ФБ №35 «RTM64var Master»

Вх/ВыхИмяТипНазначение
ВходEnablebitРазрешает ФБ отправлять пакеты
ВходCRC16bit«1» — КС по алгоритму CRC16, иначе простая сумма байт; тип КС ответного пакета ФБ определяет автоматически
ВходАдрес i2c-модуляuintИдентификация канала связи
ВходВнутренний адресuintИдентификация канала связи
ВходКоличество байтuint
ВходRTM-адрес 1…4uint16Адреса ретрансляторов и получателя; 1…4095, кроме 126
ВходВид связи 1…4uint8Вид связи ретранслятора; у получателя пакета = «0»
ВходRTM-командаuint
ВходДанные туда
ВходTimeOut ответа (мс)uintМаксимум 6350 мс
ВходДанные туда[N]массив
ВыходTimeOutbitИстечение тайм-аута ответа
ВыходExceptionbitОшибка обмена
ВыходЧтение Ок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).

Список входов/выходов:

Вх/ВыхИмяТипНазначение
ВходEnablebit1 — использовать маршрут
ВходChanelFromКанал, с которого принимаются пакеты для ретрансляции
ВходChanelToКанал, в который ретранслируется пакет
ВходNodeAddress1…5uint16Адреса узлов маршрута; все ненулевые — ретрансляторы
ВходNodeChanel1…5uint8Каналы узлов
ВходModbusAddressмассив ≤50Modbus-адреса устройств (несколько устройств на одной шине); 251 — широковещательный
ВыходStatus0 — маршрут был добавлен
Выход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-Модем».

Вх/ВыхИмяТипНазначение
ВходEnablebitРазрешает работу ФБ
ВходIntervalRequestuintПериод опроса
ВходTimeOutuintТаймаут ожидания ответа
ВходChanneluint8Канал
ВходNodeAddress1…5uint16Адреса ретрансляторов
ВходNodeChanel1…5uint8Каналы ретрансляторов
ВходGuidAddressАдрес GUID
ВходGuidSizeРазмер GUID
ВыходStatusuint8«0» — ФБ в работе; «1» — установлено соединение; «2» — ФБ освободило канал
ВыходPackNumuint8Номер пакета в очереди
ВыходTimeOutCounteruintСчётчик TimeOut
ВыходIntervalTimeruintТаймер интервала
ВыходRestartCounteruintСчётчик перезагрузок ФБ
ВыходTimeOut/ER Exception/OkbitТайм-аут/ошибка/успех (на рисунке также PackID)

ФБ №130 «Чтение сетевых переменных с ретрансляцией»

ФБ реализует возможность записи значений в сетевые переменные контроллеров слейвов (Подробней в описании ФБ103).

Вх/ВыхИмяТипНазначение
ВходEnabledbit«0» — только передача Run → OUT (цепочка не прерывается)
ВходRunbitТриггерный; изменение состояния запускает процесс записи
Вход№ СлотаЧисло, сопоставленное слейву
ВходАдрес ретранслятораАдрес(а) ретрансляторов до конечного устройства
ВходПорт ретранслятораПорт отправки запроса ретранслятором
ВходКоличество СПЭлементов (1 элемент = 1 тип данных Uint8/16/32)
ВходID СПid сетевой переменной для записи
ВходДанныеUint8/
Uint16/
Uint32
Массив данных на запись
ВыходOUTbit«1» — логика выполнена (ответ получен или таймаут)
ВыходExceptionbitОшибка в процессе записи
ВыходOkbitУспешная запись