Upload
alexandr-pupena
View
130
Download
1
Embed Size (px)
Citation preview
Промислові мережі та інтеграційні технології
Утиліти MODBUS реєстрація [email protected]
автор і лектор: Олександр Пупена ([email protected]) зворотній зв’язок по курсу: Інтернет-форум АСУ в Україні (www.asu.in.ua)
07.04.2015 NET - ModbusUtility
Використання універсальних утиліт для роботи з COM-портами та TCP, сніфери, аналізатори
07.04.2015 NET - ModbusUtility
Утиліти для роботи з СОМ та 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..
Утиліти для імітації Modbus Server/Slave
07.04.2015 NET - ModbusUtility
• функції 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 року не оновлюється
Утиліти Modbus Client/Master
07.04.2015 NET - ModbusUtility
• функції 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, в демо-режимі обмежена функціональність
Modlink VCL Demo http://www.ozm.cz/ivobauer/modlink/downloads.htm
07.04.2015 NET - ModbusUtility
• розрахована перш за все як демонстрації можливостей набору компонентів Delphi/C++ Builder
• Modbus RTU/ASCII Master • Modbus RTU/ASCII Slave • Read/Write Registers, Bits • Diagnostic Functions • вікно виводу з пакетами • (-) у вікні налаштування Серверу
(Slave) добавлення тільки по одній змінній
• на сайті доступний базовий набір компонентів
Modbus serial RTU/ASCII/TCP simulator http://www.plcsimulator.org
07.04.2015 NET - ModbusUtility
• Modbus RTU/ASCII Slave • Modbus TCP/IP Server • вікно виводу пакетів • імітація роботи усіх Slave на шині • підтримка VB-скриптів для імітації
роботи Slave (наприклад програми ПЛК)
• за символічну ціну автор викладує вихідний код
Modpoll Modbus® Polling Tool http://www.focus-sw.com/fieldtalk/modpoll.html
07.04.2015 NET - ModbusUtility
• консольна утиліта • 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
Modbus Tools (Modbus Poll, Modbus Slave …) http://www.modbustools.com/index.html
07.04.2015 NET - ModbusUtility
• тріал-версії тільки на 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
CAS Modbus Scanner (команда Poll) http://www.chipkin.com/products/software/modbus-software/cas-modbus-explorer/
07.04.2015 NET - ModbusUtility
• Modbus ASCII/RTU Master • Modbus TCP/IP Client • декілька з'єднань • вікно виводу пакетів • безкоштовна!
CAS Modbus Scanner (команда Discover) http://www.chipkin.com/products/software/modbus-software/cas-modbus-explorer/
07.04.2015 NET - ModbusUtility
• пошук Серверів (ASCII/RTU/TCP) • для кожного пристрою визначення
діапазону регістрів • безкоштовна!
Wireshark (прослуховувач) https://www.wireshark.org
07.04.2015 NET - ModbusUtility
Утиліти та компоненти для роботи з Modbus (вибірка з Inernet)
07.04.2015 NET - ModbusUtility
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)