Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - elperegrino

Страницы: [1]
1
arOPC сервер / Re: MQTT arOPC
« : 07.12.2021, 02:05:08 am »
1. не совсем так. Пытался сочинить пример с калькуляцией, короче чем на два экрана не выходит (стало любопытно, потом сделаю тестовый пример).
Тезисно: пример из проекта
Есть помимо прочего 5 вентиляторов (автоматизация сушильного шкафа сейчас работает в iot-MQTT panel в планшет, есть еще разная  автоматика, принято решение привести к общему знаменателю, ввести SCADA )
Для каждого вентилятора:   
публикуем: состояние, режим работы,  интервал включения, длительность включения, номер используемого датчика температуры, сигнал аварии (всего 7)
подписываемся: новое состояние, новый режим работы,  новый интервал включения, новая длительность включения, новый номер используемого датчика температуры (всего 6)
все значения параметров byte (меньше не бывает (битовая упаковка неоправдана))
при подходе "по топикам" длина топика постоянно нарастает, обработчики циклически работают с динамическими массивами (string) меняющейся длины, созданными не тобой (при 2 кб sram те еще грабли, память фрагментируется (массивы ведь должны хранится непрерывно) и программу часто срывает ).
при JSON мы один раз ищем есть ли "FANx" в названии топика, если да, то один раз парсим JSON раскидывая параметры в регистры.

Плюс данные из "приемника MQTT" спускаются по SLIP протоколу, а там число-это число, строка - это массив символов.

Магия с HASH (кстати, где посмотреть об этом способе, а то я слова по отдельности понимаю, а в смысл вместе они не складываются ))) )оправдана когда ты сам полностью в одном устройстве поднимаешь TCP-IP-MQTT стек , на имеющимся PHY (wi-fi, ethernet) и на нем же "шевелишь ногами"- тут как всегда, это или очень дорого или  очень сложно (читай объемно) или очень медленно. Выгоднее использовать отдельный контроллер, который будет заниматься только стеком TCP-IP-MQTT, а с основным будет общаться по SLIP. 


2
arOPC сервер / Re: MQTT arOPC
« : 06.12.2021, 19:23:29 pm »
В общем: без JSON грустно: политика "один топик-одно значение" сильно отъедает и без того мелкой оперативной памяти устройств (бестолковые, незначащие названия топиков надо хранить, перебирать и обрабатывать, при хранении в EEPROM получаем тормоза при считывании) и после десятка значений-топиков сильно неудобно ковыряться с этими слешами, вложениями и пр., т.е для средних(от 10 значений) и крупных проектов мертворожденная идея.
Постепенно разбираюсь и для меня удивительно, почему почти ни у кого MQTT не внедрен в SCADA, понятно, что промыслам принципиально неинтересен этот потребительский "ширпотреб", но этож все-таки какой-никакой, а тоже рынок сбыта, так как главной проблемой большинства проектов является именно интерфейс пользователь-система.
Уговариваю:
Так это ж пока "один случай"(хотя, судя по ветке форума, уже два), вряд ли MQTT канет в лету в обозримом будущем(цена интерфейса к MQTT 1usd в розницу(ESP8266+esplink), цена modbus tcp -? ), а инструмента, позволяющего за адекватные деньги подключить "промышленный" интерфейс scada к ширпотребовской электронике и поделкам пионеров кроме Вашего пока нет. Ознакомьтесь с обсуждением какого-нибудь zeegbeetomqtt сообщества.

2)О JSON: такие топики со значениями только считываются такой длинной строкой с разнотиповыми значениями, запись можно делать и по одному значению,  в виде {"newstate":1}, в устройствах уже реализован обработчик JSON и ему безразлично со сколькими парами ключ-значение работать.
Прошу прощения за оффтоп.

3
arOPC сервер / Re: MQTT arOPC
« : 05.12.2021, 22:46:08 pm »
1) Понял, буду экспериментировать.
Просто как идею на будущее (после осознания как работает SCADA уточню идею):  было бы здорово подписываться на общий топик устройства(подраздела устройства) и силами arOPC сервера вытаскивать из MQTT топика, теги (состояния и уставки)  парсингом JSON строки.
Так же,  по моему опыту, для тега лучше обеспечивать подписку на два топика: отдельно топик для установки параметра, отдельно на получение статуса, иначе, когда подписываешься на топик, в который сам же публикуешь, возникает "кольцо"(легко решается созданием двух тегов один на подписку, один на публикацию, вопрос удобства, и, извините, денег - лицензия на количество тегов). Сейчас к тегу можно прикрепить только один топик.
2) JSON как JSON: {"парамтр1":хх,"параметр2":yy,"параметр3":zz.qq,"параметр3":"строка",...}

4
arOPC сервер / Re: MQTT arOPC
« : 05.12.2021, 00:35:56 am »
Здравствуйте!
Возникла задача управлять имеющимися устройствами с MQTT именно через SCADA. Гугл предложил Ваш сервер. Есть несколько вопросов:
1) Я правильно понимаю процесс: для создания шлюза MQTT-OPC-SCADA нужно в arOPC создавать устройства, прописывать теги, привязывать их к топикам MQTT, затем уже в SCADA еще раз создавать такие же устройства и привязывать их к тегам теперь уже  вашего OPC сервера? Туповатое уточнение, но тем не менее: то есть нет режима "транслировать все" и разбираться уже на стороне SCADA.(процесс создания шлюза не описан в инструкции)
2) arOPC не умеет разматывать строки JSON в топиках? Или умеет? Где посмотреть? (в инструкции нет об этом вообще ничего)

Страницы: [1]