Просмотр полной версии : Снифер RS-485 из ПЛК110
Здравствуйте.
У меня есть устройство, являющееся слейвом в RS-485 сети с протоколом MBRTU. Это устройство непрерывно опрашивается заводским программным обеспечением, установленным на ПК, через USB-485 конвертер. В эту безупречную схему мне нужно внедрить ПЛК110, который должен просто получать те же самые данные, которые получает заводское ПО. Внимание вопрос: как это возможно реализовать? Думал сначала поставить преобразователь на MBTCP и опрашивать это по всё по MBTCP протоколу, но заводская софтина может работать только с COM-портом по MBRTU. Подобные ситуации уже решались с помощью снифера RS485-сети. Поэтому ещё один вопрос: кто-нибудь реализовывал такой снифер на базе ПЛК110? Чтобы ПЛК не выдавал команду на чтение, а только слушал гуляющие данные по 485-сети?
Присесть для начала другим ПК и все прослушать, наверняка там небольшой набор запросов. Ну и научить ПЛК писать в массивы, зная по какому адресу идут запросы и откуда придут ответы.
Преобразователь на ModbusTCP не подойдет, так как он является Мастером для RTU режима.
з.ы. а почему именно для ПЛК реализация ? какая цель ?
Чем modbus. lib не устраивает, исходники есть надо только посмотреть как организовано чтение ответов на запрос
может быть и устраивает исходники не ковырял, в стандартном режиме идёт команда на считывание 03, а потом приём данных, что мне не подходит т.к. из-за двух мастеров в 485-сети возникнут коллизии.
спрашиваю может кто-то на практике уже этим занимался или есть определённые конкретные идеи по реализации.
Присесть для начала другим ПК и все прослушать, наверняка там небольшой набор запросов. Ну и научить ПЛК писать в массивы, зная по какому адресу идут запросы и откуда придут ответы.
Преобразователь на ModbusTCP не подойдет, так как он является Мастером для RTU режима.
з.ы. а почему именно для ПЛК реализация ? какая цель ?
другим ПК сейчас всё читается и работает, но интересует возможность для реализации подобного функционала программными средствами плк без использования сторонних устройств в целях экономии ресурсов. набор запросов там примерно 400 регистров которые нужно сниффить, адреса известны как устройств так и регистров в них, команды на чтение стандартные 03.
суть и принципы реализации понятны, непонятны программно-аппаратные возможности ПЛК в этом вопросе, насколько это в принципе реализуемо? а также именно нюансы реализации.
to all
ожидаются ответы вида: вот держи код, у меня уже всё работает, или кода нет, но я это делал так и так и всё работало.
"вот держи код" тут вряд ли получите... Думайте сами. Если родное ПО можно настроить опрашивать устройство строго в определенные секунды минуты (вряд ли оно умеет конечно, ну а вдруг) тогда при синхронизации времени можно и двумя мастерами опрашивать. Но это не лучший выход, хотя как посмотреть.
Опять же, частота опроса какая нужна ?
Опять же, если другим ПК у вас все сниферится, и уже работает, почему не расширить функционал ?
Опять же, вы не указали цели и задачи на кой тут ПЛК ?
То есть цена вопроса какой-нибудь без вентиляторный промПК или ПЛК по цене сопоставимы.
Sergey666
25.10.2019, 09:20
Делается на основе библиотеки SysLibCom.lib. Только с программным анализом будут проблемы, т.к валится хаотично все будет в общий буфер(который чистить надо будет периодически).
Снифер вообще для "человеческого" анализа предназначен. Если интересно позже пример выложу.
"вот держи код" тут вряд ли получите... Думайте сами. Если родное ПО можно настроить опрашивать устройство строго в определенные секунды минуты (вряд ли оно умеет конечно, ну а вдруг) тогда при синхронизации времени можно и двумя мастерами опрашивать. Но это не лучший выход, хотя как посмотреть.
Опять же, частота опроса какая нужна ?
Опять же, если другим ПК у вас все сниферится, и уже работает, почему не расширить функционал ?
Опять же, вы не указали цели и задачи на кой тут ПЛК ?
То есть цена вопроса какой-нибудь без вентиляторный промПК или ПЛК по цене сопоставимы.
функционал уже расширен, другой пк сниффит сеть и расшаривает данные в mbtcp, оттуда по локалке плк читает данные и производит соответствующие действия.
какая разница, что, зачем и для чего здесь плк. просто есть потребность в таком инструменте как снифер rs-485, уже неоднократно пришлось его использовать на сторонних устройствах и городить огород с расшариванием регистров для дальнейшего чтения.
просто было бы неплохо иметь такой инструмент, который позволит в дальнейшем упростить костыли в некоторых условиях.
Делается на основе библиотеки SysLibCom.lib. Только с программным анализом будут проблемы, т.к валится хаотично все будет в общий буфер(который чистить надо будет периодически).
Снифер вообще для "человеческого" анализа предназначен. Если интересно позже пример выложу.
интересно.
Parovoz как написал Sergey666, будете мучать плк с очисткой буфера и лишней работой. На самом дешманском промПК можно сделать шлюз (например используя RaspberryPi) раз уж умеете программировать. Который будет так же брать данные из порта путем снифа и передавать данные в любой вам ПЛК по Modbus хоть RTU хоть TCP....
Ну а так дело ваше, лепите на ПЛК....
Parovoz как написал Sergey666, будете мучать плк с очисткой буфера и лишней работой. На самом дешманском промПК можно сделать шлюз (например используя RaspberryPi) раз уж умеете программировать. Который будет так же брать данные из порта путем снифа и передавать данные в любой вам ПЛК по Modbus хоть RTU хоть TCP....
Ну а так дело ваше, лепите на ПЛК....
именно так уже и сделано, это уже многократно работает и на малине и на обыкновенном ПК.
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot