Страница 60 из 164 ПерваяПервая ... 1050585960616270110160 ... ПоследняяПоследняя
Показано с 591 по 600 из 1872

Тема: Вопросы по MasterSCADA 4D

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    Цитата Сообщение от Larrrik Посмотреть сообщение
    Доброго дня.
    Подскажите, .changed - это какое-то пользовательское поле, или системное?
    Поиском по справке такого не нашел (
    Просто интересно каким образом реализовать в MS4D аналог скрипта "по изменению значения", общеупотребительного для других систем.
    Неужели всё самому нужно лепить через дополнительные переменные и функции сравнения?
    Сделал для себя, в первую очередь необходимо было отслеживать изменение уставок, может пригодится:
    Это FB для float,
    для интов надо изменить input на нужный int,
    а так же localVar объявить интом
    Код:
    double localVar ; 
    bool init;
     
    public override void Execute()
    {
     if (enable)
     	{
    	compareResult= input.CompareTo(localVar);
    	changed=false;	
    	
      if ( compareResult !=0 ) 
    	{
    		changed=true && init;
    		
    		message = "Значение параметра [ "  + nameParam +  " ] изменено. "   + " Было: " +  localVar + " Стало: " + input ;
    		
    	}
     
     localVar = input;
     init = true;
     }
    }
    Изображения Изображения

  2. #2

    По умолчанию

    Может кто-нибудь помочь с получением значений из сообщений в формате JSON? Буду крайне признателен.

    У меня прилетают сообщения по MQTT в JSON. К примеру одно из наиболее маленьких:
    [{"ts":1657711987000,"ms":{"ru1":{"force":-99999,"temp":-2000,"ts":0},"ru2":{"force":-99999,"temp":-2000,"ts":0},"ru3":{"force":-99999,"temp":-2000,"ts":0},"meteo":{"airt":0.000000,"ah":0,"wd": 0,"ws":0.000000}},"hs":"ba5e11c1eacd3873e308427667 5a8d0a"}]

    На входе массив структур(судя по квадратным скобкам), который состоит из: переменной ts, структуры ms и переменной hs.
    Структура ms в свою очередь состоит из структур ru1-3 и структуры meteo.
    Структуры ru1-3 состоят из полей: force, temp, ts.
    Структура meteo состоит из полей: airt, ah, wd, ws.
    Т.е. по сути получается «матрёшка» из полей, вложенных в структуры, которые в свою очередь вложены в ещё одну структуру, которая с двумя переменными составляет массив.
    Я создавал все эти структуры с соответствующими полями и потом вкладывал одно в другое, как указанно в разделе справки «Соответствие элементов JSON и MasterScada 4D.

    Далее чтобы было более понятно
    [{"ts":1657711987000,
    "ms":{
    "ru1":{"force":-99999,"temp":-2000,"ts":0},
    "ru2":{"force":-99999,"temp":-2000,"ts":0},
    "ru3":{"force":-99999,"temp":-2000,"ts":0},
    "meteo":{"airt":0.000000,"ah":0,"wd":0,"ws":0.0000 00}
    },
    "hs":"ba5e11c1eacd3873e3084276675a8d0a"}]

    Согласно справки имена ключей и типы данных должны совпадать. Разработчики устройства, с которого летят сообщения дали мне типы данных: "[{"ts":%lld,"ms":{%s"meteo":{"airt":%f,"ah":%d,"wd" :%d,"ws":%f}},"hs":"%s"}]"
    Как я понял это написано на С. Я сопоставил эти типы данных с данными в 61131-3. Сделал, как указанно в справке создал свой сложный тип данных. Структуру meteo с полями airt,ah,wd,ws, структуры ru1-3 с полями force, temp,ts. Вложил в структуру ms и конечную струтуру с полями ts, hs. И всё это в массив.
    Назначал полученный тип данных параметру канала и в ответ нули. Датчиков на девайсе нет но, ts-вермя и hs- контрольный хэш должны прилетать.
    Возвращаю исходный тип данных, вижу, строку в которой есть данные.
    Ещё если назначить конечным типом данных массив структур( о чём говорят квадратные скобки) то, на выходе и массив, и теперь из 3-х строк.
    А если назначить конечным типом данных структуру(что согласно справке будет не верно) то, всё раскладывается на отдельные параметры но, в них нули, как написано выше.

    Через функцию STRING_TO_OBJECT тоже пытался. Тоже не работает.

    Справка - фуфло. Написана не прозрачно и не однозначно. У ТП как всегда всё работает, всё здорово, "Не понимаем в чём у вас проблема". Способ конвертации крайне неудобен, нужно всё сообщение до последнего ключа раскладывать, а бывают сообщения ооооооооооочень длинные.

    [{"ts":1658146763000,"status":"RN","hw_version":"00 01","base": {"status":"","GSM":"Op: MegaFon RUS, RSSI: -51dBm, BER: 6.400000%","versions": {"hw_version":"0001","fw_version":"NO","fw_bckup_s table_version":"NO","fw_status":"FC"},"data":{"brd _temp":37.000000,"voltage":14.157000,"uptime":5342 31,"rf_status":""}},"cab": {"status":"DO,"},"ru1":{"status":"","b1":{"voltage ":3.410000,"value_charge":20.000000},"brd_temp":29 ,"channel_occup_attempt": 0,"sessions_nak":0,"ru_ltota":1658146756000,"ru_rs si":-66,"rf_ru_rssi":0},"anem": {"temp":0.000000,"status":"WDL"},"t_hum": {"status":"THDL"},"hs":"b7ed13745b79f42642a7eeada4 9f3c5a"}]
    А мне нужен лишь один ключ. И что делать???


    Прилагаю скрины то, как делал и результаты.

    PS.
    Ещё момент, если в сообщении прилетают ключи с именами, совподающими с зарезервированными словами 61131-3 - беда! Т.к. по справке имена полей должны совпадать с ключами. Ничего не сделать.

    В TeslaScada2 это реализовано по другому, у них не используется 61131-3 и реализовано на мой взгляд удачнее. Необязательно всё сообщение до последнего ключа преобразовывать но, ручками поработать придётся тоже.
    структура_meteo.jpgструктура_ru1_3.jpgструктура_ms.jpgструктура_telemetry.jpgключ_at.jpgисходное сообщение.jpgисходное сообщение.jpgесли тип массив структур.jpgесли тип структура.jpgstring_to_object.jpg
    Последний раз редактировалось asutp2003; 22.07.2022 в 14:32.

  3. #3

    По умолчанию

    Цитата Сообщение от asutp2003 Посмотреть сообщение
    Может кто-нибудь помочь с получением значений из сообщений в формате JSON? Буду крайне признателен.

    У меня прилетают сообщения по MQTT в JSON. К примеру одно из наиболее маленьких:
    [{"ts":1657711987000,"ms":{"ru1":{"force":-99999,"temp":-2000,"ts":0},"ru2":{"force":-99999,"temp":-2000,"ts":0},"ru3":{"force":-99999,"temp":-2000,"ts":0},"meteo":{"airt":0.000000,"ah":0,"wd": 0,"ws":0.000000}},"hs":"ba5e11c1eacd3873e308427667 5a8d0a"}]

    На входе массив структур(судя по квадратным скобкам), который состоит из: переменной ts, структуры ms и переменной hs.
    Структура ms в свою очередь состоит из структур ru1-3 и структуры meteo.
    Структуры ru1-3 состоят из полей: force, temp, ts.
    Структура meteo состоит из полей: airt, ah, wd, ws.
    Т.е. по сути получается «матрёшка» из полей, вложенных в структуры, которые в свою очередь вложены в ещё одну структуру, которая с двумя переменными составляет массив.
    Я создавал все эти структуры с соответствующими полями и потом вкладывал одно в другое, как указанно в разделе справки «Соответствие элементов JSON и MasterScada 4D.

    Далее чтобы было более понятно
    [{"ts":1657711987000,
    "ms":{
    "ru1":{"force":-99999,"temp":-2000,"ts":0},
    "ru2":{"force":-99999,"temp":-2000,"ts":0},
    "ru3":{"force":-99999,"temp":-2000,"ts":0},
    "meteo":{"airt":0.000000,"ah":0,"wd":0,"ws":0.0000 00}
    },
    "hs":"ba5e11c1eacd3873e3084276675a8d0a"}]

    Согласно справки имена ключей и типы данных должны совпадать. Разработчики устройства, с которого летят сообщения дали мне типы данных: "[{"ts":%lld,"ms":{%s"meteo":{"airt":%f,"ah":%d,"wd" :%d,"ws":%f}},"hs":"%s"}]"
    Как я понял это написано на С. Я сопоставил эти типы данных с данными в 61131-3. Сделал, как указанно в справке создал свой сложный тип данных. Структуру meteo с полями airt,ah,wd,ws, структуры ru1-3 с полями force, temp,ts. Вложил в структуру ms и конечную струтуру с полями ts, hs. И всё это в массив.
    Назначал полученный тип данных параметру канала и в ответ нули. Датчиков на девайсе нет но, ts-вермя и hs- контрольный хэш должны прилетать.
    Возвращаю исходный тип данных, вижу, строку в которой есть данные.
    Ещё если назначить конечным типом данных массив структур( о чём говорят квадратные скобки) то, на выходе и массив, и теперь из 3-х строк.
    А если назначить конечным типом данных структуру(что согласно справке будет не верно) то, всё раскладывается на отдельные параметры но, в них нули, как написано выше.

    Через функцию STRING_TO_OBJECT тоже пытался. Тоже не работает.

    Справка - фуфло. Написана не прозрачно и не однозначно. У ТП как всегда всё работает, всё здорово, "Не понимаем в чём у вас проблема". Способ конвертации крайне неудобен, нужно всё сообщение до последнего ключа раскладывать, а бывают сообщения ооооооооооочень длинные.

    [{"ts":1658146763000,"status":"RN","hw_version":"00 01","base": {"status":"","GSM":"Op: MegaFon RUS, RSSI: -51dBm, BER: 6.400000%","versions": {"hw_version":"0001","fw_version":"NO","fw_bckup_s table_version":"NO","fw_status":"FC"},"data":{"brd _temp":37.000000,"voltage":14.157000,"uptime":5342 31,"rf_status":""}},"cab": {"status":"DO,"},"ru1":{"status":"","b1":{"voltage ":3.410000,"value_charge":20.000000},"brd_temp":29 ,"channel_occup_attempt": 0,"sessions_nak":0,"ru_ltota":1658146756000,"ru_rs si":-66,"rf_ru_rssi":0},"anem": {"temp":0.000000,"status":"WDL"},"t_hum": {"status":"THDL"},"hs":"b7ed13745b79f42642a7eeada4 9f3c5a"}]
    А мне нужен лишь один ключ. И что делать???


    Прилагаю скрины то, как делал и результаты.

    PS.
    Ещё момент, если в сообщении прилетают ключи с именами, совподающими с зарезервированными словами 61131-3 - беда! Т.к. по справке имена полей должны совпадать с ключами. Ничего не сделать.

    В TeslaScada2 это реализовано по другому, у них не используется 61131-3 и реализовано на мой взгляд удачнее. Необязательно всё сообщение до последнего ключа преобразовывать но, ручками поработать придётся тоже.
    структура_meteo.jpgструктура_ru1_3.jpgструктура_ms.jpgструктура_telemetry.jpgключ_at.jpgисходное сообщение.jpgисходное сообщение.jpgесли тип массив структур.jpgесли тип структура.jpgstring_to_object.jpg
    Вы можете использовать c# , там есть чем поработать с json

  4. #4

    По умолчанию

    Цитата Сообщение от VladGC Посмотреть сообщение
    Вы можете использовать c# , там есть чем поработать с json
    Не будет ли у Вас примера работы(желательно в MS4D)?
    Буду признателен

  5. #5

    По умолчанию

    Цитата Сообщение от asutp2003 Посмотреть сообщение
    Не будет ли у Вас примера работы(желательно в MS4D)?
    Буду признателен
    На c# примера нет, возни мне кажется там больше



    Сделал стандартными средствами:

    https://dropmefiles.com/Qzuuj
    Изображения Изображения

  6. #6

    По умолчанию

    Установил пароль на проект. Можно ли сделать так, что при открытии, когда требуется ввести пароль, он был под звездочками, а не в открытом виде?

  7. #7

    По умолчанию

    Цитата Сообщение от Bigcrash Посмотреть сообщение
    Установил пароль на проект. Можно ли сделать так, что при открытии, когда требуется ввести пароль, он был под звездочками, а не в открытом виде?
    Тут надо писать петицию разработчикам, в бета версиях такого нет, возможно просто мало кому надо

  8. #8
    Пользователь
    Регистрация
    10.06.2022
    Адрес
    Санкт-Петербург
    Сообщений
    2

    По умолчанию

    Здравствуйте уважаемые специалисты, работаю с MasterSCADA 4D 1.2 и столкнулся с следующей проблемой. В проект по OPC UA я забираю массив из 1000 REAL и мне нужно отобразить на мнемосхеме конкретный индекс массива например [100] или [800] но перетягивать значение путем драген дроп возможно только всего массива а не конкретного индекса……В заранее благодарю за ответ.

  9. #9

    По умолчанию

    Цитата Сообщение от TEHNOLINK Посмотреть сообщение
    Здравствуйте уважаемые специалисты, работаю с MasterSCADA 4D 1.2 и столкнулся с следующей проблемой. В проект по OPC UA я забираю массив из 1000 REAL и мне нужно отобразить на мнемосхеме конкретный индекс массива например [100] или [800] но перетягивать значение путем драген дроп возможно только всего массива а не конкретного индекса……В заранее благодарю за ответ.
    Создаете параметр типа LREAL, в программе ему присваиваете значение определенного индекса массива. Сам индекс можно тоже задинамизировать. Далее все кидаете в окно.
    Безымянный 1.png
    Безымянный 2.png

  10. #10
    Пользователь
    Регистрация
    10.06.2022
    Адрес
    Санкт-Петербург
    Сообщений
    2

    По умолчанию

    Спасибо "b_aleks"

Страница 60 из 164 ПерваяПервая ... 1050585960616270110160 ... ПоследняяПоследняя

Похожие темы

  1. Вопросы по СИ-8
    от aleksandr87 в разделе Эксплуатация
    Ответов: 2
    Последнее сообщение: 11.06.2016, 18:56
  2. Вопросы новичка по MasterScada
    от MrNobody в разделе Master SCADA 3
    Ответов: 4
    Последнее сообщение: 04.09.2014, 14:39
  3. MasterScada v3.6 Основные вопросы
    от colorprint2008 в разделе Master SCADA 3
    Ответов: 7
    Последнее сообщение: 24.12.2013, 15:50
  4. конвертация проекта из Masterscada 3.5 в Masterscada 3.4
    от Сергей_SPB в разделе Master SCADA 3
    Ответов: 2
    Последнее сообщение: 01.04.2013, 16:56
  5. Вопросы по трендам MasterSCADA
    от 42ia в разделе Master SCADA 3
    Ответов: 9
    Последнее сообщение: 26.06.2012, 10:58

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •