12
Промислові мережі та інтеграційні технології Утиліти MODBUS реєстрація [email protected] автор і лектор: Олександр Пупена ([email protected]) зворотній зв’язок по курсу: Інтернет-форум АСУ в Україні (www.asu.in.ua) 07.04.2015 NET - ModbusUtility [email protected] 1

3 4 modbus utility

Embed Size (px)

Citation preview

Page 1: 3 4 modbus utility

Промислові мережі та інтеграційні технології

Утиліти MODBUS реєстрація [email protected]

автор і лектор: Олександр Пупена ([email protected]) зворотній зв’язок по курсу: Інтернет-форум АСУ в Україні (www.asu.in.ua)

07.04.2015 NET - ModbusUtility

[email protected] 1

Page 2: 3 4 modbus utility

Використання універсальних утиліт для роботи з COM-портами та TCP, сніфери, аналізатори

07.04.2015 NET - ModbusUtility

[email protected] 2

Утиліти для роботи з СОМ та TCP • ручне формування та аналіз байтових послідовностей (кадрів для

Serial та пакетів по TCP та UDP) • утиліти для роботи з COM див тему 2.3.Утиліти для роботи з СОМ-

портом • утиліти для роботи з послідовностями поверх TCP/UDP

• http://packetsender.com/ - відправка/прийом поверх TCP/IP (UDP/IP)

Сніфери, аналізатори

• прослуховування з аналізом протоколу: • WireShark – сніфер, підтримує аналіз пакетів Modbus TCP/IP

• аналізатори Modbus PDU, аналізатор повідомлень (парсери): • CAS Modbus RTU/TCP Parser Analyze Modbus Messages. Type in a string of hex bytes

and the parser will break the message out for you showing you destination, function, data..

Page 3: 3 4 modbus utility

Утиліти для імітації Modbus Server/Slave

07.04.2015 NET - ModbusUtility

[email protected] 3

• функції Modbus RTU/ASCII Slave: • ModLink компоненти для Borland Delphi/С++. Є скомпільований демо-проект

Modbus RTU/ASCII Slave для 32-х та 64-х бітних платформ. • MODBUS Serial RTU+TCP/IP Simulator http://www.plcsimulator.org/ Імітатор

Modbus RTU/ASCII Slave • Modbus DiagSlave консольна утиліта Modbus RTU/ASCII Slave (Linux, QNX RTOS 6.0.0,

Win32) • Modbus Tools Набір утиліт Modbus Slave (тріал на 30 діб по 10 хв), .NET та ActiveX

компоненти. • http://simplymodbus.ca Simply Modbus Slave, в демо-режимі обмежена

функціональність • http://www.tracker2.narod.ru/ - ModbusSlave у вільному доступі, відкриті коди, з

2001 року не оновлюється

• функції Modbus TCP Server: • MODBUS Serial RTU+TCP/IP Simulator http://www.plcsimulator.org/ Імітатор

Modbus TCP/IP Server. • Modbus DiagSlave консольна утиліта Modbus TCP/IP Server (Linux, QNX RTOS 6.0.0,

Win32) • Ananas Modbus TCP/IP Server, тільки Input та Holding Registers • http://www.tracker2.narod.ru/ - ModbusTCPSlave, у вільному доступі, відкриті коди,

з 2001 року не оновлюється

Page 4: 3 4 modbus utility

Утиліти Modbus Client/Master

07.04.2015 NET - ModbusUtility

[email protected] 4

• функції Modbus RTU/ASCII Master: • ModLink компоненти для Borland Delphi/С++. Є скомпільований демо-проект Modbus RTU/ASCII

Master для 32-х та 64-х бітних платформ. • LibModbus - Linux dynamic library Відкриті бібліотеки (створені на С) для Linux, Mac OS X,

FreeBSD, QNX and Win32 для відправки/прийому даних з використанням протоколу Modbus RTU/ASCII.

• Modpoll Modbus Polling Tool консольна утиліта Modbus RTU/ASCII Master (Linux, QNX RTOS 6.0.0, Win32)

• Modbus RTU and TCP ActiveX controls ActiveX, .NET компоненти (демо на 60 хвилин) для Modbus RTU/ASCII Master

• CAS Modbus Explorer Modbus RTU/ASCII Master, пошук Modbus Server в мережах, визначення діапазону доступних змінних

• http://simplymodbus.ca Simply Modbus Master, в демо-режимі обмежена функціональність

• функції Modbus TCP Client: • Modpoll Modbus Polling Tool консольна утиліта Modbus TCP/IP Client (Linux, QNX RTOS 6.0.0,

Win32) • Modbus RTU and TCP ActiveX controls ActiveX, .NET компоненти (демо на 60 хвилин) для

Modbus TCP/IP Client • Ananas Modbus TCP/IP Client, тільки Input та Holding Registers • CAS Modbus Explorer Modbus TCP/IP Client, пошук Modbus Server в мережах, визначення

діапазону доступних змінних • http://simplymodbus.ca Simply Modbus TCP Client, в демо-режимі обмежена функціональність

Page 5: 3 4 modbus utility

Modlink VCL Demo http://www.ozm.cz/ivobauer/modlink/downloads.htm

07.04.2015 NET - ModbusUtility

[email protected] 5

• розрахована перш за все як демонстрації можливостей набору компонентів Delphi/C++ Builder

• Modbus RTU/ASCII Master • Modbus RTU/ASCII Slave • Read/Write Registers, Bits • Diagnostic Functions • вікно виводу з пакетами • (-) у вікні налаштування Серверу

(Slave) добавлення тільки по одній змінній

• на сайті доступний базовий набір компонентів

Page 6: 3 4 modbus utility

Modbus serial RTU/ASCII/TCP simulator http://www.plcsimulator.org

07.04.2015 NET - ModbusUtility

[email protected] 6

• Modbus RTU/ASCII Slave • Modbus TCP/IP Server • вікно виводу пакетів • імітація роботи усіх Slave на шині • підтримка VB-скриптів для імітації

роботи Slave (наприклад програми ПЛК)

• за символічну ціну автор викладує вихідний код

Page 7: 3 4 modbus utility

Modpoll Modbus® Polling Tool http://www.focus-sw.com/fieldtalk/modpoll.html

07.04.2015 NET - ModbusUtility

[email protected] 7

• консольна утиліта • Modbus RTU/ASCII Master • Modbus TCP/IP Client • робота з FLOAT, DINT • платформи Linux (i386),

Windows (i386), Solaris (Sparc), QNX 6 (i386)

• викладений вихідний код на C++

modpoll [OPTIONS] SERIALPORT|HOST [WRITEVALUES...] Arguments: SERIALPORT Serial port when using Modbus ASCII or Modbus RTU protocol COM1, COM2 ... on Windows /dev/ttyS0, /dev/ttyS1 ... on Linux /dev/ser1, /dev/ser2 ... on QNX HOST Host name or dotted IP address when using MODBUS/TCP protocol General options: -m ascii Modbus ASCII protocol -m rtu Modbus RTU protocol (default if SERIALPORT contains /, \\ or COM) -m tcp MODBUS/TCP protocol (default otherwise) -m enc Encapsulated Modbus RTU over TCP -a # Slave address (1-255 for serial, 0-255 for TCP, 1 is default)\n -r # Start reference (1-65536, 1 is default) -c # Number of values to poll (1-125, 1 is default) -t 0 Discrete output (coil) data type -t 1 Discrete input data type -t 3 16-bit input register data type -t 3:hex 16-bit input register data type with hex display -t 3:int 32-bit integer data type in input register table -t 3:mod 32-bit module 10000 data type in input register table -t 3:float 32-bit float data type in input register table -t 4 16-bit output (holding) register data type (default) -t 4:hex 16-bit output (holding) register data type with hex display -t 4:int 32-bit integer data type in output (holding) register table -t 4:mod 32-bit module 10000 type in output (holding) register table -t 4:float 32-bit float data type in output (holding) register table -

-i Slave operates on big-endian 32-bit integers -f Slave operates on big-endian 32-bit floats -e Use Daniel/Enron single register 32-bit mode -0 First reference is 0 (PDU addressing) instead 1 -1 Poll only once only, otherwise every poll rate interval -l Poll rate in ms, (1000 is default) -o # Time-out in seconds (0.01 - 10.0, 1.0 s is default) Options for MODBUS/TCP: -p # TCP port number (502 is default) Options for Modbus ASCII and Modbus RTU: -b # Baudrate (e.g. 9600, 19200, ...) (19200 is default) -d # Databits (7 or 8 for ASCII protocol, 8 for RTU) -s # Stopbits (1 or 2, 1 is default) -p none No parity -p even Even parity (default) -p odd Odd parity -4 # RS-485 mode, RTS on while transmitting and another # ms after

Page 8: 3 4 modbus utility

Modbus Tools (Modbus Poll, Modbus Slave …) http://www.modbustools.com/index.html

07.04.2015 NET - ModbusUtility

[email protected] 8

• тріал-версії тільки на 60 днів по 10 хв на запуск (хоча програми дуже популярні :-) )

• Poll: Modbus RTU/ASCII Master • Poll: Modbus TCP/IP (+UDP) Client • Poll: Modbus RTU over TCP/IP(+UDP) Client • Slave: Modbus RTU/ASCII Slave • Slave : Modbus TCP/IP (+UDP) Srever • Slave : Modbus RTU over TCP/IP (+UDP)

Server • вікно виводу пакетів • є інтерфейс OLEAutomation для доступу

наприклад. VB, VBA

Page 11: 3 4 modbus utility

Wireshark (прослуховувач) https://www.wireshark.org

07.04.2015 NET - ModbusUtility

[email protected] 11

Page 12: 3 4 modbus utility

Утиліти та компоненти для роботи з Modbus (вибірка з Inernet)

07.04.2015 NET - ModbusUtility

[email protected] 12

http://modbus.org/tech.php колекція утиліт від Modbus.org ModLink компоненти для Borland Delphi/С++. Є скомпільований демо-проект Modbus RTU/ASCII Master/Slave для 32-х та 64-х бітних платформ. LibModbus - Linux dynamic library Відкриті бібліотеки (створені на С) для Linux, Mac OS X, FreeBSD, QNX and Win32 для відправки/прийому даних з використанням протоколу Modbus RTU/ASCII. Jamod - Java Modbus implementation Java Modbus Library. MODBUS Serial RTU+TCP/IP Simulator http://www.plcsimulator.org/ Імітатор Modbus RTU/ASCII Slave та Modbus TCP/IP Server. Modpoll Modbus Polling Tool консольна утиліта Modbus RTU/ASCII Master та Modbus TCP/IP Client (Linux, QNX RTOS 6.0.0, Win32) Modbus DiagSlave консольна утиліта Modbus RTU/ASCII Slave та Modbus TCP/IP Server (Linux, QNX RTOS 6.0.0, Win32) Modbus RTU and TCP ActiveX controls ActiveX, .NET компоненти (демо на 60 хвилин) для Modbus RTU/ASCII Master, Modbus TCP/IP Client Modbus Tools Набір утиліт ModbusPoll та Modbus Slave (тріал на 30 діб по 10 хв), .NET та ActiveX компоненти. Ananas Modbus TCP/IP Client/Server, тільки Input та Holding Registers CAS Modbus RTU/TCP Parser Analyze Modbus Messages. Type in a string of hex bytes and the parser will break the message out for you showing you destination, function, data. CAS Modbus Explorer Modbus RTU/ASCII Master, Modbus TCP/IP Client, пошук Modbus Server в мережах, визначення діапазону доступних змінних http://simplymodbus.ca Simply Modbus Master, Simply Modbus Slave, Simply Modbus TCP Client, в демо-режимі обмежена функціональність http://www.tracker2.narod.ru/ - ModbusSlave, ModbusTCPSlave, у вільному доступі, відкриті коди, з 2001 року не оновлюється http://www.modbusdriver.com/ - Modbus Protocol Drivers & Libraries WireShark – сніфер, підтримує аналіз пакетів Modbus TCP/IP http://packetsender.com/ - відправка/прийом поверх TCP/IP (UDP/IP)