Показано с 1 по 10 из 1125

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

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

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

    По умолчанию

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

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

  2. #2

    По умолчанию

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


    Спасибо...

  3. #3

    По умолчанию

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


    Спасибо...

  4. #4

    По умолчанию

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

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

  5. #5

    По умолчанию

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

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


    Спасибо...

  6. #6

    По умолчанию

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

Ваши права

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