PDA

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



o_nik
13.12.2018, 06:40
Всем добрых дней.

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

Проект и сборки
https://github.com/oniksan/weprex

Краткое описание и ссылки на последние билды
https://github.com/oniksan/weprex/blob/master/README.md

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

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

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

40350

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

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

o_nik
13.12.2018, 12:48
Спасибо, что тестируете.

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

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

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

lara197a
13.12.2018, 13:04
Предварительное назначение номера порта, по моему мнению, будет лишним.
С
"если подключен конвертер или наличествовал COM порт на метеринской плате "
согласен полностью. этого достаточно.

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

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

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

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

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

Конфигуратор СП3xx специализированное ПО с совсем другим назначением.
Да, "плюшки" есть, но необходимого функционала для мониторинга нет, например нормального (не того тренда, что там есть) графического отслеживания данных.
Под "Serial и TCP (в любой комбинации)" подразумеваются пакеты Modbus RTU через TCP порт или Modbus TCP через Serial, что обычно не практикуется но может понадобиться.
Если уж использовать софт не по назначению (от панелей оператора), то Лучше EasyBuilderPro от Weintek, там функционал гораздо шире и обновляется он регулярно.

Uncle Fedor
13.12.2018, 14:27
o_nik, спасибо за опенсорс!
Система Windows 10 x64 Ent
Пробовал запускать и в стоке и с разными параметрами совместимости:
40366
Сильно не копал, скачаю Qt и Creator посмотрю.

o_nik
13.12.2018, 14:37
o_nik, спасибо за опенсорс!
Система Windows 10 x64 Ent
Пробовал запускать и в стоке и с разными параметрами совместимости:
40366
Сильно не копал, скачаю Qt и Creator посмотрю.

Да, похоже проблема со сборкой есть, вы не первый.

Вообще, странно конечно, что падает, т.к. static сборка.
Сам пробовал на 5 машинах - работало везде.

Падает при запуске или в процессе работы?
Дожидались долго или 2 раза запускали (т.к. ничего не происходило), QML кэш долго создает при первом запуске?

Буду копать, что не так со сборкой.

smk1635
13.12.2018, 19:30
Падает при запуске или в процессе работы?
Дожидались долго или 2 раза запускали (т.к. ничего не происходило), QML кэш долго создает при первом запуске?



Сразу. При запуске. Разворачивается окно и появляется надпись.
Стартует по времени нормально. Не сказал бы что медленно.

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



1. 64-х разрядная.
2. Максимальная.
3. Из под админа.
4. При запуске экзешника первый раз выкинуло окно о прекращении работы. Повторные запуски - нормально. И с ярлыка на рабочем столе стал нормально запускаться.
5. Хорошая программа. Удобный интерфейс. Спасибо. Как раз будет нужна на следующей недели. Не стандартный шлюз необходимо протестировать.

Uncle Fedor
14.12.2018, 11:09
Весьма странно, но x32 версия прекрасно работает, а вот x64, теперь при запуске пустую форму показывает и сразу закрывается!

o_nik
14.12.2018, 13:16
Спасибо всем кто тестирует.

Проверил на 10 разных ПК и ноутах, win 7/10, 32/64 с видеокартами nVidia, ATI, Intel - на всех работает без проблем.
Готовлю новые варианты сборок с dll и static для тех у кого не запустилось.
Т.к. надо внести небольшие изменения еще в сам софт, то заодно и версию релиза обновлю.

Если имеются проблемы с запуском, возможно дело в антивирусе и/или файрволе, т.к. программа получает доступ к серийным портам и сети.

Можно попробовать отключить антивирус/файервол.

Пока один из вариантов - попробовать очистить кэш QML:
в каталоге X:\Users\<имя вашего пользователя>\AppData\Local\ удалить папку weprex
после чего запустить снова программу.

Как сделаю релиз отпишу.

IVM
14.12.2018, 14:01
Конфигуратор СП3xx специализированное ПО с совсем другим назначением.
Да, "плюшки" есть, но необходимого функционала для мониторинга нет, например нормального (не того тренда, что там есть) графического отслеживания данных.
Под "Serial и TCP (в любой комбинации)" подразумеваются пакеты Modbus RTU через TCP порт или Modbus TCP через Serial, что обычно не практикуется но может понадобиться.
Если уж использовать софт не по назначению (от панелей оператора), то Лучше EasyBuilderPro от Weintek, там функционал гораздо шире и обновляется он регулярно.

А чем ваше приложение лучше EasyBuilderPro ?

o_nik
14.12.2018, 17:43
А чем ваше приложение лучше EasyBuilderPro ?

Внимательно прочитав мое сообщение, можно заметить что там написано, что EasyBuilderPro - ПО с совсем другим назначением (как и СП3xx).
Мое приложение ничем не лучше, я даже открою тайну - оно хуже EasyBuilderPro :). В нем нельзя скомпилировать прошивку для панели оператора, нельзя спроектировать GUI, залить прошивку на панель...

Если серьезно, преимущества:
1. Софт свободный под лицензией GNU/GPL - хочешь правь под себя (только будь добр выложить свой код тоже - лицензия обязывает), хочешь помогай советом или делом, не хочешь - просто пользуйся, или не пользуйся.
2. Софт кроссплатформенный - будет работать как минимум под Linux, Windows, MacOS - нынче модно.
3. Сборка под популярную ОС предоставлена, инструкцию по использованию в ближайшем будущем сделаю, хотя и так вроде понятно для тех кто в теме.
4. Исходники открыты - если интересно, можно посмотреть всю внутрянку (вирусы, майнеры, сниферы, реклама и т.п.).
5. "Молодежный" интерфейс, дизайнерские иконки (см. About в приложении), может в дальнейшем приспособлю под Android.
6. Не нашел бесплатных аналогов (да и платных), которые могли бы строить графики в реалтайм с удобным интерфейсом. Очень удобно для настройки (мне), например, ПИД-регуляторов непосредственно на объекте. Полноценные SCADA не рассматривались, смотри P.S.
7. Приложение не продаю, а отдаю безвозмездно и без навязывания платных услуг, хотя потратил достаточно много своего (и только) времени на его разработку.

P.S.
Если кто-то рисует 3D мультфильмы в AutoCAD, проектирует электросхемы в 3ds Max, закрашивает красные глаза снятые на мыльницу в спираченном специально для этого Photo***** пользуется MS Access в качестве СУБД, использует MS Excel вместо настольного калькулятора, использует QNX в качестве домашней ОС, проектирует в MS Visio здания, использует TraceMode на атомных электростанциях, рубит деревья молотком и путает мягкое с теплым...

IVM
14.12.2018, 19:50
В EasyBuilderPro можно делать все что вы перечислили и много больше. В EasyBuilderPro есть макросы. EasyBuilderPro поддерживает море протоколов. EasyBuilderPro бесплатен. Что еще надо ?

o_nik
14.12.2018, 20:58
В EasyBuilderPro можно делать все что вы перечислили и много больше. В EasyBuilderPro есть макросы. EasyBuilderPro поддерживает море протоколов. EasyBuilderPro бесплатен. Что еще надо ?

Вначале я бы рекомендовал еще перечитать мой пост выше (или просто прочитать его).
Потом, прочитать про бесплатное и свободное ПО - это не одно и то же.
Следуя Вашей логике, SCADA-системы тоже не нужны, запускаем EasyBulder в режиме эмуляции на объекте, принуждаем персонал пользоваться им :)

1. Сегодня EasyBuilderPro есть, завтра - нет, как и СП3хх. Открытые исходники EasyBuilderPro у Вас есть?
2. Установите мне EasyBuilderPro на Linux, андроид, на мой домашний телевизор или телефон?
3. Вы давно видели как выглядят графики на панелях оператора в частности в EasyBuilderPro, я уж молчу про СП3хх?
4. Каким образом я один могу конкурировать или соревноваться с крупным промышленным предприятием? К чему эти сравнения, софт даже не сродни по функционалу. Я разве писал, что разработал SCADA или HMI?
5. Если будет поддержка со стороны сообщества, софт будет дорабатываться, есть определенные идеи, которых нет даже в EasyBuilder ...

Если нет желания помочь или просто поставить и пробовать Weprex для себя, зачем вообще писать что-то в этой теме.

Scream
14.12.2018, 21:26
Причем тут EasyBuilderPro???? это вообще из другой оперы, если кто-то его приспособил под себя - хорошо, но там тоже баг на баге. А как там кстати логи\пакеты смотреть?? что-то не припомню такой фичи, только счетчики ошибок глючные.
Часто надо далёкому от всего этого человеку проверить и снять логи по modbus, я даже представить не могу как объяснять с EasyBuilderPro... это жесть будет.
Эту программу бегло просмотрел, иконки красивые, всё живое, но надо привыкать, по крайней мере тоже представить сложно как человеку быстро объяснить какую кнопку нажать чтобы быстро лог глянуть.
Пока постоянно пользуемся MasterOPC на 32 тега, там более менее понятно простому смертному и много текста с простыми переключателями при настройке, тоесть по телефону даже просто объяснить какую строку в табличке этой найти.
Попробуем Weprex, посмотрим насколько удобно будет. Как по мне, всегда когда есть из чего выбирать - хорошо.

o_nik
20.12.2018, 08:30
Выложил новые сборки Weprex 0.2.0

Ссылка на последние билды:
https://github.com/oniksan/weprex/blob/master/README.md

Поправлен сплэшскрин, пересобрано новым Qt 5.12, если верить Qt-шникам, то должна возрасти производительность и уменьшиться потребление памяти.
Для сборок MSVC 2017 требуется дополнительно установить "распространяемый компонент Microsoft Visual C++ для Visual Studio 2017" (компонент включен в инсталлятор).
У кого не запускается, - пишите, - будем смотреть.

Scream
20.12.2018, 12:05
Как раз была задача посмотреть почитать один регистр из устройства и посмотреть как оно отвечает в логе, лог включил, как-то не стандартно включается, ну ладно.
Сам лог выполнен очень неудобно, постоянная прокрутка вниз, зачем? по умному прилипать должно, по тупому галочку автопрокрутки,
Сами данные надо выровнять как нибудь чтобы не искать глазами ответ под запросом потому что начало ответа сдвинуто + подсветка данных.
В общем в masterOPC от ИНСАТ сделано удобней эта вещь, посмотрите, перемените.
Еще вспомнил оп логу, это нет переноса строк, это тоже очень не удобно когда какая-то не нужная информация из приложения(системная) в 100500 слов в одном предложении перекидывает меня автоматом вправо в конец, а мои modbus логи маленькие скрываются слево и опять же эта автопрокрутка....

o_nik
20.12.2018, 14:42
Как раз была задача посмотреть почитать один регистр из устройства и посмотреть как оно отвечает в логе, лог включил, как-то не стандартно включается, ну ладно.
Сам лог выполнен очень неудобно, постоянная прокрутка вниз, зачем? по умному прилипать должно, по тупому галочку автопрокрутки,
Сами данные надо выровнять как нибудь чтобы не искать глазами ответ под запросом потому что начало ответа сдвинуто + подсветка данных.
В общем в masterOPC от ИНСАТ сделано удобней эта вещь, посмотрите, перемените.
Еще вспомнил оп логу, это нет переноса строк, это тоже очень не удобно когда какая-то не нужная информация из приложения(системная) в 100500 слов в одном предложении перекидывает меня автоматом вправо в конец, а мои modbus логи маленькие скрываются слево и опять же эта автопрокрутка....

Обо всем перечисленном в курсе и согласен - лог сделан не канонично (еще не хватает мониширинных шрифтов), на то есть 3 причины:
1. Упор программы делался на визуализацию (отсутствующую в других программах), а лог прикрутился сбоку как просто полезная вещь...он не проработан.
2. Графическая часть программы сделана на Qt Quick Controls 2, они очень сыроваты, получить от них все желаемое по-простому - проблематично.
3. Хотелось побыстрее доделать, то что есть, чтобы не закрыть в темный ящик.

Все замечания учитываю, по возможности буду дорабатывать.

rsrg
15.11.2019, 00:01
Отличное ПО! Спасибо за проделанную работу!

o_nik
20.11.2019, 19:55
Пожалуйста, никак не могу довести до ума, к сожалению времени не хватает.
Спасибо за звезду :)

Yaneche
10.08.2020, 10:59
Простите, а есть ли возможность посмотреть в логах "raw" данные, что посылается в интерфейс и что отправляется?

Yaneche
10.08.2020, 11:02
Сорри, сам себе отвечу. Надо галочку соответствующую поставить

vavandemidov
01.10.2020, 06:23
Проект жив? Поддерживается автором?

o_nik
09.11.2020, 14:15
Автор жив :)
Баги, если попадаются, правлю.