Стартовая страница › Форумы › Rapid SCADA на Linux-контроллерах и Raspberry Pi › Драйвер KpMQTT
Помечено: MQTT KpMQTT
- В этой теме 78 ответов, 8 участников, последнее обновление 1 год, 4 месяца назад сделано
Vasily777.
-
АвторСообщения
-
18.01.2018 в 19:59 #8260
Vyacheslav
УчастникДобавлена новая функция публикации стандартных и бинарных команд.
Ссылка на бинарную версию драйвера: KpMQTT для Rapid Scada 5.5.0
19.01.2018 в 13:43 #8263Mikhail
МодераторОбновил ссылку в репозитории Rapid SCADA.
А почему пост в теме Raspberry, разве драйвер только для линукса?19.01.2018 в 18:57 #8270Vyacheslav
УчастникИзначально меня интересовала работа именно на Raspberry PI, но для удобства если это возможно можно перенести ветку в другой раздел или могу создать тему в другом разделе.
Разработка данного драйвера происходит под Linux (Mono). Тестирование работы драйвера производится для Linux и Windows.20.01.2018 в 10:24 #8273Mikhail
МодераторПусть тема пока остаётся здесь )
17.03.2018 в 14:47 #8720Vyacheslav
УчастникОпубликована новая версия драйвера KpMQTT для RapidScada 5.5.1
В новой версии добавлена возможность подписываться на топики MQTT, данные из которых передаются в команды RapidScada.
Возможно настроить 4 типа команд:
1. Стандартная команда.
2. Бинарная команда из HEX строки.
3. Бинарная команда из текста.
4. Команда внеочередного опроса КП.Ссылка на бинарный файл KpMQTT
19.03.2018 в 20:08 #8736Mikhail
МодераторСпасибо. Обновил ссылку в репозитории.
Думаю, было бы полезно вести историю версий, например, на гитхабе.02.09.2018 в 15:01 #10213Vyacheslav
УчастникДобавлена возможность обработки сообщений в формате JSON с помощью обработчиков, написанных на JavaScript.
Обновлена документация для драйвера KpMQTT:
https://github.com/bersim/OpenKPs/tree/master/KpMQTT
Бинарная версия драйвера KpMQTT:
https://github.com/bersim/OpenKPs/releases/download/5.0.11/KpMQTT.zip
03.09.2018 в 19:37 #10214Mikhail
МодераторХорошая новость!
Обновлю ссылки в репозитории на этой неделе.03.08.2019 в 14:31 #13070evolver
УчастникДобрый день.
Скачал архив KpMQTT.zip, внутри архива 4 файла:
1) KpMQTT.dll
2) KpMQTT_Config.xml
3) job.js
4) Jint.dllНасколько я понял:
— KpMQTT.dll копируем в ScadaComm\KP\
— KpMQTT_Config.xml копируем в ScadaComm\Config
а остальные файлы (Jint.dll, job.js) куда?04.08.2019 в 07:30 #13071Romiros
Участникjint.dll обычно кладется сюда в ScadaComm\
Путь к job.js Вы прописываете в конфигурационном файле, так что кладите куда удобно. Есть документация с примерами, почитайте.15.08.2019 в 00:38 #13242evolver
УчастникРаз уж нормальной инструкции нет на MQTT, то напишу я. Создавал методом проб и ошибок, если что не так, поправляйте.
Идея проекта — сбор данных о климате в квартире.
Помимо RapidScada (у меня 5.0.7.0) нужен будет еще Mosquitto (брокер для MQTT), ну и для проверки и настройки работы MQTT-брокера MQTTBox.
1. Mosquitto.
— Идем на страничку https://mosquitto.org/download/ и там выбираем для своей системы дистрибутив. Т.к. у меня все крутиться на Windows 7 x64, соответственно выбираю mosquitto-1.6.4-install-windows-x64.Рис. 01
— Устанавливаем как сервис, чтобы сам запускался. Если не запускается автоматом после перезашрузки компьютера, идем в службы и ставим отложенный запуск.
Рис. 02
2. MQTTBox
— Идем на страничку MQTTBox http://workswithweb.com/html/mqttbox/installing_apps.html#install_on_windows и качаем что нужно, либо *.zip, либо *.exe если хоти установить. Устанавливаем, все по умолчанию.
— Проверяем что работает Mosquitto. В диспетчере задач должна работать задача mosquitto.Рис. 03
— Открываем MQTTBox. Выбираем MENU -> MQTT CLIENTS -> Create MQTT Client.
Рис. 04
Т.к. Mosquitto у меня установлен на одном компьютере со SCADA, то в поле host я пишу localhost иначе нужно будет прописать адрес, либо IP компьютера на котором будет стоять MQTT-брокер.
Рис. 05
Если все настроили нормально, появится зеленая кнопка Connected.
Дальше, настройки следующие. Topic to publish — топик в который мы будем писать сообщения, Topic to subscribe — топик который будем читать, в данном случае все.Рис. 06
Проверяем, что у нас все нормально работает. В топик пишем сообщение, и из топика сообщения получаем.
Рис. 07
3. MQTT-драйвер для RapidScada
Я скачал *.zip с 4-мя файлами в архиве, не помню где, но наверное можно на форуме спросить. В архиве лежат следующие файлы: KpMQTT.dll, KpMQTT_Config.xml, job.js, Jint.dll.
Т.к. каиалог со скадой у меня лежит в C:\SCADA, соотвественно:
KpMQTT.dll копируем в C:\SCADA\ScadaComm\KP;
KpMQTT_Config.xml и job.js (можно положить куда угодно и путь мзменить в см. ниже ) копируем в C:\SCADA\ScadaComm\Config;
Jint.dll копируем C:\SCADA\ScadaComm.
В файле конфигурации (KpMQTT_Config.xml) находим строчку и меняем ее на (верно для моего пути установки RapidScada)
<MqttParams Hostname=»127.0.0.1″ ClientID=»KpMQTT» Port=»1883″ UserName=»» Password=»»/> — для настройки на локальный MQTT-брокер Mosquitto
и <MqttSubJSs>
<Topic TopicName=»/mesparam11″ QosLevel=»0″ CnlCnt=»1″ JSHandlerPath=»C:\SCADA\ScadaComm\Config\job.js»/>
Почему здесь mesparam11 — не знаю, но работет.
Дальше по образу и подобию инструкции по MODBUS из документации, создаем в SCADA-Администраторе -> База конфигурации -> Система: Объект, Линии связи, КП, Входные каналы для нашего устройсвта MQTT. Причем еслт все сделали правльно, то при добавлении КП, в таблице в столбце «Тип КП» должен появится MQTT.Рис. 08
И в SCADA-Администраторе -> База конфигурации -> Справочники -> Типы КП должен появится MQTT с соответствующим именем DLL.
Рис. 09
3. Настройка RapidScada-коммуникатора
Открываем SCADA-коммуникатор выбираем Линии связи -> Импорт линий связи КП. Ставим галочку на нашем устройстве MQTT, жмем импорт.
Дальше вибираем сообветствующую линию и переходим на вкладку опрос КП. Если в таблице пусто, то жмем «желтую стрелочку» импорт линий и добавляем нужную. Если есть, то проыеряем чтобы было так как на рисунке ниже. В командной строке я прописал имя конфигурационного файла (возможно оно нужно, возможно нет) т.к. у меня не работало без заполнения этого поля.
После перезапуска SCADA-сервера и SCADA-коммуникатора. Можно увидеть в статистике линии периодическое изменение действия: Сеанс, Передача, Обмен. А использую настроенный MQTTBox можно изменять значения.Рис. 10
15.08.2019 в 09:47 #13254Mikhail
Модератор16.08.2019 в 17:38 #13270evolver
УчастникДа уже все установил и настроил.
Хотел отредактировать опечатки, но не могу. Почему?17.08.2019 в 10:42 #13275Taw
УчастникОчень граммотно изложено. Я использовал предпоследнюю версию драйвера без JSON. А сейчас все воспроизвел и все работает в последней версии драйвера. Команды тоже отправляются.
Вопрос:
1. Мы в файле конфигурации прописываем что подписку на топик сохраняем по указанному пути в файл job.js. Создаем веб-страницу, подключаем в ней этот JavaScript файл job.js . Не могли бы пояснить и привести пример считывания значения из этого файла в вебстранице на JavaScript?17.08.2019 в 11:33 #13276Taw
Участник2. Не могли бы вы привести пример настройки MQTT для глобального брокера? Например broker.mqtt-dashboard.com или https://www.cloudmqtt.com. В принципе любого бесплатного. Я использовал eclipse и mosquitto. Но пару дней назад они упали. И не могу поднять их снова.
-
АвторСообщения
- Вы должны авторизироваться для ответа в этой теме.