Обратная связь

Работа с протоколом Modbus-RTU на ПЛК Omron серии CP

В данной заметке рассмотрим некоторые нюансы работы с протоколом Modbus-RTU на контроллерах Omron серии CP, используемыми в режиме slave’a и master’а. В качестве примера рассмотрим управление ПЧ Schneider Electric ATV630 с ПЛК CP1L по Modbus-RTU.

         1.ПЛК в роли slave’a.

Для организации связи используем функциональный блок ModbusSlave.

Поддерживаемые CPU: CP1H,CP1L-(E)L,CP1L-(E)M.
Поддерживаемые коды функции:16x03-чтение регистров DM-области
                            16x04-чтение регистров CIO-области
                            16x05-запись 1 бита CIO-области
                            16x06-запись 1 слова DM-области
                            16x08-тест
                            16x10-запись группы регистров DM-области
Диапазоны памяти: CP1L-L : CIO0 to CIO6143,D0 to D9999
                  CP1L-M : CIO0 to CIO6143 and D0 to D32767

Master’ом выступает ПК с программой Multiway. Связь происходит через плату расширения CP1W-CIF11(Преобразователь RS-232C в RS-422/485).Настройки порта 2 приведены ниже:

nastrojka-porta-2-slave

Выставление RS-232C  в качестве стандарта связи ошибкой не является,а обусловлено особенностью данного режима работы.Примеры посылок и ответы на них:

Запрос на чтение регистра D10
[12:59:03,699] <--:01 03 00 0A 00 01 A4 08 
[12:59:03,938] -->:01 03 02 00 05 78 47 
Запись регистра D10 значение 68(#44).
[13:09:54,914] <--:01 06 00 0A 00 44 A9 FB 
[13:09:55,164] -->:01 06 00 0A 00 44 A9 FB  

  2.ПЛК в роли master’a.

Для организации связи используем функцию Modbus-RTU Easy Master.Данная функция использует слова D32200-D32400,A640-A641(зависит от типа CPU,и номера порта связи).Распределение памяти и настройка порта приведены ниже(правила заполнения регистров см. файл Easy modbus master(pdf-презентация)):

Ultimate Responsive Image Slider Plugin Powered By Weblizar

Для использования функции без вспомогательных функциональных блоков необходимо заполнить регистры для параметризации посылки,и инициировать запуск обмена битом A640.0,A641.0. В случае успешного выполнения бит A640.1/A641.0 перейдут в состояние логической 1. В противном случае активируется бит ошибки A640.2/A641.2. Регистр контрольной суммы заполняется автоматически.Примеры запрос/ответ приведены ниже:

Ultimate Responsive Image Slider Plugin Powered By Weblizar

  3.Управление ПЧ Schneider Electric AVT630 по протоколу Modbus-RTU 

В случае использования функции Modbus-RTU Easy Master без дополнительных функциональных блоков ,опрос инициирует сам пользователь,для циклического автоматического опроса целесообразней использовать уже готовые ФБ. В данном случае можно решить данную проблему блоками ModbusSolution,которые позволяют создать до 100 записей на чтение и до 100 записей на запись данных. Обмен происходит циклически. Записи можно вводить вручную,либо воспользоватся прилагаемым *.xls файлом.

Поддерживаемые функции:
    01: Read Coil Status
    02: Read Input Status
    03: Read Holding Registers (1 or 2 registers)
    04: Read Input Registers (1 – 32 coils)
    05: Force Single Coil
    06: Preset Single Register
    0F: Force Multiple Coils (1 – 32 coils)
    10: Preset Multiple Registers (1 or 2 registers)

Стоит учитывать что данное решение использует часть памяти программ (около 14% в случае CP1L-M и одного порта) и часть памяти DM-области (D5000-D7000,по 10 слов на запись).Для управления ATV 630 используем профайл Cia402,который предоставляет ПЧ в виде стандартизованной машины состояния со словом управления (CMd-16#2135) и словом состояния (Eta-16#0C81).Для задания скорости/рамп разгона торможения можно использовать соответствующие регистры(LFrd-16#2136,SMIL-16#219F,SMAL-16#21A1,SPAL-16#21A3,SPat-16#21A5,SPdl-16#21A6 ,SPdt-16#21A6):

cia402

Настройки ATV630:
  [Go to Factory Settings] (GFS) = OK
  [Modbus Address] (Add) -> адрес слейва -> 01
  [Modbus baud rate] (tbr) -> 19K2 (19.2 Kbps)
  [Modbus format] (tFO) -> 8E1 (8 data bits, even parity, 1 stop bit)
  [Modbus Time Out] (tto) -> 2
  [Ref.1 channel] (Fr1) -> [Ref. Freq-Modbus] (Mdb) value.

Далее заполняем посылки на запись регистров CMd,регистров управления скоростью и чтение регистра слова состояния ПЧ Eta.

Чтение регистра Eta

Чтение регистра Eta

Запись регистров CMd,Lfr

Запись регистров CMd,Lfr

Ultimate Responsive Image Slider Plugin Powered By Weblizar

Управление ПЧ сводится к записи в регистр CMd последовательности команд согласно диаграмме состояния (см.Modbus Serial Link Manual,стр. 20) и подтверждения перехода в нужное состояние через чтение регистра Eta.

Документация и функциональные блоки:

Easy modbus master(pdf-презентация)

ModbusSlave RTU(архив с ФБ)

ModbusSolutionv212(архив с ФБ)

ATV600 – communication parameters

Modbus-serial-link-manual-embedded(Schneider Electric,Altivar)

Наверх