Comments 63
Сейчас озабочен вопросом снятия данных по Modbus TCP с контроллера и сохранением их в базу. Данные счетчиков продукции надо сохранять в базу для последующего использования в ERP системе. Попробовал использовать Advanced TCP/IP Data Logger. Имеет гибкие настройки, Modbus поддерживается плагином. В триальной версии все вроде бы работает, но запросов можно сделать только 100. Собираюсь купить и проверить в боевых условиях.
0
Если я правильно понял вашу задачу, тогда по-моему проще своими силами решить ее на том же C#. К тому же, если в последствии вам понадобиться расширить функционал, то свой софт вы просто допишите.
0
Для решения подобной задачи на С++/boost у меня ушло две недели. Есть готовое решение но оно имеет реализацию другоо протокола, прикрутить туда модбас будет очень просто, могу расшарить на github если кому интересно.
0
Кстати, та же MasterSCADA, отмеченная в статье, поддерживает Modbus TCP. Если что-то по быстрому нужно, то на ней можно реализовать. Но нужно помнить, что бесплатно предоставляется только 32 тега.
0
Купил, запустил. Все работает нормально. Данные с контроллера собирает и пишет в базу. Получил работающее решение в течение 3 дней, 2 из которых потратил на покупку. Для тех, кто не хочет заморачиваться с реализацией собственного решения — отличный вариант. Хотя, если есть время, то реализовать собственное решение не составит большого труда, протокол не сложный.
0
Писать свое не имея опыта разработки на C# в кратчайшие сроки — рисковое дело. А рисковать на производстве очень не хочется.
0
Совсем не имея опыта программирования в C# (только с++ на непонятно каком уровне :( ), написание конвертера modbus — dde заняло очень мало времени. Приложение консольное, легко переделывается в службу.
0
Если ПО занимается сбросом данных куда-либо для последующего анализа, то да, можно и самому писать. Если же участвует в управлении тех. процессом, а опыта разработки мало, то лучше десять раз подумать, прежде чем браться, наверное лучше попробовать найти уже готовое, работающее решение.
0
(оно называется Master или Client)… (они называются Slave или Server)
Нет ли тут ошибки?
Нет ли тут ошибки?
0
Нету тут все верно — в контексте ModBus — Slave это тот кто предоставляет данные, то есть он же Server а slave он потому, что предоставляет данные только по запросу, а вот как и когда запрашивать как раз решает Master который фактически является клиентом тех данных которые предоставляет Slave/Server.
+1
Спасибо за статью про АСУ ТП!
А тут закралась опечатка
>ведущего устройства в сети (оно называется Master или Client(!)) и от 1 до 247 ведомых (они называются Slave или Server(!))
А тут закралась опечатка
>ведущего устройства в сети (оно называется Master или Client(!)) и от 1 до 247 ведомых (они называются Slave или Server(!))
0
Думаю стоило упомянуть COM Port Toolkit
0
Из программ можно посоветовать QmodMaster. Бесплатна, кросплатформенна.
Так же здорово помогает ipython и modbus_tk.
Так же здорово помогает ipython и modbus_tk.
0
Есть еще неплохой Modbus Tester от НПФ «АГРОСТРОЙ». Только RTU, однако автозапрос, удобный интерфейс, представление в различных типах данных итд. Freeware. С помощью этой программы имел первое знакомство с многими устройствами, которые потом успешно поддерживал в АСУТП. Взять утилиту можно здесь.
0
Надысь ещё про такую штуку выяснили: http://www.ardsoft.ru/mEmulator.html — достаточно неплохо, бесплатное, умеет симулировать несколько слейвов на одном айпишнике, ещё заявлены ОРС и скрипты.
Описание из-под ссылки для ленивых
Эмулятор Modbus устройств предназначен для создания виртуальной сети Modbus RTU или Modbus TCP устройств.
Эмулятор полезен в первую очередь специалистам разрабатывающим программное обеспечение опроса Modbus устройств, системным интеграторам, студентам, для отладки Modbus клиентов, OPC/DDE серверов, тестирования оборудования, проверки SCADA проектов, создания стендов имитации технологического оборудования, систем обучения оперативного персонала, диагностики каналов связи и для многих других задач.
Эмулятор позволяет создавать виртуальные modbus сети без ограничения по количеству устройств и количеству параметров внутри одного устройства.
Встроенный скриптовый язык позволяет имитировать технологические процессы любой сложности.
Встроенный OPC клиент позволяет масштабировать данные с любого OPC сервера в Modbus пространство с последующей передачей по сети, что позволяет исключить настройку DCOM.
Ключевые особенности эмулятора:
— работа по протоколам Modbus RTU и Modbus TCP;
— встроенный скриптовый язык позволяющий имитировать любой алгоритм;
— встроенный OPC клиент для масштабирования OPC тегов в Modbus;
— масштабирование OPC тегов в Modbus позволяет исключить настройку DCOM;
— нет ограничений по конфигурированию;
— нет ограничений при подключениии к OPC серверам;
— бесплатен для коммерческого использования;
— работа во всех версиях ОС Microsoft Windows, начиная с Windows 2000;
— работа в ОС Microsoft Windows 7 Embedded
Версия: 2.32.53.929 от 24.03.2016
ОС Windows: 2000, XP, Vista, 7, 7 Embedded, 8.x, 10 Technical Preview.
Цена: бесплатно.
Эмулятор полезен в первую очередь специалистам разрабатывающим программное обеспечение опроса Modbus устройств, системным интеграторам, студентам, для отладки Modbus клиентов, OPC/DDE серверов, тестирования оборудования, проверки SCADA проектов, создания стендов имитации технологического оборудования, систем обучения оперативного персонала, диагностики каналов связи и для многих других задач.
Эмулятор позволяет создавать виртуальные modbus сети без ограничения по количеству устройств и количеству параметров внутри одного устройства.
Встроенный скриптовый язык позволяет имитировать технологические процессы любой сложности.
Встроенный OPC клиент позволяет масштабировать данные с любого OPC сервера в Modbus пространство с последующей передачей по сети, что позволяет исключить настройку DCOM.
Ключевые особенности эмулятора:
— работа по протоколам Modbus RTU и Modbus TCP;
— встроенный скриптовый язык позволяющий имитировать любой алгоритм;
— встроенный OPC клиент для масштабирования OPC тегов в Modbus;
— масштабирование OPC тегов в Modbus позволяет исключить настройку DCOM;
— нет ограничений по конфигурированию;
— нет ограничений при подключениии к OPC серверам;
— бесплатен для коммерческого использования;
— работа во всех версиях ОС Microsoft Windows, начиная с Windows 2000;
— работа в ОС Microsoft Windows 7 Embedded
Версия: 2.32.53.929 от 24.03.2016
ОС Windows: 2000, XP, Vista, 7, 7 Embedded, 8.x, 10 Technical Preview.
Цена: бесплатно.
0
А порты снифать ещё можно с помощью PortMon https://technet.microsoft.com/ru-ru/sysinternals/portmon.aspx
Оно, правда, своеобразоное, работает через раз)
Оно, правда, своеобразоное, работает через раз)
0
Не, PortMon работает великолепно! И помошник замечательный! Может вы его «не умеете готовить» ;-)? Его надо запускать ДО любых программ, которые общаются по ком.порту. Во всяком случае, пока не подводил.
0
UFO just landed and posted this here
К сожалению, в современных реалиях на производстве (особенно на шахтах и рудниках) весь верхний уровень — это Windows. А наладку, тестирование и диагностику, зачастую, приходится вести именно «сверху», поэтому приходится использовать софт под эту платформу.
0
UFO just landed and posted this here
Ну, глючный софт бывает и открытым. WinServer или Embedded вполне стабильны. ОРС на линукс… ну, понятно. Я бы вообще ОРС выпилил бы из стека пром протоколов.
И самый важный момент: нет, практически, скада-систем под UNIX-подобные системы. В наше время тенденция меняется в сторону открытых технологий, но очень медленно. Спецов тоже нет.
Да и сбои чаще бывают не из-за винды, а из-за кривого софта скады итд.
И самый важный момент: нет, практически, скада-систем под UNIX-подобные системы. В наше время тенденция меняется в сторону открытых технологий, но очень медленно. Спецов тоже нет.
Да и сбои чаще бывают не из-за винды, а из-за кривого софта скады итд.
0
UFO just landed and posted this here
А можно поподробнее про «Шкафы с Honeywell-ами»? Работаю с различным оборудованием от этого вендора более 20 лет и вроде не помню проблем именно с контроллерами.
Ну если не секрет конечно. Или в личку.
Ну если не секрет конечно. Или в личку.
0
UFO just landed and posted this here
Насчёт цен это истинная правда, на каждую софтовую мелочь лицензию надо брать, но конкретно к железу первый раз слышу чтобы были такие претензии. Предыдущее поколение (TDC3000 / TPS) вообще неубиваемое.
А материть инженер должен не Хоневелл, а электриков/проектантов, это ж как возможно чтобы питание «упало»? Тут любая железка может помереть. Резервный ввод UPS + батарея часов на 6, не?
А материть инженер должен не Хоневелл, а электриков/проектантов, это ж как возможно чтобы питание «упало»? Тут любая железка может помереть. Резервный ввод UPS + батарея часов на 6, не?
0
UFO just landed and posted this here
гитхаб — это какой-то кошмар, а не система управления версиями
Он никогда и не был VCS, равно как и sourceforge.
Выбор github/bitbucket/sf/whatever — на вкус и цвет — но sf с точки зрения пользователя, ИМХО, крайне неудобен. Не говоря уже про невозможность отправить pull request.
0
UFO just landed and posted this here
- git != github, также как svn != sourceforge/googlecode
- Публичный доступ может быть к любому репозиторию и cvs/svn/hg/git — роли не играет. Стоит также отметить, что на github'е полными правами на репозиторий обладает создатель, на чтение — все (если это не закрытый репозиторий; эта фича относится к платным), а другим он может давать доступ на запись по желанию. Или принимать патчи из pull request'ов, как обычно делают.
- Возможно, есть некоторое непонимание. В svn термин commit означает отправку патча в централизованное хранилище. В git/hg — в локальное. Поэтому коммит в dvcs не требует никаких дополнительных прав кроме прав доступа к локальной файловой системе. При этом опубликование изменений выполняется с помощью git push, который является объектом авторизации. И по умолчанию на сервисах типа github'а этот самый push в чужой репозиторий можно сделать только с разрешения владельца.
Если вы хотите закрытый код, то другой вопрос, смотрите ToS конкретного сервиса (того же sf) и, если разрешает, — в путь. Правда я не вижу никаких бонусов в закрытии кода утилит типа описанных выше.
0
Дополню авторский список:
1. MDBUS for Windows — умеет вообще всё и очень удобная в работе, единственный недостаток — цена в 180$, но если не нужна самая последняя версия и молчит совесть, то сборка 3.31 лежит в сети в некоторых местах.
2. PeakHMI — бесплатная, эмулирует все 247 slaves, лежит в разделе «Slave Simulators»
3. modpoll — классика, консольный вариант, странно что никто не упомянул. В отличии от многих других мастеров позволяет выбирать количество стоп битов. Уникальная фишка — поддержка encapsulated modbus, требуется при работе с терминальными серверами типа Digi или Systech. Есть бинарник под линукс.
Из преобразователей рекомендую Trendnet TU-S9, есть только RS-232, но и цена в районе 1200 рублей. Для Ethernet/RS-485 попробуйте Digi One SP, поддерживает в том числе UDP и Raw Sockets, цена вопроса около 13 тыс. рублей, но это самый лучший вариант по соотношению цена/качество. Пользуюсь обоими уже года два, замечаний нет.
1. MDBUS for Windows — умеет вообще всё и очень удобная в работе, единственный недостаток — цена в 180$, но если не нужна самая последняя версия и молчит совесть, то сборка 3.31 лежит в сети в некоторых местах.
2. PeakHMI — бесплатная, эмулирует все 247 slaves, лежит в разделе «Slave Simulators»
3. modpoll — классика, консольный вариант, странно что никто не упомянул. В отличии от многих других мастеров позволяет выбирать количество стоп битов. Уникальная фишка — поддержка encapsulated modbus, требуется при работе с терминальными серверами типа Digi или Systech. Есть бинарник под линукс.
Из преобразователей рекомендую Trendnet TU-S9, есть только RS-232, но и цена в районе 1200 рублей. Для Ethernet/RS-485 попробуйте Digi One SP, поддерживает в том числе UDP и Raw Sockets, цена вопроса около 13 тыс. рублей, но это самый лучший вариант по соотношению цена/качество. Пользуюсь обоими уже года два, замечаний нет.
0
У Modscan есть одна уникальная особенность для программ данного типа — это возможность создания форм (своего рода мнемосхем).
Да ладно??? Пожалуйста, ткните меня — где там такое есть??? Аж интересно стало.
0
Выбираем File->Custom Form->Create
![image](https://habrastorage.org/r/w1560/files/b83/b77/bea/b83b77bea3634ffa90165afeaf65503f.png)
Открывает «Дизайнер» форм. Здесь можно разместить простой текст, bargraph, trend, данные из Modbus регистров и т.д.
![image](https://habrastorage.org/r/w1560/files/cbf/39d/23c/cbf39d23c81f4cde9368235c89a1981f.png)
Список возможных элементов конечно очень скудный, с нормальной SCADA не сравнить, но поиграть можно. Лично мое мнение, для нормальной работы пока не годится.
![image](https://habrastorage.org/files/b83/b77/bea/b83b77bea3634ffa90165afeaf65503f.png)
Открывает «Дизайнер» форм. Здесь можно разместить простой текст, bargraph, trend, данные из Modbus регистров и т.д.
![image](https://habrastorage.org/files/cbf/39d/23c/cbf39d23c81f4cde9368235c89a1981f.png)
Список возможных элементов конечно очень скудный, с нормальной SCADA не сравнить, но поиграть можно. Лично мое мнение, для нормальной работы пока не годится.
0
Вы серьезно? Это статья для хабра? Я когда увидела название надеялась на какое-то откровение, интересное решение по отладке modbus. А в итоге статья о том, что есть переходники из 485 и терминалки. Слабовато.
+1
Я когда увидела название надеялась на какое-то откровение, интересное решение по отладке modbus.
Наверное просто ваш уровень уже настолько высок, что материал статьи для вас просто не интересен и скучен. Те, у кого таких знаний не достаточно, смогут найти, что-то полезное для себя. Modbus довольно прост и узкоспециализирован, и я пока не вижу темы, которая содержала бы «откровения», кроме как вопросы непосредственной реализации протокола своими силами. Но это уже за рамками тематики статьи.
А в итоге статья о том, что есть переходники из 485 и терминалки.
Ммм… название «Программное обеспечение для тестирования и наладки устройств и сетей на базе MODBUS» и предполагает обзор «терминалок» и прочего ПО предназначенного работы с Modbus, с остановкой на определенных моментах, которые важны в при решении конкретных задач. Не вижу противоречия.
-1
Из конвертеров usb-rs485 могу посоветовать delta ifd6500, цена ~$65. Нормально работает и на винде, и на linux'е (на винде требует установки дров, ессно).
0
Попытка хорошая, но статья получилась больше для начинающих.
Можно было пошарить на форумах асушников (которых более-менее живых штуки три на русском), там темы на подобные вопросы возникают периодически и достаточно подробно обсуждаются.
asutpforum.ru, например, довольно сильный в этом плане.
Добавлю, что Modbus бегает не только на RS 485, но и на 422 и 232.
Можно было пошарить на форумах асушников (которых более-менее живых штуки три на русском), там темы на подобные вопросы возникают периодически и достаточно подробно обсуждаются.
asutpforum.ru, например, довольно сильный в этом плане.
Добавлю, что Modbus бегает не только на RS 485, но и на 422 и 232.
0
Спасибо, внесу в статью.
0
Тогда уж сразу Modbus OSI
0
Так ведь это надо шарить, отделять зерна от плевел так сказать. А на это зачастую нет ни времени ни квалификации.
0
ссылка на Temite нерабочая. исправьте на s2-team.ru
0
Есть бесплатная версия Open Modscan
0
Sign up to leave a comment.
Программное обеспечение для тестирования и наладки устройств и сетей на базе MODBUS