В области промышленного интернета вещей за программируемым логическим контроллером находится так много промышленных ведомых устройств, что им не присваивается какой-либо IP-адрес или идентификация, как бы мы могли отобразить идентификацию этих устройств и их контроль над уровнем приложения на облако. Например, я собираюсь использовать rasberrypi в качестве шлюза, этот шлюз связан с ПЛК. За ПЛК подключено множество подчиненных устройств, таких как вентиляторы, светодиодные фонари, датчики CO2.
Я очень плохо знаком с ПЛК и протоколом Modbus , даже после прочтения введения у меня все еще остаются вопросы, главный вопрос в том, как мы можем зарегистрировать и отобразить подчиненные устройства на шлюз и, наконец, на прикладной уровень IOT. и под основным вопросом есть много небольших вопросов, на которые нужно ответить, как
- Как я могу определить адрес для каждого устройства, он определяется вручную или может быть обнаружен с ведомого устройства?
- если одно ведомое устройство неисправно, как мы можем это выяснить?
источник
modbus discover devices
Ответы:
Глядя на коды функций Modbus в Википедии
Определить адреса
Вы можете запросить коды функций Report Slave ID 17 и Read Device Identification 43.
Хотя ваши устройства могут не поддерживать эту функцию и вернуться с кодом исключения 1 (недопустимая функция). Если вы не получили никакого ответа, устройство либо выключено, либо идентификатор не занят.
Вы можете перечислить эти устройства на вашем Raspberry Pi. Таким образом, вы можете создать список со значениями: ID + идентификация, ID установлен, ID не установлен.
Для Modbus / TCP эта ссылка может быть полезной.
Выяснить устройство не работает
Чтобы выяснить, не работает ли он, вы можете время от времени опрашивать диагностику и прослушивать сообщения об исключениях.
Если вы не получите сообщение обратно, это также может указывать на проблему (если в идентификаторе уже было подключено устройство).
источник
«Отображение» ПЛК будет выполнено с переменными тегами.
Вы будете структурировать тэги, а затем направлять данные по любому протоколу, в данном случае Modbus. Проверьте Advantech WISE-4060
Кроме того, в вашей сети может быть запущен OPC, где вы извлекаете теги данных и их статусы.
источник
Посмотрите на Node-Red. Он работает на RPI, и один из наборов узлов охватывает практически все, что вы хотели бы сделать с Modbus. Это открытый исходный код, и вы можете скачать рабочий образ и запустить скрипт, чтобы начать.
Недавно я создал систему управления для воды и контроля температуры, используя ее, и это было быстро и легко.
Что касается открытия, я боюсь, что это будет похоже на очистку чердак бабушки. Просто нужно пройти все это по одной коробке за раз! Благодаря RPI в сети он открывает мир связности, поскольку Node-Red может обрабатывать базы данных, твиттер, электронную почту, MQ и почти любой другой протокол, который вы можете себе представить. Кроме того, все данные можно отобразить на веб-странице, просто перетащив пару узлов на холст и перетащив провода между ними.
источник