Modbus Client
Windows 7/8/10/11
v2.38
Placeholder
This client is fully compliant with Modbus specifications, it allows to read and write registers through
both Modbus RTU and TCP protocols. The main window contains the basic information to configure
the protocol comunication. A USB-485 converter is required to query RTU slaves. Starting from version
v2.38 the client implements the new standard Modbus Secure.
Read/write coils
Read and write functions of digital outputs.
Placeholder
Read inputs
Read functions of digital inputs.
Placeholder
Read/wire holding register
Read and write of analog outputs
Placeholder
Read input registers
Read of analog inputs
Placeholder
Supported functions:
FC01
Read Coil Status
Read digitali outputs
FC02
Read Input Status
Read digital inputs
FC03
Read Holding Register
Read input/output registers
FC04
Read Input Register
Read input registers
FC05
Force Single Coil
Write single output
FC06
Preset Single Register
Write single register
FC15
Force Multiple Coils
Write multiple outputs
FC16
Preset Multiple Registers
Write multiple registers
Diagnostic functions
In the diagnostics tab, diagnostic commands can be sent to the queried device, be aware that not all
devices respond to the FC08 function:
FC08
Diagnostic
Supported diagnostic functions:
— 00 Return Query Data
— 01 Restart Comunications Option
— 02 Return Diagnostic Register
— 03 Change ASCII Input Delimeter
— 04 Force Listen Only Mode
— 10 Clear Counters and Diagnostic Register
— 11 Return Bus Message Count
— 12 Return Bus Comunication Error Count
— 13 Return Bus Exception Error Count
— 14 Return Slave Message Count
— 15 Return Slave No Response Count
— 16 Return Slave NAK Count
— 17 Return Slave Busy Count
— 20 Clear Overrun Counter and Flag
Modbus Secure
TLS v1.2 with x.509 certificate
Starting with version 2.38, support has been introduced for the ModBus Secure standard, according to
the specifications described in the document MB-TCP-Security-v21_2018-07-24.
Placeholder
Modbus Tools
Overview
ModbusTools are cross-platform (Windows, Linux) Modbus simulator tools (client and server) with GUI
to work with standard Modbus Protocol.
Modbus Tools are a free, open-source tools with a simple user interface written in C++/Qt.
It implements TCP, RTU and ASCII versions of Modbus Protocol.
New in version 0.4:
From now server application allows you to create program logic for the Modbus device simulator
using your favorite Python programming language.
Software implements such Modbus functions as:
1
(0x01
) —READ_COILS
2
(0x02
) —READ_DISCRETE_INPUTS
3
(0x03
) —READ_HOLDING_REGISTERS
4
(0x04
) —READ_INPUT_REGISTERS
5
(0x05
) —WRITE_SINGLE_COIL
6
(0x06
) —WRITE_SINGLE_REGISTER
7
(0x07
) —READ_EXCEPTION_STATUS
15
(0x0F
) —WRITE_MULTIPLE_COILS
16
(0x10
) —WRITE_MULTIPLE_REGISTERS
17
(0x11
) —REPORT_SERVER_ID
(since v0.4)22
(0x16
) —MASK_WRITE_REGISTER
(since v0.3)23
(0x17
) —READ_WRITE_MULTIPLE_REGISTERS
(since v0.3)
ModbusTools work with Qt Framework version 5 (5.8 or later).
It based on ModbusLib
cross platform library project:
https://github.com/serhmarch/ModbusLib
Memory item addressing
Modbus Tools uses a 6-digit memory addressing type.
The left digit indicates the memory type (0
, 1
, 3
or 4
) and
the right 5 digits indicate the address of the memory cell starting from 1 — [1:65536].
New in version 0.4:
IEC61131-3 addressing type is available. There is a setting that allows you to choose between
standard Modbus (1 based) and IEC61131-3 (0 based) addressing types.
New in version 0.4.1:
IEC61131-3 Hex (0 based) addressing type is available, e.g.
%I0000h
,%Q001Fh
,%IW0B7Ch
,%MW1A01h
.
Memory types decribed below:
-
0x
— intended for coils (discrete outputs, boolean), corresponding modern PLC notation is%M
or%Q
(e.g.000001
coil in modern notation can be accessed like%M0
or%Q0
), can have Read/Write access,
corresponding access functions areREAD_COILS
(which number is1
) andWRITE_MULTIPLE_COILS
(15
,0x0F
); -
1x
— intended for discrete inputs (boolean), corresponding modern PLC notation is%I
(e.g.100001
boolean in modern notation can be accessed like%I0
), has ReadOnly access,
corresponding access function isREAD_DISCRETE_INPUTS
(2
); -
3x
— intended for input registers (analog inputs, 16 bit word), corresponding modern PLC notation is%IW
(e.g.300001
word in modern notation can be accessed like%IW0
), has ReadOnly access,
corresponding access function isREAD_INPUT_REGISTERS
(4
); -
4x
— intended for holding registers (analog outputs, 16 bit word), corresponding modern PLC notation is%MW
(e.g.400001
word in modern notation can be accessed like%MW0
), , can have Read/Write access,
corresponding access functions areREAD_HOLDING_REGISTERS
(3
) andWRITE_MULTIPLE_REGISTERS
(16
,0x10
);
Addressing examples:
Memory type | Standard (1 based) | IEC 61131-3 (0 based) | IEC 61131-3 Hex (0 based) |
---|---|---|---|
Coils | 000001 |
%Q0 |
%Q0000h |
Discrete inputs | 100016 |
%I15 |
%I000Fh |
Input registers | 300017 |
%IW16 |
%IW0010h |
Holding registers | 406658 |
%MW6657 |
%MW1A01h |
Release
All compiled binaries are located in the latest release:
https://github.com/serhmarch/ModbusTools/releases
About Modbus Client
The client implements access to a remote Modbus device.
However, the client can work not only with one device, but with several devices that can be connected to
a single network, which is especially useful when working with RTU and ASCII protocols,
when access to all Modbus servers is realized through a single serial port.
However, it can also be useful when using the TCP version of the protocol, for example,
if you use the TCP->RTU bridge.
All work is performed within a single project.
The main entities in the project are Port, Device and DataViewItem.
Port contains network settings for both TCP/IP and serial ports.
Device contains settings for a single device (such as Modbus Unit Address, etc.).
The DataViewItem contains a single data unit to be read from the remote device and
has many formats to represent the current data.
Send Message window
The client has the ability to process one separate Modbus function with full configuration of the parameters
of this function, view/edit read/write data with the format specified, view Modbus packets of this function:
This window can be opened using menu Tools->Send Message
.
You can send a message to the specified device or
to the specified port with unit address (e.g. unit=0
for broadcast request).
It works in parallel with regular Modbus application messages and
can be seen in LogView as regular Modbus message as well.
Scanner window (since v0.3)
Scanner
tool window is intended to scan Modbus network to determine which device
with current settings are present in the network.
This window can be opened using menu Tools->Scanner
Scanner scans Modbus network in range [UnitStart
:UnitEnd
] with tries
attempts.
The request can be customized using Scanner Request
-dialog,
which is called using ...
button in Request
field.
There is a list of found devices in central widget.
Found devices can be add to the current project:
button To Project
add selected devices, All To Project
— all devices will be added to the project.
About Modbus Server
The server implements Modbus server device and works like Modbus simulator.
However, the server can not only simulate single device, but can simulate several devices that can be connected
to a single network, which is especially useful when working with RTU and ASCII protocols,
when access to all Modbus servers is realized through a single serial port.
However, it can also be useful to simulate Modbus network using the TCP version of the protocol,
for example, if you use the TCP->RTU bridge, Modbus server can replace this bridge with remote devices
for testing purposes.
All work is performed within a single project.
The main entities in the project are Port, Device, DataViewItem and Action.
Port contains network settings for both TCP/IP and serial ports.
Device contains settings for a single device (such as Modbus Unit Address, memory size etc).
The DataViewItem contains a single data unit to be read/write from the device and has many formats to
represent the current data. Action provides simulation capabilities (automatic change of device memory values).
Scripting using Python (since v0.4)
Since v0.4 version ‘server’ application allows to extend logic of your Modbus device
simulator using one the most popular programming language — Python.
All you need to use scripting is installed Python interpreter and PyQt5
library.
server
application gives you access to the device’s internal Modbus memory and
provides Output
window where standard output is redirected.
The rest is the power of Python, its standard library, 3rd party libraries,
and your own libraries and scripts.
Every device has its own set of scripts: Init
, Loop
and Final
.
Those scripts accessable through device menu or contex menu for device.
Init
script performs once at program start (when push Start
button).
It intended for making python import
instructions, create objects, files etc.
Modules, objects and files created within will be accessable from Loop
and Final
scripts.
Loop
script performs cyclic until program is stopped.
It has implicit cycle so user don’t have to cycle his program manualy.
Final
script performs once at program stop (when push Stop
button).
It intended for release resources previously created in Init
and Loop
scripts, save files etc.
Standard objects for access corresponding device memory: mem0x
, mem1x
, mem3x
, mem4x
.
Every object has set of get/set function to work with different data types:
mem0x
,mem1x
:get<datatype>(bitoffset:int)->int
andset<datatype>(bitoffset:int,value:int)
mem3x
,mem4x
:get<datatype>(regoffset:int)->int
andset<datatype>(regoffset:int,value:int)
<datatype>
: int8
, uint8
, int16
, uint16
, int32
, uint32
, int64
, uint64
, float
, double
.
Examples:
v = mem0x.getint8(0) mem1x.setint16(1, -1) mem3x.setuint16(0, 65535) mem4x.setdouble(10, 2.71828)
Also index operation is supported.
In case of discrete memory (mem0x
, mem1x
) it work with boolean
values
and for registers memory (mem3x
, mem4x
) it work with uint16
values:
b0 = mem0x[0] mem1x[38] = True mem3x[100] = 65535 if mem4x[0] > 32768: mem4x[0] = 0
New in version 0.4.3:
Starting with this version, the server supports script modules —
the ability to include Python modules in a single*pjs
project file.
To view all documentation and possible uses of objects and methods, use the built-in help system.
Server Simulation window
The server has the ability to simulate/change data (actions, automaticaly change values)
with predefined simulation action types (Simulation
tab near LogView
,
menu View->Simulation
window and menu Simulation
):
Increment
— changing value by adding or subtracting (if incrementValue < 0) incrementValueSine
— sine function with parameters of period, shift, amplitudeRandom
— randomly changing values with specified rangeCopy
— move data from one memory part to another (with same or different memory types)
Время на прочтение10 мин
Количество просмотров287K
Протокол Modbus довольно распространен как в промышленных системах автоматизации, так и сетях систем типа «Умный дом», автоматизации малых объектов (теплицы и т.п.) и стыковки различного оборудования с домашним компьютером. Появление таких проектов как Arduino и Raspberry Pi значительно повысило интерес к задачам, связанным с робототехникой, автоматикой и автоматизацией. Все это обеспечивает рост популярности Modbus среди любителей и профессионалов. В статье рассмотрен вопрос тестирования и наладки, как отдельных устройств, так и сетей на базе протокола Modbus с позиции требований к программному обеспечению для решения таких задач и обзора существующих инструментов.
Если вы знакомы с архитектурой протокола, то можете смело пролистать пару следующих абзацев и перейти к дальнейшему описанию. Если же нет, то специально для вас ниже приведено небольшое введение в Modbus.
Modbus, краткое введение
Modbus является довольно распространённым протоколом в системах автоматизации на среднем и нижнем (полевом) уровнях. Средний — это уровень контроллеров — устройств, осуществляющих сбор данных и управление технологическим процессом. Нижний или полевой — это уровень взаимодействия датчиков и контроллеров или датчиков напрямую с сервером. Более подробно об уровнях в системах автоматизации можно посмотреть здесь.
Как правило, структура типовой системы автоматизации, использующей в качестве базового протокола Modbus, выглядит так как показано на рисунке в начале статьи. В качестве ”среды” для протокола Modbus может выступать либо RS-485/422/232 (подробно про RS-485 можно прочитать здесь и здесь), поверх него работает Modbus RTU или Modbus ASCII, либо транспортный протокол TCP в TCP/IP сетях, такая версия носит название Modbus TCP. В данной статье будет рассмотрен Modbus RTU.
Протокол Modbus предполагает наличие одного ведущего устройства в сети (оно называется Master или Client) и от 1 до 247 ведомых (они называются Slave или Server). Полное описание можно найти на официальном сайте или в вики.
Master периодически взаимодействует со Slave-устройствами, считывая или записывая в них какую-либо информацию. Этот процесс осуществляется в форме запрос-ответ. Запрос представляет собой последовательность байт, называемую кадром, в котором время между байтами стандартизировано и зависит от скорости передачи данных (напомним, что речь идет о Modbus RTU) и составляет не более длительности интервала, в течение которого может быть передано 1,5 байта данных. Время между кадрами должно быть не меньше времени передачи 3,5 байт.
Формат запроса имеет следующий вид:
ID — адрес устройства (1 байт),
FN — Modbus функция (1 байт),
[args] — аргументы функции (N байт, зависит от функции),
CRC — контрольная сумма CRC-16 (2 байта).
Ответ имеет схожий формат:
Почти все поля ответного кадра аналогичны кадру запроса, за исключением поля DATA, оно имеет различное наполнение, в зависимости от функции.
Если устройством не поддерживается запрашиваемая функция или аргументы в поле [args] запроса являются некорректными для данного Slave-устройства, то в ответе, в поле FN старший бит будет выставлен в 1 (т.е. на FN наложится маска 0x80), а в поле DATA будет помещена дополнительная информация об ошибке.
Каждое Slave-устройство может иметь определенные области данных и содержать дополнительную специфическую информацию.
Возможные области данных представлены в таблице ниже:
Поле | Доступ | Размер | Описание |
---|---|---|---|
Discrete Inputs | Только чтение | Один бит | Данные от системы ввода/вывода |
Coils | Чтение/Запись | Один бит | Ячейки могут использоваться по своему усмотрению |
Input registers | Только чтение | 16 бит | Данные от системы ввода/вывода |
Holding registers | Чтение/Запись | 16 бит | Регистры могут использоваться по своему усмотрению |
За более подробной информацией следует обратиться к полному описанию Modbus RTU, доступному в виде спецификации.
Тестирование устройств с поддержкой Modbus RTU в рамках процесса разработки
Как при разработке, так и при наладке устройств с поддержкой протокола Modbus RTU, вам необходимо иметь специализированное программное обеспечение и технические средства. Из технических средств наиболее простой вариант — это преобразователь RS-485/USB, из всех устройств такого типа, по нашему мнению, наилучшим выбором является MOXA UPORT 1130/UPORT 1150, цена вопроса которого составит 5000 — 6000 руб. Существуют различные отечественные решения, например, преобразователи фирмы Fractal или ОВЕН. Конструкция этих устройств достаточно проста, и при определенной сноровке такой преобразователь можно собрать самостоятельно. Более сложными являются решения типа Ethernet/RS-485 (например, NPORT от MOXA).
При разработке устройств с поддержкой Modbus RTU, чаще всего требуется реализовать функцию Slave, так как в основном это различные датчики, управляемые реле, модули ввода/вывода и т.п., Master-устройства создаются реже. В сетях автоматизации в качестве мастера, обычно выступает контроллер, а он, как правило, уже имеет реализацию Modbus-стека, либо OPC Server/SCADA система, укомплектованные Modbus-драйвером.
Вопрос разработки непосредственно Modbus-стека мы не будем рассматривать в этой статье. Единственное, стоит отметить библиотеку FreeMODBUS, на базе которой достаточно просто построить устройство с поддержкой функций Modbus Slave. Пример реализации описан в статье на Хабре.
Вторым важным моментом при разработке Modbus-устройств является тестирование. Здесь всё зависит от стадии разработки и цели тестирования.
На начальных этапах полезным инструментом является Modbus-терминал. С помощью него мы можем вручную сконструировать запрос, послать его и проанализировать ответ. Существуют терминалы в чистом виде, например, SmartTerminal, Access Port, терминалы с поддержкой Modbus RTU — Termite от S2-Team или Pic18 Terminal от Fractal (не обновлялась с 2006 года) и т.п. Последний заточен под оборудование компании Fractal, но позволяет “общаться” с любыми устройствами, у которых в настойках порта выставлена четность None, с другими вариантами он не работает.
В процессе разработки нередко возникает ситуация, когда устройство принимает запрос и отвечает на него (это можно понять либо по светодиодам приема/передачи пакетов, если вы их предусмотрели в конструкции, либо через отладчик, поставив breakpoint в нужном месте), а в терминале или какой-то другой специализированной программе, данные не отображаются. В таком случае вам пригодится сниффер для последовательного порта, желательно, с поддержкой протокола Modbus. В качестве примера можно привести Free Serial Analyzer, COM Port Toolkit. Последний в настоящее время, похоже, прекратил свое развитие.
В дальнейшем, требуется не только проверять работает ли устройство в принципе (т.е. корректно отвечает на запросы), но и определять наработку на отказ с помощью длительного тестирования. Важными аспектами здесь являются поддержка авто-опроса с изменяемой нагрузкой (количество запросов в секунду) и наличие функции логирования. С этими задачами поможет справиться Modbus Poll или Modscan, это ПО платное, но имеется пробный период.
Следует учитывать, что собранные логи нужно будет анализировать, то есть определять количество запросов, на которые устройство не ответило, обнаруживать сбои, например, самопроизвольное изменение данных в ячейках и т.п. Конечно, можно использовать полноценную SCADA-систему, либо самому разработать и написать систему анализа и визуализации логов. Как вариант, рекомендуем обратить внимание на MasterSCADA от Insat. Она имеет встроенный Modbus-драйвер и версия до 32 точек является бесплатной, довольно проста в освоении (на сайте производителя есть хорошая документация и видео уроки).
В конце данной статьи мы определим список функций “идеального” инструмента для тестирования и наладки устройств/систем на базе протокола Modbus, а также сделаем небольшой обзор существующих инструментов.
Наладка систем автоматизации, использующих Modbus устройства
Людей, занимающихся наладкой систем автоматизации и просто пытающихся “подружиться” с каким-либо устройством, на борту которого находится Modbus, в разы больше чем, тех, кто эти устройства разрабатывает. Исходя из специфики задачи, требования к соответствующему ПО будут немного отличаться.
Если необходимо соединить контроллер и одиночное Slave-устройство, то прежде всего, нужно установить с ним связь с помощью преобразователя интерфейсов RS-485/USB, ПК и специализированного программного обеспечения либо терминала. В таком случае, логика работы и набор инструментов ничем не отличается от тех, что применяются при разработке Slave-устройства на стадии тестирования. На этом этапе не требуется длительное тестирование с последующим анализом большого количества лог-файлов.
В случае, когда у вас уже есть готовая сеть устройств, можно выделить следующие задачи:
- проверка работоспособности всех устройств в сети (опрос каждого устройства в отдельности и проверка корректности ответа);
- нагрузочное тестирование (опрос устройств в сети в течение длительного времени). Желательно сделать несколько экспериментов с различной частотой опроса, а после провести анализ собранных данных на наличие отказов, не ответов, порчи данных и т.п.
В этом случае, понадобится либо терминал с возможностью создания списка запросов, либо специализированный инструмент типа Modbus Poll, который позволяет опрашивать несколько устройств в рамках одного проекта.
Modbus-устройства могут иметь определенные настройки интерфейса RS-485: количество бит данных, четность и количество стоп бит. Устройства с различными настройками не могут работать в одной сети с одним и тем же мастером. Тестирование и конфигурирование таких устройств удобно проводить, применяя терминальные программы, имеющие возможность быстрого переключения между предустановленными профилями настроек портов или работающие с несколькими линиями одновременно.
Реже возникает задача организации обмена данными с устройством, протокол которого отличается от стандартной спецификации Modbus RTU. Нам приходилось встречаться с ситуацией, когда протокол Slave-устройства логически повторяет Modbus (структура пакета, таймауты и т.п.), но использует функции вне стандарта. В таком случаем возможна работа с использованием Modbus Poll, он позволяет строить произвольные запросы, или терминала, обладающего сходным функционалом. Стандартная SCADA-система, обычно, в такой ситуации бессильна, и работа с подобным оборудованием осуществляется через специальный OPC сервер.
Требования к ПО для работы с Modbus-устройствами в режиме мастера
Описав различные задачи, которые возникают при разработке, настройке и наладке устройств с протоколом Modbus, составим список требований к специализированному программному обеспечению.
- Поддержка настроек COM-порта (номер, скорость, четность, количество бит данных и стоп бит)
- Настройка таймаутов (время ожидания приема ответа на запрос, время между символами и кадрами)
- Поддержка стандартного Modbus
- Поддержка нестандартного Modbus
- Авто-опрос одного/нескольких устройств
- Настройка авто-опроса
- Логирование сессии / настройка логирования
- Создание профилей для быстрого переключения между настройками порта
- Работа в режиме сниффер
- Лицензия продукта
- Сопровождение продукта разработчиком
Обзор ПО для работы с Modbus протоколом
Modbus Poll
Начнем с классического приложения и довольно известного в наших “узких” кругах — Modbus Poll от Witte Software.
Эта программа является симулятором мастера в Modbus-сети. Интерфейс Modbus Poll интуитивно понятен. Если вы представляете себе логику работы протокола, то разобраться с программой труда не составит.
Функция | Наличие | Комментарий |
---|---|---|
Поддержка настроек COM-порта | + | |
Настройка таймаутов | + | Доступны: время ожидания ответа |
Поддержка стандартного Modbus | + | Список функций ограничен |
Поддержка нестандартного Modbus | + | |
Авто-опрос одного / нескольких устройств | + / + | |
Настройка авто-опроса | + | Доступно: время между запросами |
Логирование сессии / настройка логирования | + / + | |
Создание профилей для быстрого переключения между настройками порта | — | |
Работа в режиме сниффер | — | |
Лицензия продукта | ПО платное | Есть пробный период 30 дней |
Сопровождение продукта | + |
Достоинства: хорошая система логирования, достаточное количество поддерживаемых функций (во всяком случае, наиболее востребованные присутствуют), большое количество настроек внешнего вида.
Недостатки: цена (одна лицензия $ 129.00), нестандартный Modbus поддерживается как опциональная функция, нет профилей для быстрого переключения портов — приходится каждый раз перенастраивать соединение.
Modscan32/64
Следующим ПО в нашем обзоре будет Modscan от WinTECH. Внешне эта программа очень похожа на Modbus Poll, но функционалом она обладает значительно меньшим.
У Modscan есть одна уникальная особенность для программ данного типа — это возможность создания форм (своего рода мнемосхем). Пока ее функционалу далеко до реальных SCADA-систем, но наличие такого бонуса радует. На сегодняшний день это достаточно скудный, по своим возможностям инструмент (имеется ввиду редактор форм), но будем надеяться, что со временем, разработчики доведут его до хорошего уровня.
Функция | Наличие | Комментарий |
---|---|---|
Поддержка настроек COM-порта | + | |
Настройка таймаутов | + | Доступны: время ожидания ответа |
Поддержка стандартного Modbus | + | Список функций ограничен |
Поддержка нестандартного Modbus | — | |
Авто-опрос одного / нескольких устройств | + / + | |
Настройка авто-опроса | + | Доступно: время между запросами |
Логирование сессии / настройка логирования | + / — | |
Создание профилей для быстрого переключения между настройками порта | — | |
Работа в режиме сниффер | — | |
Лицензия продукта | ПО платное | Есть пробный период |
Сопровождение продукта | + |
Достоинства: возможность создания собственных форм для просмотра данных, поддержка MMI & OLE Automation.
Недостатки: цена (одна лицензия $ 84.95), нет поддержки нестандартного Modbus, нет профилей для быстрого переключения портов, ненастраиваемая система логирования, малое количество поддерживаемых Modbus-функций.
Termite
Следующим в нашем списке будет терминал Termite от S2-Team. Termite является специализированный Modbus терминалом. Это означает, что он сам будет считать за вас CRC, распознавать сообщения об ошибках в ответах и т.д., ваша задача заключается в том, чтобы ввести корректное тело запроса в поле команды.
Функция | Наличие | Комментарий |
---|---|---|
Поддержка настроек COM-порта | + | |
Настройка таймаутов | + | Доступны: время ожидания ответа, время между символами и кадрами |
Поддержка стандартного Modbus | + | |
Поддержка нестандартного Modbus | + | |
Авто-опрос одного / нескольких устройств | + / + | |
Настройка авто-опроса | + | Доступно: время между запросами |
Логирование сессии / настройка логирования | + / — | |
Создание профилей для быстрого переключения между настройками порта | + | |
Работа в режиме сниффер | — | |
Лицензия продукта | Есть платная и бесплатная версии |
Бесплатная версия обладает ограниченным функционалом (на количество каналов, одновременно ведомых лог файлов и количество разных запросов в авто-опросе) |
Сопровождение продукта | + |
Достоинства: поддержка всех Modbus-функций, работа с нестандартным Modbus, удобная система подсказок, возможность настройки внешнего вида ПО, поддержка профилей для быстрого переключения между настройками порта.
Недостатки: PRO версия платная (одна лицензия $ 10), в текущем релизе нет возможности гибко настраивать логирование.
AccessPort
Программа из разряда “чистых” терминалов. Она не поддерживает Modbus, поэтому при её использовании будьте готовы считать CRC для ваших кадров самостоятельно. Несомненным плюсом является то, что в неё встроен сниффер последовательного порта.
Функция | Наличие | Комментарий |
---|---|---|
Поддержка настроек COM-порта | + | |
Настройка таймаутов | + | |
Поддержка стандартного Modbus | — | |
Поддержка нестандартного Modbus | — | |
Авто-опрос одного / нескольких устройств | + / — | |
Настройка авто-опроса | + | Доступно: время между запросами |
Логирование сессии / настройка логирования | + / — | |
Создание профилей для быстрого переключения между настройками порта | — | |
Работа в режиме сниффер | + | |
Лицензия продукта | ПО бесплатное | |
Сопровождение продукта | Не поддерживается | Крайняя версия продукта была выпущена 2012-04-23 |
Достоинства: наличие сниффера порта, ПО бесплатное, настраиваемое представление данных, возможность передачи файлов.
Недостатки: не поддерживает Modbus вообще, нет возможность создавать профили, в режиме авто-опрос можно работать только с одним устройством, в настоящее время ПО не развивается.
В заключение хотелось бы добавить, что в сети достаточно большое количество программ для работы с последовательным портом, но если есть необходимость работать именно с Modbus протоколом, то его поддержка в таком ПО крайне желательна. Одна из основных причин — это расчет CRC, в ручную это делать накладно, также важно, чтобы программа могла уметь разделять кадры, иначе все превращается в сплошную мешанину байтов, ну и если есть авто-опрос, то это сильно упрощает жизнь.
Хочется дополнить список ПО и библиотек для работы с Modbus, тем, что было переставлено в комментариях.
SCADA
FreeSCADA
Modbus TCP/RTU
Advanced TCP/IP Data Logger
Ardsoft Эмулятор Modbus
PortMon
MODBUS FOR WINDOWS
PeakHMI
Modpoll Modbus Master Simulator
QModMaster
modbus_tk
pymodbus
libmodbus
Благодарю всех, кто помог улучшить статью!
Спасибо за внимание!
Discover the Ultimate Modbus Tool
Easy to use Windows-based Modbus Client, Server,
Scanner, and Uploader for Protocol Developers,
Control Engineers, and SCADA developers.
Features
Our Modbus Client and Server are incredibly versatile, supporting a wide range of protocols, including Modbus TCP, Modbus UDP, Modbus RTU/ASCII over TCP/UDP, Modbus RTU over RS232/485 Serial, Modbus ASCII over RS232/485 Serial, and even multiple protocols simultaneously in Server (Slave) mode. Plus, our Modbus Scanner makes discovering new Modbus Addresses a breeze!
Here’s how you can put ModbusMonitor to work
-
Use 1 Poll Modbus Client • Support for Multiple Station IDs • Compatibility with Modbus RTU/ASCII, Modbus TCP, Modbus RTU/ASCII over TCP, Modbus UDP, and Modbus RTU/ASCII over UDP -
Use 2 Simulate Modbus Device in Server Mode • Easily simulate Modbus Devices for SCADA development without hardware • Multiple servers supported with a user-friendly Modbus Map -
Use 3 Scan Modbus Devices • Discover new Modbus addresses and hidden values effortlessly -
Use 4 Backup & Restore Modbus Device’s Configuration • Streamline your production processes with automatic writes to remote Modbus servers -
Use 5 IoT Data Publishing • MQTT • Monitor and chart data remotely using the ThingSpeak platform -
Use 6 Download Ready-to-Use Pre-Built Modbus Maps • Access high-quality maps for Energy Meters, PLCs, Solar Panels, and more
Whether you’re simulating a PLC or any Modbus Device for SCADA systems
Our Modbus Server feature simplifies setup – just specify Data Type and Modbus Address and let the app handle the rest.
Take advantage of script-based initialization and automation, and keep your Modbus Map and Configuration neatly saved in a common CSV format for documentation and sharing. Share your Modbus map with ease through our Community Share feature or enjoy the convenience of Backup and Restore Values for remote servers.
Choose between Dark and Light Themes to suit your preference. Ready to elevate your Modbus experience? Explore the possibilities at www.modbusmonitor.com and reach out to us at help@modbusmonitor.com for any assistance. Unlock the full potential of ModbusMonitor and revolutionize your Modbus interactions today!
Testimonial
Client Feedback & Reviews
«Novoa’s software transformed the way we manage our finances. It’s intuitive, efficient, and has given us insights that drive better decision-making.»
Jennifer TurnerCEO of TechSolutions Inc.
«With Novoa, our financial reporting has become a breeze. The software’s customization options fit perfectly with our unique business needs.»
Mark JohnsonCFO of FreshBites Restaurant Group
«Novoa’s software has allowed us to focus on our core business while leaving the complexities of financial management to the experts.»
David ClarkCOO of Global Energy Solutions
Unlock Growth Opportunities in Retail!
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.
Why Choose Us
Your Financial Compass: Novoa Guides the Way.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.
Comprehensive Features
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.
User-Friendly Interface
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.
Data-Driven Insights
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.
24/7 Premium Customer Support
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.
Trusted by 25,000+ world-class brands and organizations of all sizes
Download our app
Easy to use Windows based Modbus tool for Protocol Developers, Control Engineers, and SCADA developers.
Это приложение для Windows под названием ModbusClientX — Modbus Tool, последнюю версию которого можно загрузить как ModbusClientX.zip. Его можно запустить онлайн на бесплатном хостинг-провайдере OnWorks для рабочих станций.
Загрузите и запустите онлайн это приложение под названием ModbusClientX — Modbus Tool с OnWorks бесплатно.
Следуйте этим инструкциям, чтобы запустить это приложение:
— 1. Загрузил это приложение на свой компьютер.
— 2. Введите в нашем файловом менеджере https://www.onworks.net/myfiles.php?username=XXXXX с желаемым именем пользователя.
— 3. Загрузите это приложение в такой файловый менеджер.
— 4. Запустите любой онлайн-эмулятор OS OnWorks с этого сайта, но лучше онлайн-эмулятор Windows.
— 5. В только что запущенной ОС Windows OnWorks перейдите в наш файловый менеджер https://www.onworks.net/myfiles.php?username=XXXXX с желаемым именем пользователя.
— 6. Скачайте приложение и установите его.
— 7. Загрузите Wine из репозиториев программного обеспечения вашего дистрибутива Linux. После установки вы можете дважды щелкнуть приложение, чтобы запустить его с помощью Wine. Вы также можете попробовать PlayOnLinux, необычный интерфейс поверх Wine, который поможет вам установить популярные программы и игры для Windows.
Wine — это способ запустить программное обеспечение Windows в Linux, но без Windows. Wine — это уровень совместимости с Windows с открытым исходным кодом, который может запускать программы Windows непосредственно на любом рабочем столе Linux. По сути, Wine пытается заново реализовать Windows с нуля, чтобы можно было запускать все эти Windows-приложения, фактически не нуждаясь в Windows.
СКРИНШОТЫ
ModbusClientX — Инструмент Modbus
ОПИСАНИЕ
Поддержка подключения Modbus TCP / RTU.
Чтение и запись катушек, регистров, мониторинг записей Modbus
Язык программирования
C#
Категории
Связь
Это приложение также можно загрузить с https://sourceforge.net/projects/modbusclientx-modbus-tool/. Он размещен в OnWorks, чтобы его можно было легко запускать в Интернете с помощью одной из наших бесплатных операционных систем.
Скачать приложения для Windows и Linux
- Приложения для Linux
- Приложения для Windows
-
1
- Плагин Eclipse Tomcat
- Плагин Eclipse Tomcat предоставляет
простая интеграция сервлета tomcat
контейнер для разработки java
веб-приложения. Вы можете присоединиться к нам для
обсуждение … - Скачать подключаемый модуль Eclipse Tomcat
-
2
- WebTorrent Desktop
- WebTorrent Desktop предназначен для потоковой передачи
торренты на Mac, Windows или Linux. Это
подключается как к BitTorrent, так и к
Одноранговые узлы WebTorrent. Теперь нет
нужно ждать … - Скачать WebTorrent для рабочего стола
-
3
- GenX
- GenX — это научная программа для улучшения
коэффициент отражения рентгеновских лучей, нейтрон
отражательная способность и поверхностные рентгеновские лучи
данные дифракции с использованием дифференциального
алгоритм эволюции …. - Скачать GenX
-
4
- pspp4windows
- PSPP — программа для статистического
анализ выборочных данных. это бесплатно
замена фирменной программе
СПСС. PSPP имеет как текстовую, так и
графические нас… - Скачать pspp4windows
-
5
- Расширения Git
- Git Extensions — это автономный инструмент пользовательского интерфейса
для управления репозиториями Git. Это также
интегрируется с проводником Windows и
Microsoft Visual Studio
(2015/2017/2019). Ч … - Скачать расширения Git
-
6
- eSpeak: синтез речи
- Механизм преобразования текста в речь для английского и
многие другие языки. Компактный размер с
четкое, но искусственное произношение.
Доступен в виде программы командной строки с
много … - Скачать eSpeak: синтез речи
- Больше »
Команды Linux
-
1
- aarch64-Linux-GNU-GDC-5
- gdc — основанный на GCC компилятор для D
язык … - Запустите aarch64-linux-gnu-gdc-5
-
2
- aarch64-linux-gnu-gdc
- gdc — основанный на GCC компилятор для D
язык … - Запустите aarch64-linux-gnu-gdc
-
3
- крлутил
- crlutil — перечислить, сгенерировать, изменить или
удалить CRL в системе безопасности NSS
файл(ы) базы данных и список, создать,
изменять или удалять записи сертификатов в
частица… - Запустить crlutil
-
4
- CRM
- Используйте crm онлайн с помощью onworks.net
Сервисы. … - Запустить CRM
-
5
- г.tempfilegrass
- g.tempfile — создает временный файл
и печатает имя файла. КЛЮЧЕВЫЕ СЛОВА:
общее, поддержка, скрипты… - Запустите g.tempfilegrass
-
6
- г.версия трава
- g.version — отображает версию GRASS GIS.
Информация. При желании также печатает сборку или
информация об авторских правах. КЛЮЧЕВЫЕ СЛОВА:
общее, поддержка, цитирование, авторское право,
версия, лицензия… - Запустить g.versiongrass
- Больше »