ФБ RTM-Master

ФБ №105 «Запись сетевых переменных»

ФБ реализует межмодульный обмен данными между контроллерами по протоколу RTM-MW, а так же при наличии этой ФБ в конфигурации контроллера с настроенными некоторыми параметрами делает этот контроллер Мастером канала и запускает процесс регистрации подчиненных устройств слейвов.

Режим мастер канала

В этом режиме контроллер является мастером (главным) в канале который указан в ФБ. Главный контроллер занимается регистрацией контроллеров слейвов подключенных по данному каналу, задает слейвам адрес в формате RTM64 и хранит список зарегистрированных слейвов. Каждому зарегистрированному слейву соответствует своя сетевая переменная Slave1… Slave32 в адресном пространстве мастера, в ней храниться мак адрес слейва, црц сетевых переменных, канал и адрес слейва который назначил ему мастер. Процесс регистрации слейвов происходит в следующем порядке:

  1. Мастер один раз в минуту отправляет специальный пакет (содержащий текущее время мастера) в канал указанный в ФБ.
  2. Слейвы которые еще не зарегистрированы у Мастера подключенные к данному каналу принимают пакет, светодиод «Otvet’’ у слейва начинает часто мигать. Теперь текущее время слейва такое же как и у мастера.
  3. Один раз в минуту в определенный промежуток времени (для каждого типа канала свой) Мастер приостанавливает межмодульный обмен (Время тишины).
  4. Во время тишины не зарегистрированные слейвы отправляют запрос регистрации мастеру канала.
  5. Мастер на запрос о регистрации отправляет слейву его новый адрес в формате RTM64 и записывает информацию о нем в сетевую переменную Slave1… Slave32. Если пришел запрос о регистрации уже зарегистрированного ранее слейва то ему присвоится тот же адрес с которым он и был ранее зарегистрирован.
  6. Светодиод «Otvet’’ у слейва перестает мигать.

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

Слот – это специальный номер который можно сопоставить с 1 из 32 слейвов. Это соответствие храниться в сетевой переменной MapTable (массив 32-х элементов типа Uint16) у мастера. Первые 2 слота зарезервироны. Допустим мы сопоставим к числу 3 первого слейва (Slave1), то тогда надо записать в сетевой перемен-ной MapTable в 3-м элементе массива число число 1, теперь используя в ФБ слот №3 мастер будет осуществлять межмодульный обмен с первым зарегистрированным слейвом.

Вх/Вых Имя Тип Назначение
Вход Enabled bit Разрешение работы
Вход Run bit Триггерный запуск обмена
Вход NSlave Номер слейва (слота)
Вход SizeSp Размер (количество) сетевых переменных
Вход IDsp ID сетевой переменной
Вход SPn Записываемые значения сетевых переменных
Выход OUT bit «1» — логика выполнена
Выход Exception bit Ошибка обмена
Выход Ok bit Успешный обмен

ФБ №103 «Чтение сетевых переменных»

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

Вх/Вых Имя Тип Назначение
Вход Enabled bit «0» — только передача Run на выход
Вход Run bit Триггерный; запуск обмена
Вход Канал Номер канала межмодульного обмена
Вход Выбор Адрес-1/Слот-0 bit «1» — на входе Адрес/Слот адрес RTM64; «0» — номер слота
Вход Адрес/Слот Адрес контроллера в формате RTM64 или номер слота
Вход Количество СП Количество запрашиваемых сетевых переменных
Вход ID СП 1…ID СП 32 ID запрашиваемых сетевых переменных
Выход Run bit «1» — выполнено; соединяется со входом Run следующей ФБ
Выход Exception bit Триггерный; ошибка/таймаут
Выход Ok bit Успешный межмодульный обмен
Выход Данные массив Uint8/Uint16 Размер = сумма размеров запрошенных СП