DaniilOpushnev

Ответы в темах

Просмотр 13 сообщений - с 1 по 13 (из 13 всего)
  • Автор
    Записи
  • в ответ на: Вывод параметров Json из MQTT #39743
    DaniilOpushnev
    Участник

    Всем добрый день!
    Есть устройство, которое передает данные формата json (например {"time": 1625097600, "type": 5, "temp": 250, "hum": 500, "status": 1, "signal": 2}), а так же простые строчные сообщения типа get, end. При простом скрипте парсинга json, при появлении сообщения на входе не формата json, значения в тегах сбрасываются, т.к. была ошибка выполнения скрипта. В скрипте реализовал игнорирование данные не json формата, но в таком случае все равно значения в тегах сбрасывались, доработал код, хотел, чтобы при получении обычной строки в теги передавались последние значения json пакета, но максимум добился того, что данные в тегах не сбрасываются, а устанавливаются на 0. Полагаю, так происходит из-за того, что при вызове и завершении скрипта, сохраненные данные в коде стираются.
    Может кто то сталкивался с похожей проблемой? Как сделать так, чтобы данные в тегах не сбрасывались/обнулялись?
    Использую 5ю версию scada.

    • Ответ изменён 1 год, 1 месяц назад пользователем DaniilOpushnev. Причина: пояснение
    в ответ на: ModBus Опрос по команде #34694
    DaniilOpushnev
    Участник

    Да я тоже об этом подумал, поэтому поставил период в 10 минут, это хотя бы позволит избавиться от «дребезга» значений. А так в 5й версии в модуле автоуправление есть функция опрос КП, буду тестировать ее в понедельник.

    в ответ на: ModBus Опрос по команде #34685
    DaniilOpushnev
    Участник

    В код команды тоже работает, спасибо!
    И просто выставить период тоже работает, все проще чем казалось..) Спасибо! С периодичностью и на 5й версии заработает.

    в ответ на: ModBus Опрос по команде #34678
    DaniilOpushnev
    Участник

    Галку «Оставаться на связи» снял, все в норму пришло. Все работает как надо.
    Всем спасибо!

    А на 5ю версию есть подобная команда?

    в ответ на: ModBus Опрос по команде #34671
    DaniilOpushnev
    Участник

    Картинки не заработали почему то, вставлю просто ссылками:

    Настройка канала: https://disk.yandex.ru/i/rTdNAjUn4vPZhg

    Настройка модуля контроля: https://disk.yandex.ru/i/KKlBijY7w1FPWQ

    Лог линии: https://disk.yandex.ru/i/xNB7M9sqavieYg

    в ответ на: ModBus Опрос по команде #34670
    DaniilOpushnev
    Участник

    Настроил через команду App.Comm.PollDevice. Настройки следующие:
    Настройка канала ТУНастройка AutoControl
    Первый опрос в нужное время проходит успешно, но следующий с ошибкой:
    Лог линии

    Но эта ошибка, скорее всего, связана с самим устройством. Понаблюдаю еще как будет проходить опрос с часовым интервалом.

    в ответ на: Период записи данных в таблицу #30160
    DaniilOpushnev
    Участник

    А можете рассказать в общих чертах хотя бы, какие файлы нужны для создания плагина и как его потом установить? Никогда этого не делал, представления вообще никакого нет.

    в ответ на: Период записи данных в таблицу #30062
    DaniilOpushnev
    Участник

    Забыл дополнить, версия 5.
    Цель этого следующая: В холодильном помещении размещены датчики климат-мониторинга с интервалом замера раз в минуту. Данные эти хранятся в БД SQL Server и заносятся туда другой системой. Собственно рапид дергает эти данные из БД. И задача такая, чтобы пользователь открыл таблицу и смог увидеть все измерения, не формируя никакие отчеты.

    Еще вопрос родился. Раз табличные представления это плагин, то значит ли что можно полностью изменить структуру табличного представления? То есть записывать новые данные не в каждый последующий столбец, а в каждую последующую строчку таблицы. Так будет удобнее отслеживать большие таблицы.
    И где можно найти файл плагина в директории SCADA?

    в ответ на: Вывод параметров Json из MQTT #29077
    DaniilOpushnev
    Участник

    Всем спасибо, разобрался с кодом скрипта, все заработало!

    в ответ на: Вывод параметров Json из MQTT #29074
    DaniilOpushnev
    Участник

    Пакет json мне приходит в таком виде: { "time": 1688035347, "type": 5, "temp": 251, "hum": 461, "press": 0, "status": 192, "signal": 80 }, приходят они в топик temp/000000000000, где 000000000000 — серийный номер датчика. Если я вас правильно понял, вы предлагаете подписаться на топик temp/000000000000/hum, например, но так работать не будет. А так я и подписан на конкретный топик temp/000000000000.

    в ответ на: Вывод параметров Json из MQTT #29061
    DaniilOpushnev
    Участник

    Кстати, с кодом из примера, передача данных работала частично, то есть, посылал пакет { «Val»: 12.3, «Stat»: 1 } и отображалось в таблице как MyTag = 12.300, значение Stat никак не отражалось.

    в ответ на: Вывод параметров Json из MQTT #29060
    DaniilOpushnev
    Участник

    В примере был следующий код:

    var data = JSON.parse(InMsg);
    
    jsvals[0].TagName = "My tag";
    jsvals[0].Stat = data.Stat;
    jsvals[0].Val = data.Val;

    Мой код выглядит так:

    var data = JSON.parse(InMsg);
    
    jsvals[0].time = data.time;
    jsvals[0].type = data.type;
    jsvals[0].temp = data.temp;
    jsvals[0].hum = data.hum;
    jsvals[0].press = data.press;
    jsvals[0].status = data.status;
    jsvals[0].signal = data.signal;

    Вроде как отличий по синтаксису нет.

    У нас уже есть функционирующий проект на версии 5, поэтому на 6 версию достаточно проблематично перейти, хотелось бы все реализовать на 5.

    Может как то влиять настройка входных каналов во вкладке «Система» на отображение значений в таблице текущих данных?

    в ответ на: Вывод параметров Json из MQTT #29043
    DaniilOpushnev
    Участник

    P.S.S. При отправке данных не в формате json, показание отображается в таблице текущих данных КП.

Просмотр 13 сообщений - с 1 по 13 (из 13 всего)