Меню Рубрики

Монитор modbus для windows

Мониторы, симуляторы и эмуляторы Modbus


забрать
Вложения

mbrtu.zip (81.7 Кб, 574 просмотров)
26_DevEmu.zip (432.5 Кб, 616 просмотров)

Симуляторы
Добрый день. Подскажите пожалуйста. Есть программа тут в симуляторе можно управлять джойстиком.

Бесплатные симуляторы гонок
Ребята, помогите! И до меня добрались компьютерные игры. Подскажите, где можно найти бесплатные.

Симуляторы схем и цепей
Компьютерный лабораторный практикум на основе Electronics Workbench Получасовой видеокурс по.

Введение в физические симуляторы
Господа. Нужна информация по теме «физических движков». Базовый обзор подходов, основные концепции.

Modbus Slave Simulator

Sanprof Modbus Slave Simulator — is a powerful tool to simulate PLC slave device. Start testing and programming of your PLC master device now, before you will have a real PLC slave device.

Some of the main features of Sanprof Modbus Slave Simulator

  • Supports functions are 01, 02, 03, 04, 05, 06, 07, 08, 15, 16.
  • Saving the state of the registers modbus memory to a file and load them back.
  • Select cells registers with different colors.
  • View of multiple registers modbus memory in the form of value types such as INT, WORD, DINT, DWORD, FLOAT, DOUBLE, the values of these registers can be viewed as a Decimal, HEX and Binary, it concerns the modbus registers memory «Holding Registers» and «Input Registers «.
  • There is a possibility of working with 255 devices.
  • The range of each of the four modbus memory located within 1-65535.

Why should you use this software?

We work in the field of programming of PLC of devices a long time. After the use of many software products, it was decided to create the own product for testing and debugging of PLC of devices. This decision was accepted on the basis that none of the third-party software products did not satisfy of all our requirements for the acceleration of work. One of them had the limited functional, other had an uncomfortable interface, and also many of them need necessary restart because of the errors of arising up during execution. We took into account all lacks of the third-party software products and all wishes of our programmers and adjusters of PLC devices and collected it in our software product «Sanprof Modbus Slave Simulator».

And most importantly is that with our software you can save a lot of time testing and debugging your master devices, and as a result you save your money. And our software pays for funds invested in it.

Go to http://sanprof.com.ua for more detailed information.

Modbus Slave Simulator — это мощный инструмент, для симуляции ведомого PLC устройства. Начните тестирование и программирование вашего ведущего PLC прямо сейчас, прежде чем у Вас появится в руках ведомое PLC устройство.

Одни из основных возможностей Sanprof Modbus Slave Simulator
Поддержка функций 01, 02, 03, 04, 05, 06, 07, 08, 15, 16.
Сохранение состояние регистров modbus память в файл и обратная их загрузка.
Выделение ячеек регистров различными цветами.
Представление нескольких регистров modbus памяти в виде типов значение таких как INT, WORD, DINT, DWORD, FLOAT, DOUBLE, при этом значения этих регистров можно просмотреть в виде Decimal, HEX и Binary, это касается регистров modbus памяти «Holding Registers» и «Input Registers».
Есть возможность работать с 255 устройствами.
Подробная расшифровка входящих/исходящих пакетов.
Диапазон каждой из четырех modbus памяти располагается в пределах 1-65535.

Источник

Тема: Свободное ПО для опроса устройств (Modbus)

Опции темы
Оценка этой темы
Отображение

Свободное ПО для опроса устройств (Modbus)

Weprex кроссплатформенный GNU/GPL софт для опроса устройств по различным протоколам / интерфейсам (своя разработка, для собственных нужд; в народ отдать не жалко).
Пока реализован только Modbus TCP/RTU через Serial и TCP (в любой комбинации).
Возможность опроса одновременно нескольких интерфейсов, графики, логи, выгрузка данных.
Как альтернатива мертвому Terring Modbus Tools (если кто пользовался).

Кому интересно: оцените, пользуйтесь, критикуйте. Все бесплатно, исходники открыты.

P.S.
Несколько долго взлетает из-за использования QML (надо подождать).
Под Windows XP не пойдет.

Установил на семёрку, х64.
Стартует только из меню «Пуск».
При запуске с ярлыка на рабочем столе:

Последний раз редактировалось smk1635; 13.12.2018 в 09:19 .

Получается что при работе через СОМ-порт, если прибор не подключен, то задать параметры опроса не получится.
Требуется указать существующий порт.
То есть заранее конфигурацию не задашь.
Не удобно, однако.
Хотя при работе по TC/IP такая возможность есть. Просто указав любой IP.

Сделайте возможность задать любой COM-порт.

Последний раз редактировалось smk1635; 13.12.2018 в 09:23 .

1. Какую версию Weprex ставили 32 или 64?
2. Семерка какая home, pro и т.п., с каким сервис паком?
3. Windows в домене? Учетка пользователя или админа?
4. Попробуйте просто экзешник запустить напрямую, напишите.
5. Как общие впечатления, график, удобство пользования?

Сам инсталлятор раскладывает одинаковые ярлыки, через которые запускается один и тот же экзешник, что из пуска, что с рабочего стола.
Возможно я не правильно сконфигурировал инсталлер, проверю.

По COM есть привязка к железу ПК, по IP ее нет соответственно.
Сконфигурировать порт можно заранее, если подключен конвертер или наличествовал COM порт на метеринской плате (прибор оконечный тут не при чем).
Если сконфигурировано на порт, который потом исчез (выткнули), то в сессии сохранится настройка и можно ее использовать потом при новом запуске программы.
Про ручную установку порта думал, но пока не реализовал, т.к. вид интерфейса порта платформозависим и при разных ОС вам придется писать разные вещи при обращении к портам вручную.
Если бы софт был чисто под Windows можно было бы сделать список типо COM1-COM255. Под Linux, интерфейс порта может обозначаться, например, как /dev/ttys0.
Буду думать.

Предварительное назначение номера порта, по моему мнению, будет лишним.
С
«если подключен конвертер или наличествовал COM порт на метеринской плате »
согласен полностью. этого достаточно.

По тестированию отпишусь позже, как накопится. что писать.
Пока могу только сказать, что очень хорошая цветовая проработка графики.
У меня самого так никогда не получается.

Если в системе уже установлен конфигуратор СП3хх, то никаких дополнительных «ПО для опроса устройств (Modbus)» не нужно.
Конфигуратор в режиме он-лайн эмуляции сам прекрасно справляется с опросом Modbus TCP/RTU через Serial и TCP (в любой комбинации).

Полная версия конфигуратора имеет дополнительные «плюшки»

Источник

Программная эмуляция сети Modbus RTU

Если в качестве инструмента у Вас имеется лишь молоток, каждая проблема начинает напоминать гвоздь.

Протокол Modbus широко хорошо известен как читателям хабра, так и читателям гиктаймс. Его применению посвящено множество публикаций, перечислять которые трудно из-за того что их очень много, и периодически то там, то тут появляются новые статьи.

Популярность данного протокола обусловлена его открытостью и простотой. Сфера применимости достаточно широка: от профессиональных промышленных систем автоматизации до любительских DIY-проектов распределенных управляющих систем, «умных» домов и так далее. Данный протокол был выбран и мной, когда моя команда занималась создание ПО тренажера электропоезда. Протокол Modbus RTU на физическом интерфейсе RS485 используется на данном тренажере для обеспечения ввода в управляющий компьютер данных с органов управления, смонтированных на пульте машиниста (не стоит думать что Modbus используется на настоящем подвижном составе!).

Не стоит говорить с какими трудностями сопряжена наладка ПО, взаимодействующего с сетью контроллеров, управляющих оборудованием. Особенно когда часть устройств уже существует в железе, а другая часть находится в процессе разработки и изготовления. При этом ПО верхнего уровня требуется писать с учетом его взаимодействия с эти железом. И желательно писать его так, чтобы создавать рабочий вариант системы сразу, без использования «костылей» которые всегда трудно вычищать из кода.

«Надо писать ПО, когда готовы рабочие прототипы всего железа» — скажете вы и будете правы, но… ха-ха-ха, в реальном мире такое случается редко. И вот тут нам на помощь приходят программные эмуляторы.

1. Кратко о Modbus RTU

Подробно рассказывать о протоколе не буду. Те, кого интересуют подробности могут воспользоваться поиском — протокол открыт, в сети доступна его официальная спецификация и масса информации. Скажу лишь, что в Modbus RTU описывает двоичный формат передаваемых данных и в качестве среды передачи использует дифференциальную витую пару стандарта RS485. Может использоваться и RS232, если в сети один передатчик и один приемник, или RS422 для однонаправленной передачи данных.

Нас будет интересовать именно RS485, который является полудуплексным интерфейсом, что допускает лишь одно передающее данные устройство в каждый момент времени. Арбитраж шины в Modbus осуществляется за счет выдержки обязательного интервала тишины длиной 3,5 символа при данной скорости передачи. Каждое сообщение должно начинаться и завершаться интервалом тишины. В сети существует одно ведущее устройство (master) и несколько ведомых устройств (slave) (до 31 в одном сегменте сети, без применения репитеров). Каждое ведомое устройство имеет уникальный идентификатор ID (от 1 до 31). Передача данных ведомым осуществляется лишь в том случае, если мастер послал запрос на получение данных с этого устройства.

Типичный запрос мастера выглядит так

ID Код функции Адрес данных Количество данных (2 байта) Данные CRC16

CRC16 используется для контроля целостности передаваемых данных. Modus использует Big Endian нотацию представления данных: для значений размером 2 байта старший байт внутри сообщения идет первым). В протоколе используется четыре типа данных:

  1. Coils — дискретные выходы (1 бит) доступные для чтения/записи
  2. Discrete inputs — дискретные входы (1 бит) доступные для чтения
  3. Holding registers — регистры вывода (2 байта) доступные для чтения/записи
  4. Input registers — регистры ввода (2 байта) доступные для чтения

В ответ на запрос ведомое устройство отдает данные в следующем формате

ID Код функции Количество данных в байтах Данные CRC16

Сообщение, принятое от мастера попадает в приемный буфер всех устройств. Однако, если первый байт приемного буфера не совпадает с ID устройства, оно игнорирует принятые данные, очищая приемный буфер. Если сообщение предназначено данному устройству, то оно формирует ответ и, выдержав интервал тишины посылает его мастеру.

Как говорится, простенько, но со вкусом. Подробнее обо всем этом можно прочитать в официальной спецификации протокола. О методах реализации протокола на последовательном интерфейсе читаем здесь. Собрались мы здесь не за этим.

Разрабатывая ПО верхнего уровня (master реализуемый на базе ПК, например) для подобной сети, хорошо бы иметь набор программных средств, позволяющих реализовать такую концепцию

Смысл этой схемы в следующем. Допустим, у нас есть часть устройств, входящих в будущую сеть. Или пока нет ни одного такого устройства. Но есть горячее желание написать ПО для верхнего уровня управления, отладить его, с тем чтобы когда сеть будет таки реализована аппаратно нам не пришлось ничего переписывать. Для этого придется использовать физическую среду передачи, для чего используем девайс, подобный этому

Один из адаптеров используется для подключения ПО разрабатываемого мастера. Другой — для подключения эмулятора будущей сети слейвов. К отводу с белым коннектором подключаем ту часть сети, которая уже реализована аппаратно. Таким образом мы получаем возможность спокойно работать со штатным протоколом связи, постепенно вводя в работу реальную аппаратуру. К тому же, отдав объект заказчику мы не лишаемся возможность модифицировать его ПО в комфортной обстановке лаборатории без доступа к объекту. QSlave на схеме как раз таки часть сети, эмулируемая программно. Естественно, придется написать соответствующий софт, что и было сделано автором.

2. QSlave — эмуляция сети ведомых

QSlave — открытый кроссплатформенный эмулятор сети Modbus RTU. Получить его можно по лицензии GPL v2.0 на Github по вышеприведенной ссылке.

Приложение разработано на C++ с использованием фреймворка Qt. Qt, вообще говоря, имеет библиотеки для работы с Modbus, но специфика задачи — имитация сети слейвов а не одного слейва, привела к тому, что встроенные библиотеки Qt для Modbus тут не использовались. Для обработки данных, принимаемых с виртуального последовательного порта была создана самописная библиотека modbus. Код этой библиотеки реализован в виде отдельного проекта, совершенно не зависит от интерфейса пользователя и может быть использован для сознания программных имитаций с более продвинутым функционалом. Из-за того, что эмуляция Modbus отвязана от UI, конфигурирование сети происходит с применением конфигурационных файлов. Был выбран формат XML (мы часто его используем в своих проектах). Пример конфигурации доступен в коде проекта. Комплект конфигов состоит из главного файла с расширением *.net, который выглядит так

и XML-файлов конфигурации для каждого из слейвов

Последний файл содержит описание всех данных, доступных в устройстве. Для того, чтобы загрузить конфигурацию необходимо открыть файл *.net из меню программы QSlave (File → Open config). Все файлы конфигурации должны лежать в одном каталоге. Конфигурация примера описывает сеть из одного ведомого устройства, некий виртуальный дорожный светофор, дискретные выходы которого описывают сигналы, дискретный вход обозначает некий бит готовности устройства к работе (Ready), регистр ввода сообщает число сигналов светофора, а регистр вывода задает время, в течение которого горит каждый из сигналов.

Естественно, данный симулятор никак не имитирует внутреннюю логику работы устройства. Он позволяет лишь задавать значения ячеек памяти, доступных ведущему устройству. Любое из значений можно задать по своему усмотрению, отредактировав соответствующую ячейку таблицы.

При всей своей простоте, данный софт помогает нам работать над ПО тренажера (который уже сдан в эксплуатацию) не выходя из лаборатории.

Но никто не говорит, что нельзя создать более продвинутый эмулятор, имитирующий работу устройств виртуальной сети. Для его создания можно использовать код библиотеки modbus, доступный в комплекте поставки QSlave.

3. QMaster — эмуляция мастер-устройства

Для создания ведомых устройств, отладки их прошивок нужна имитация мастера. Существует ряд открытых эмуляторов, таких как например QModbus. Мы использовали его в своей работе, до тех пор, пока не решили увеличить скорость передачи данных до 250 кБит/с. QModbus этого не позволяет. Его удалось пересобрать из исходников под Linux, но наши электронщики сидят на Windows, а где сборка не пошла по ряду причин. Выяснилось, что это приложение написано на Qt 4, использует сторонную библиотеку libmodbus. Хотелось иметь кроссплатформенное решение на Qt5, тем более что Qt5 уже работает с Modbus «из коробки». Поэтому был написан свой аналог, использующий стек библиотек Qt Modbus — QMaster. Он тоже доступен на Github на тех же условиях.

Заключение

В заключении скажу, что работаю (на работе) в основном над закрытыми проектами. Однако, описанные инструменты разработаны лично мной в инициативном порядке в свободное время. К тому же они, в Windows-версии, статически линкованы с GPL-кодом Qt, поэтому я обязан передать их сообществу на тех же условиях, что и получил Qt. К тому же, эти инструменты могут быть полезны для читателя.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Монитор acer al1916 драйвер windows 7
  • Молния браузер для windows
  • Мой серийный номер компьютера windows 7
  • Мой мтс для компьютера windows 7
  • Мой компьютер в windows 10 скрыть папки