Информация
Поиск

КОНФИГУРАЦИЯ КОНТРОЛЕРА JAZZ 20 UNITRONICS В СЕТИ MODBUS RTU (РЕЖИМ MASTER)

 В данной статье мы подробно рассмотрим конфигурацию контроллера JZ20-R16 Unitronics в режиме Master в сети Modbus RTU. Прежде всего для решения данной задачи нам понадобится коммуникационный модуль JZ-RS4, который обеспечивает связь по интерфейсу RS485 (не поставляется в комплекте с ПЛК). Если нужно настроить контроллер в режиме Slave, то Вам необходимо ознакомиться с данной статьей

    Коммуникационный порт JZ-RS4 поддерживает следующие характеристики:

  • скорость передачи 300 - 19200 бит/с
  • данные битов 7/8
  • контроль четности: Even/Odd/None
  • время опроса 0.5/1/1.5/2/5/60 сек
  • стоп бит только 1 (2 не поддерживает)

    Таким образом, если данные характеристики интерфейса устраивают Вашей Modbus сети, то Вы без проблем сможете сконфигурировать контроллер Jazz 20 на обмен данными с другими устройствами.

    Далее зайдем в среду разработки U90 Ladder и откроем готовый проект скачанный по данной ссылке. В нём мы увидим несколько блоков логики, зайдя на вкладку "Program-Ladder". После загрузки готовой программы в контроллер необходимо отключить питание ПЛК, затем вставить порт JZ-RS4 (RS485) в контроллер и произвести подключение кабельной линии RS485 между Master и Slave устройствами. Затем подать питание на контроллер. 

    Конфигурация протокола Modbus для режима Slave и Master производится одинаково, единственным отличием является запрос на запись и чтение регистров с Slave устройств. Рассмотрим конфигурацию протокола modbus в первых двух блоках (аналогично modbus slave).

1) В переменную SI141 записывается номер Slave ID контроллера (данный параметр в режиме Master не имеет значения, но лучше указать 1, для единоразового считывания);

2) В переменную SI142 записывается время Time out сети Modbus (100мс*10=1сек);

3) В переменную SI143 записывается количество повторов запросов при ошибках;

4) В переменную SI144 записывается максимальный интервал времени между отправками сообщений (2х2.5=5мсек);

5) В переменную SI145 записывается скорость передачи данных в Modbus сети (300-19200бит/с);

6) В переменную SI140 записывается значение 599 или 600. Данный параметр должен сохраняться последним в цепочке параметров как показано в примере. Значение 600 настраивает контроллер на режиме Modbus. Значение 599 по мимо настройки контроллера в режиме Modbus позволяет подключаться к ПЛК средой разработки (рекомендуем устанавливать значение 599).

7) В переменную SI141 записывается скорость порта RS485 (300-19200бит/с). Желательно чтобы значение совпадало с параметром в пункте 5.

8) В переменную SI142 записывается количество данных битов 8 или 7;

9) В переменную SI143 записывается значение контроля четности: 0= Even, 1=Odd, 2=None;

10) В переменную SI144 записывается управление потоком. Для порта RS485 необходимо указывать значение 2.

11) В переменную SI145 записывается время Time out порта (100мс*10=1сек);

12) В переменную SI146 записывается количество стоп битов. Модели Jazz 20 поддерживают только 1 стоп бит;

13) В переменную SI140 записывается значение 310 для инициализации порта с новыми параметрами.Необходимо чтобы этот параметр записывался последним в данной цепочке.

    После конфигурации порта RS485 и протокола Modbus необходимо настроить обращение к Slave устройствам и запрашиваемым регистрам. В нашем случае мы будем опрашивать два модуля расширения, которые имеют Slave ID 2 и 3 соответственно. Первый модуль расширения имеет 8 аналоговых входов 4-20мА (Slave ID 2), а второй модуль имеет 8 релейных выходов (Slave ID 3). В примере мы будем считывать первые два аналоговых входа модуля расширения и управлять одним релейным выходом на втором модуле расширения. 

    Третий блок программы соответствует опросу аналоговых входов у модуля расширения с Slave ID = 2.

  • Следовательно в параметр SI141 Вы записываете номер Slave ID опрашиваемого устройства.
  • В параметр SI 142 записывается стартовый адрес с которого мы хотим начать опрос. Регистрами модуля расширения являются целочисленные значения int16 с номерами 0-7 dex. Соответственно указывая значение 0, мы считываем первый аналоговый вход модуля расширения.
  • В параметре SI 143 указывается длина считываемых регистров. В нашем примере указано 2, значит мы будем считывать первые два аналоговых входа модуля расширения. 
  • В параметре SI 144 указывается тип переменной, в которую мы хотим записывать получаемые данные с Slave устройства (MB=1; SB=2; MI=3; SI=4; I=9; O=10). Следовательно, значение с аналогового модуля расширения является целочисленным и мы записываем его в переменную MI.
  • В параметре SI 144 указывается стартовый номер регистра в которым записывается получаемое значение. В нашем случае указано 0, следовательно данные с двух аналоговых входов модуля расширения будут записаны в MI0 и MI1. Если Вы укажите, например, значение 40, то данные запишутся в регистры MI40 и MI41.
  • В параметре SI 140 указывается команда Modbus в зависимости от типа переменной (команда modbus - значение SI140: 1 - 601; 5 - 602; 15 - 603; 3 - 604; 6 - 605; 16 - 606; 4 - 609; 2 - 611; 8 - 612. Например, 4 означает функция чтения целочисленных регистров "Read Input registers").

    Перед цепочкой опроса аналоговых входов мы установили битовое значение SB3, которое каждую секунду замыкает контакт и подает сигнал на считывания данных с модуля расширения. Таким образом считывание происходит каждую секунду. Данный блок (SB3) можно убрать из программы и опрос будет происходить постоянно, но в таком случае связи с другими Slave устройствами не будет. Данная пауза в одну секунду требуется для периодического опроса другого Slave устройства.

    В четвертом и пятом блоках программы рассмотрена функция управления релейным выходом с модулем расширения имеющим Slave ID = 3. Нажимая кнопку 7 (SB7) на панели контроллера, мы будем подавать сигнал на включение релейного выхода, а нажимая кнопку 8 (SB8) будет происходить отключение релейного выхода. Цепочка управления формируется аналогичным образом как и для считывания параметров с аналогового модуля расширения (Slave ID 2).

    Рассмотрим отличия между опросом аналогового и релейного модуля расширения:

  • В параметр SI 141 записываем другой Slave ID, в нашем случае 3.
  • В параметре SI 143 указываем значение 1, т.к. мы будем управлять только первым релейным выходом.
  • В параметре SI 144 указываем значение 1, так как это битовый параметр и он соответствует MB.
  • В параметре SI 145 указываем значение для битового регистра 0 или 1. Соответственно, при 0 релейных выход будет отключаться, при 1 включаться. 
  • В параметр SI 140 указываем функцию записи битового значения Modbus (602 соответствует функции 5 Modbus).

    Таким образом, необходимо последовательно создавать опрос необходимых Вам регистров и указывать паузы между цепочками не менее 20мс, так как в данных контроллерах все изменения с Slave устройств записываются через одни и те же системные регистры SI 140 - SI 145. Если Вы считываете только аналоговые данные с одного Slave устройства, то Вам достаточно создать одну цепочку с постоянным опросом, при этом выбрать длину считываемых регистров (SI143). Если Slave устройств несколько, то необходимо создавать несколько цепочек опросов и делать паузы между ними не менее 20мс.

    Если у Вас имеются сложности с конфигурацией и настройкой контроллеров Unitronics, Вы всегда можете обратиться в нашу техническую поддержку удобным для Вас способом info@analite.ru +7 343 227 227 4.

749