plc:работа_с_расширителями_портов_modbus_через_hardware_plc
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
plc:работа_с_расширителями_портов_modbus_через_hardware_plc [2019/01/01 19:55] – skirillov | plc:работа_с_расширителями_портов_modbus_через_hardware_plc [2019/01/01 20:16] – skirillov | ||
---|---|---|---|
Line 20: | Line 20: | ||
| 60030 | **Старт записи**. | | 60030 | **Старт записи**. | ||
| 60020 | **Адрес для операции чтения**. Записанное в регистр значение будет защелкнуто в регистре **Адрес для чтения**. При операции | | | 60020 | **Адрес для операции чтения**. Записанное в регистр значение будет защелкнуто в регистре **Адрес для чтения**. При операции | | ||
- | | 60031 | **Чтение**. При чтении с этого регистра инициируется посылка в удаленное устройство команды чтения регистра с адреса, | + | | 60031 | **Чтение |
- | | 60035 | **Запись**. При записи в этот регистр осуществляется операция записи в устройство Modbus с помощью команды WRITE_MULTIPLE_COILS (0xf). Адрес регистра для записи задается в младших 16 битах (младшее слово) записываемого значения. Количество бит, которые надо записать задаются в старшем байте. \\ Например - 0x080000FF - включить 8 бит регистра \\ 0x080000F0 - включить старшие 4 бит регистра и выключить младшие 4 бит 8-битного регистра. | | + | | 60035 | **Запись |
- | | 60036 | **Чтение**. При чтении с этого регистра инициируется посылка в удаленное устройство команды чтения входных бит с адреса, | + | | 60036 | **Чтение |
- | | 60037 | **Запись**. При записи в этот регистр осуществляется операция записи в устройство Modbus с помощью команды WRITE_SINGLE_REGISTER (0x6). В параметре задается адрес регистра. Ид. номер устройства и записываемое значение хранится в регистрах 60010, 60019. | | + | | 60037 | **Запись |
Примеры PLC программ для управления Modbus расширителями портов | Примеры PLC программ для управления Modbus расширителями портов | ||
Line 53: | Line 53: | ||
- | 3. Запись в выходной регистр | + | 3. Запись в дискретные |
<code C> | <code C> | ||
+ | gvarset(60010, | ||
+ | gvarset(60019, | ||
- | | + | x=(8<< |
- | gvarset(60019, | + | gvarset(60035,x); //Послать команду |
- | + | ||
- | x=(8<< | + | |
- | gvarset(60035, | + | |
- | + | ||
- | + | ||
- | gvarset(60010, | + | |
- | gvarset(60019,1); // | + | |
- | gvarset(60037,0x64);//Установить адрес регистра (0x64) и послать | + | |
</ | </ | ||
+ | ===== Автоматический опрос 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 - Выходные дискретные выходы | ||
- | 8-bits counter to Modbus | + | 2) Ид. номер устройства |
- | <code C> | + | 3) Порт источника - В случае |
- | gvarset(60010, | + | |
- | data=0; | + | |
- | x=(8<< | + | |
- | + | ||
- | do{ | + | |
- | + | ||
- | count=(count+1)& | + | |
- | if (count==0) | + | |
- | { | + | |
- | data=(data+1)& | + | |
- | gvarset(60019, | + | |
- | gvarset(60035, | + | |
- | }; | + | |
- | }while(1); | + | |
- | </ | + | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | <code c> | + | |
- | main() | + | |
- | { | + | |
- | gvarset (60010, | + | |
- | gvarset (60011, | + | |
- | gvarset (60012, | + | |
- | gvarset (60013, | + | |
- | gvarset (60019, | + | |
- | gvarset (60030, | + | |
- | + | ||
- | exit(99); | + | |
- | }; | + | |
- | </code> | + | |
+ | 4) Порт назначения - В случае Mapping Modbus портов - это номер 8-битного порта. | ||
- | Modbus Scheduler in myCNC has 4 messages queue. Up to 4 registers can be written immediately from PLC procedure. Modbus | + | Например, |
- | Modbus | + | если это **входы** и Порт назначения =2, то состояние входных пинов |
- | < | + | Обращение с оттранслированными входными и выходными пинами будет такое же, как и с обычными входами-выходами контрлллера myCNC. Надо только иметь ввиу задержку, |
- | If Modbus device controlled directly from PLC procedure, " | + | |
- | checkbox should be UNCHECKED in "Cfg-> | + | |
- | {{ mycnc: | ||
plc/работа_с_расширителями_портов_modbus_через_hardware_plc.txt · Last modified: 2019/01/01 20:34 by skirillov