Страница 107 из 112 ПерваяПервая ... 75797105106107108109 ... ПоследняяПоследняя
Показано с 1,061 по 1,070 из 1125

Тема: Modbus Universal MasterOPC Server новый OPC сервер от компании ИнСАТ

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

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

    По умолчанию

    Напрямую к прибору (без этого шлюза) пробовали подключиться? Например через USB-COM?
    Посмотрите на вкладке Сообщения и Запросы - что вообще происходит на шине? Открывается ли порт, есть ли запросы?
    Спасибо.

  2. #2

    По умолчанию

    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    Напрямую к прибору (без этого шлюза) пробовали подключиться? Например через USB-COM?
    Посмотрите на вкладке Сообщения и Запросы - что вообще происходит на шине? Открывается ли порт, есть ли запросы?
    Разобрался, спасибо.

  3. #3

    По умолчанию

    Добрый день.
    Никогда не писал скриптов. По этому прошу у Вас помощи.
    В Modbus сервере имеется значение с типом данных "bool'. Можно ли как то прописать в скрипте, что бы при значении 1
    выдавалось какое либо сообщение. Т.е. При значении 1 выдавалась строка (string) с текстом "Авария", а при 0 ничего. Именно сделать это в сервере, а ни в SCADA системе в "Событии".


    Спасибо...

  4. #4

    По умолчанию

    Довольно странно это решать в ОРС сервере.
    Примерно так:
    val,qual=server.ReadCurrentTag();
    if (val==true) then
    server.WriteCurrentTag("Авария", qual);
    else
    server.WriteCurrentTag("", qual);
    end

    Тег должен иметь тип в сервере - string. Тип в устройстве - bool.
    Спасибо.

  5. #5

    По умолчанию

    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    Довольно странно это решать в ОРС сервере.
    Большое спасибо! Завтра на работе попробую.
    Последний раз редактировалось mkv; 21.02.2024 в 18:50.


    Спасибо...

  6. #6

    По умолчанию

    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    Довольно странно это решать в ОРС сервере.
    Да, Вы правы. Странное решение. Я Вам сейчас попробую объяснить задачу.
    Имеются чиллеры на основе контроллера CAREL.pCO XS. Он использует очень много адресов (более 30) с авариями. Мне не очень хочется вносить все аварии в сервер, а потом в SCADA для каждой аварии использовать событие.
    Появилась одна идея. Вот хочу попросить у Вас помощи.
    А идея заключается вот в чём:
    В сервере создать тэг "SERVER ONLY" с типом данных "string" и в нём написать скрипт объединяющий все нужные адреса с авариями. И там преобразовать их в текстовое значение.
    Выглядеть будет примерно так:
    Если адрес 1 будет принимать значение 1, то это значение преобразовывается в текст "Авария Компрессора 1". Или
    если адрес 3 будет принимать значение 1, то это значение преобразовывается в текст "Авария Компрессора 2". Или
    если адрес 4 будет принимать значение 1, то это значение преобразовывается в текст "Авария Компрессора 3".
    И так далее.
    В SCADA я в "Событие" в закладку "Сообщение" перетаскиваю этот тэг и жму кнопку "В текст".
    Но написать такой скрипт тямы нет. Вот и пытаюсь как то решить эту задачу и прошу Вашей помощи.


    Спасибо...

  7. #7

    По умолчанию

    Цитата Сообщение от mkv Посмотреть сообщение
    Он использует очень много адресов (более 30) с авариями
    Это разве много?
    Вам в любом случае придется где-то создавать тесты аварии - так какая разница в скрипте или в событиях. В скаде это сделать просто - сделали событие, скопировали, связи поправили, а тексты сообщений можно через этот механизм сделать:
    https://support.mps-soft.ru/MasterSC...t_dannykh.html

    Цитата Сообщение от mkv Посмотреть сообщение
    Если адрес 1 будет принимать значение 1, то это значение преобразовывается в текст "Авария Компрессора 1". Или
    если адрес 3 будет принимать значение 1, то это значение преобразовывается в текст "Авария Компрессора 2". Или
    если адрес 4 будет принимать значение 1, то это значение преобразовывается в текст "Авария Компрессора 3".
    А если значение 1 пример и адрес и адрес 3?
    Спасибо.

  8. #8

    По умолчанию

    Цитата Сообщение от SCADAMaster Посмотреть сообщение

    А если значение 1 пример и адрес и адрес 3?
    Вы имеете ввиду, что появятся сразу две аварии? Ну они же, наверное, будут отображаться последовательно в строке или только первая?


    Спасибо...

  9. #9

    По умолчанию

    Что значит "последовательно"? В строке будет отображаться только одна какая то авария.
    Спасибо.

  10. #10

    По умолчанию

    У меня есть скрипт для отображения аварий в контроллере Pixel. Все аварии вписываются одна за другой. В SCADA используется только функциональный блок "Сравнение строк" и всё. Да, я понимаю, тут идёт побитная информация. Вот я и спросил, нельзя ли сделать такого же типа скрипт, только конкретно с адресами.

    -- Uninitialization
    function OnClose()
    end
    -- Processing
    function OnRead()
    alarm, _, _ = server.ReadTag( "$(N).$(D).АВАРИЯ" )
    if alarm == true then
    S = ""
    err, w = modbus.ReadInputRegistersAsInt16( 40966, 1, true, "10325476" )
    if err == false then
    if bit.BitFromData( w[1], 0 ) == true then S = S.."/Жалюзи притока " end
    if bit.BitFromData( w[1], 1 ) == true then S = S.."/Обрыв ремней " end
    if bit.BitFromData( w[1], 3 ) == true then S = S.."/Авария насоса " end
    if bit.BitFromData( w[1], 4 ) == true then S = S.."/Низкая Т.притока " end
    if bit.BitFromData( w[1], 5 ) == true then S = S.."/Обрыв датчика " end
    if bit.BitFromData( w[1], 6 ) == true then S = S.."/Низкая Т.обратки " end
    if bit.BitFromData( w[1], 7 ) == true then S = S.."/Авария двигателя " end
    if bit.BitFromData( w[1], 8 ) == true then S = S.."/Пожар " end
    if bit.BitFromData( w[1], 10 ) == true then S = S.."/Авария по термостату " end

    server.WriteCurrentTag( S, OPC_QUALITY_GOOD)
    end
    else
    S = ""
    server.WriteCurrentTag( S, OPC_QUALITY_GOOD)
    end
    end


    Спасибо...

Страница 107 из 112 ПерваяПервая ... 75797105106107108109 ... ПоследняяПоследняя

Ваши права

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