User Tools

Site Tools


plc:работа_с_расширителями_портов_modbus_через_hardware_plc

This is an old revision of the document!


Работа с расширителями портов Modbus фирмы Wellpro через Hardware PLC

Посылка и прием команд по протоколу Modbus возможна в контроллерах myCNC через запись в выделеные регистры из массива глобальных переменных.

Перечень регистров для работы с Modbus показан в таблице ниже.

Variable Address Description
60010 Ид. номер устройства. Изменить Идентификационный номер устройства на шине Modbus с которым ведется работа.
60011 Переключение протокола ASCII/RTU. Изменить протокол Modbus.
"0" - Modbus/RTU
"1" - Modbus/ASCII
60012 Скорость передачи. Запись в этот регистр изменит скорость передачи по последовательному каналу RS485. Доступные скорости
1200, 2400, 4800, 
9600, 19200, 38400, 
57600, 115200
60013 Communication parameters. Change UART connection parameters: number of bits (8 or 7), parity (none, odd, even), number of stop bits (1, 2). Data comes in 3 low nibbles. The lowest is stop bits, then parity, then number of bits. Example:
0x801=8,N,1
0x712=7,O,2
0x822=8,E,2
60019 Значение для записи. Записанное в этот регистр значение будет запомнено в скрытом регистре. При записи в регистр записи значение из скрытого регистра будет послано в удаленное устройство
60030 Старт записи. Запись в этот регистр инициирует посылку сообщения в удаленный контроллер по шине Modbus. Значение, записанное в этот регистр будет адресом, по которому осуществляется запись. Значение для записи будет взято из скрытого регистра
60020 Адрес для операции чтения. Записанное в регистр значение будет защелкнуто в регистре Адрес для чтения. При операции
60031 Чтение Регистра. При чтении с этого регистра инициируется посылка в удаленное устройство команды чтения регистра с адреса, запомненным при записи в регистр 60020. PLC контроллер зачыпает на время ожидания ответной посылки из удаленного устройства.
60035 Запись битового поля. При записи в этот регистр осуществляется операция записи в устройство Modbus с помощью команды WRITE_MULTIPLE_COILS (0xf). Адрес регистра для записи задается в младших 16 битах (младшее слово) записываемого значения. Количество бит, которые надо записать задаются в старшем байте.
Например - 0x080000FF - включить 8 бит регистра
0x080000F0 - включить старшие 4 бит регистра и выключить младшие 4 бит 8-битного регистра.
60036 Чтение Битового поля. При чтении с этого регистра инициируется посылка в удаленное устройство команды чтения входных бит с адреса, запомненного при записи в регистр 60020. PLC контроллер засыпает на время ожидания ответной посылки из удаленного устройства.
60037 Запись регистра. При записи в этот регистр осуществляется операция записи в устройство Modbus с помощью команды WRITE_SINGLE_REGISTER (0x6). В параметре задается адрес регистра. Ид. номер устройства и записываемое значение хранится в регистрах 60010, 60019.

Примеры PLC программ для управления Modbus расширителями портов

1. Задание параметров соединения через PLC

gvarset(60011,0);    //Выставить режим Modbus RTU
gvarset(60012,9600); //Выставить скорость передачи 9600

2. Начальная инициализация расширителей Modbus Wellpro.

Для того, чтобы запрограммировать идентификационный номер устройства у расширителя Wellpro, надо послать соответствующий номер в регистр по адресу 0x64 устройства с Ид. номером “0”.

Пример кода показан ниже

  gvarset(60010,0);   //Установить Ид. удаленного устройства (0)
  gvarset(60019,1);   //Установить значение регистра (1)
  gvarset(60037,0x64);//Установить адрес регистра (0x64) и послать Modbus кманду

3. Запись в дискретные выходы.

  gvarset(60010,1);    //Задание Ид. номера устройства
  gvarset(60019,0xff); //Записываемое значение
 
  x=(8<<24)+0xFF;      //Записываем 8 бит, включить все 8 выходов.
  gvarset(60035,x);    //Послать команду

Автоматический опрос Modbus расширителей.

В myCNC имеется возможность включить автоматический опрос Mosbus устройств. Для этого необходимо задать соответствующие параметры в окне настроек “I/O Expand cards mapping”

1) Необходимо запомнить что опрашивать - Modbus Input Holding Register - Группу входных регистров (2, 4, 6 или 8 регистров) - Modbus/Coil Input expansion - Входные дискретные выходы - Modbus/Coil Output expansion - Выходные дискретные выходы

2) Ид. номер устройства Modbus

3) Порт источника - В случае Modbus устройства это адрес регистра для чтения/записи

4) Порт назначения - В случае Mapping Modbus портов - это номер 8-битного порта.

Например, если это выходы и Порт назначения =0, то при записи в порты 0..7 все значения будут параллельно транслироваться и на выходные пины Modbus устройства,

если это входы и Порт назначения =2, то состояние входных пинов Modbus устройства бубут транслироваться на входы 16…23 контроллера myCNC.

Обращение с оттранслированными входными и выходными пинами будет такое же, как и с обычными входами-выходами контроллера myCNC. Надо только иметь ввиду задержку, возникающую при опросы Modbus устройств. Цикл обращения к Modbus устройству (1 строка Mapping в настройках) составляет около 30мс.

plc/работа_с_расширителями_портов_modbus_через_hardware_plc.1546392799.txt.gz · Last modified: 2019/01/01 20:33 by skirillov

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki