Страница 10 из 111 ПерваяПервая ... 891011122060110 ... ПоследняяПоследняя
Показано с 91 по 100 из 1109

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

  1. #91

    По умолчанию

    Цитата Сообщение от Сергей Мих Посмотреть сообщение
    качество - BAD
    Проще будет как раз анализировать признак качества.
    Анализировать признак качества можно например при помощи функции
    val,qual=server.ReadCurrentTag();
    qual - это будет признак качества.
    Если нужно анализировать качество другого тега, то используйте функцию ReadTag().
    Описание функций с примерами есть в справке.
    Спасибо.

  2. #92
    Пользователь
    Регистрация
    22.03.2011
    Адрес
    Ивановская обл, Родники
    Сообщений
    145

    По умолчанию

    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    После того как приходит эта строчка, модем зависает? То есть значения поступают перестают?
    Признак качества при этом меняется? Если признак качества переменной меняется, то проще отследить его.

    Мы так и делаем, только когда у всех выбранных тегов появляются Бады, отдельным узлом на уровне тега , скриптом , отслеживаем состояние одного тега в каждом устройстве и управляем другим СОМ портом для управления релюшкой, вкл/выкл питание модема.
    Вот есть вопрос, как можно определить получение в ответе, к примеру, комбинации< 41 54 49 0D 0A> при приходе такого ответа модем сервера "зависает" и далее неуправляем- соединение не рвет и висит на линии.



    Спасибо.
    Последний раз редактировалось Сергей Мих; 15.01.2014 в 19:06.

  3. #93

    По умолчанию

    А зачем вам тогда еще и отслеживать приход ответа?
    Если вы работаете с Modbus стандартными средствами сервера (не скриптами), то отследить конкретный ответ нельзя.
    Спасибо.

  4. #94
    Пользователь
    Регистрация
    22.03.2011
    Адрес
    Ивановская обл, Родники
    Сообщений
    145

    По умолчанию

    Именно требуется узнать о приходе в ответе такой последовательности.

    Спасибо.

  5. #95

    По умолчанию

    Если работать с Modbus стандартными средствами, то это не возможно.
    Спасибо.

  6. #96

    По умолчанию

    написал небольшой скрипт для того чтобы перед опросом устройства ему отправлялся определенный набор байт. Отправлять нужно 5 раз с периодичностью в 1-2 секунды. Отправка работает, но проблема в том что не могу найти чем организовать паузу. перерыл всю справку но не нашел какого либо таймера или ещё чего. Можно ли решить эту проблему?
    Текст скрипта:

    function OnBeforeReading()
    local send={0x43,0x4F,0x4E,0x4E,0x45,0x43,0x54,0x20,0x4F ,0x4B}; --массив отправляемых чисел
    local sendmask={"byte","byte","byte","byte","byte","byte ","byte","byte","byte","byte"}; --маска отправляемого запроса
    local err;
    local n=0;

    repeat
    err=server.SendAndReceiveDataByMask(0,10,sendmask, send,nil,0);
    -- здесь должна быть пауза
    n=n+1
    until n>=5
    end
    Последний раз редактировалось S.A.D.; 22.01.2014 в 16:56.
    Чтобы понять рекурсию нужно понять рекурсию

  7. #97

    По умолчанию

    Цитата Сообщение от S.A.D. Посмотреть сообщение
    перерыл всю справку но не нашел какого либо таймера или ещё чего.
    server.Sleep(1000); --ожидание на заданное время
    Спасибо.

  8. #98

    По умолчанию

    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    server.Sleep(1000); --ожидание на заданное время
    спасибо!!!
    Чтобы понять рекурсию нужно понять рекурсию

  9. #99
    Пользователь
    Регистрация
    22.03.2011
    Адрес
    Ивановская обл, Родники
    Сообщений
    145

    По умолчанию

    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    server.Sleep(1000); --ожидание на заданное время
    1000 = 1 секунда.

  10. #100

    По умолчанию

    Если это был вопрос - да, время задается в миллисекундах.
    Спасибо.

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

Ваши права

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