Страница 44 из 111 ПерваяПервая ... 3442434445465494 ... ПоследняяПоследняя
Показано с 431 по 440 из 1109

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

  1. #431

    По умолчанию

    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    То есть вас интересует поднятие его вверх?
    Здесь решения нет - контрол не поддерживает drag and drop. Поэтому только с помощью Shift + Вверх
    Это я понял. Просто работает с большими тормозами

  2. #432

    По умолчанию

    Все таки есть или нет возможность отловить событие чтения HDA-тега клиентом?
    Периодически читать весь массив значений как-то нехорошо

  3. #433

    По умолчанию

    Нет, нельзя.
    Читайте определенное количество записей при старте.
    А дальше можно читать не весь архив, а только свежую часть - сохранить время последней считанной записи и читать с нее.
    Спасибо.

  4. #434

    По умолчанию

    Добрый день!
    Подскажите пожалуйста, есть ли возможность по значению дискретного тега включать в работу и выключать коммуникационный узел, отвечающий за GSM-модем? То есть, необходимо раз в час прочитать несколько значений с удаленного счетчика. Предполагаю, что при появлении этой необходимости, нужно включить узел в работу, чтобы модем установил соединение, прочитать значения в SCADA-систему, а затем выключить узел (модем через некоторое время разорвет соединение из-за отсутствия обмена данных). Попытался сделать это следующим образом:
    В узле GSM-модема "Port" (COM-порт) в скрипт добавил функцию:
    function Control(b)
    if b==true then
    server.SetNodeToOnOff(true);
    else
    server.SetNodeToOnOff(false);
    end;
    return "OK"
    end
    Также добавил вспомогательный программный узел - программное устройство - тег "server only" (это собственно флажок чтения данных из счетчика) со скриптом "после чтения тега":
    function OnRead()
    local res;

    val,q=server.ReadCurrentTag();
    res=server.RunFunctionFromNodeByName("Port","Contr ol",1,val);

    end

    Но не работает такая конструкция...

  5. #435

    По умолчанию

    Должна работать.
    Нет необходимости выносить отдельный узел. Разместите server.SetNodeToOnOff() в тег типа ServerOnly, в скрипт "Перед записью". Тогда он будет исполнятся, даже если узел выключен.
    Спасибо.

  6. #436

    По умолчанию

    Большое спасибо! Все заработало!

  7. #437

    По умолчанию

    OPC HDA возвращает качество тега 0x000400C0. Так и должно быть? В спецификациях что-то не нашел.

  8. #438

    По умолчанию

    Вообще это хороший признак качества, но с каким-то оттенком.
    Вы сами его формируете? Как вы его определили?
    Спасибо.

  9. #439

    По умолчанию

    Вот и я об этом. По идее должно быть C0, но это в принципе качество для OPC DA. Вообще OPC HDA качество какая-то мутная тема.
    У нас используется несколько OPC HDA серверов разных производителей, все они возвращают при GOOD - C0.
    На вашем сервере настроил HDA. Качество сам в скрипте формирую, по вашим примерам (C0). Скада (не MasterSCADA, другого производителя) все читает и пишет в свою БД, только качество BAD.
    А 0x000400C0 я увидел под отладчиком, когда начал разбираться в чем дело (у нас есть исходники OPC HDA и OPC DA клиентов для используемой скада, уже не раз они выручали - почему-то несмотря на стандарты каждый программист OPC-сервера считает своим долгом привнести что-то своё).
    Сами понимаете что для себя проблему решили, хотелось уточнить - может неправильно интерпретируем коды качества?

  10. #440

    По умолчанию

    Кажется разобрался.
    0004 - необработанные (raw) данные, 00C0 - признак GOOD (как в OPC DA).

Страница 44 из 111 ПерваяПервая ... 3442434445465494 ... ПоследняяПоследняя

Ваши права

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