Страница 18 из 111 ПерваяПервая ... 816171819202868 ... ПоследняяПоследняя
Показано с 171 по 180 из 1109

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

  1. #171

    По умолчанию

    Понял) То есть без дополнительного тэга никак.
    Последний раз редактировалось energvk; 15.12.2014 в 15:41.

  2. #172
    Пользователь
    Регистрация
    30.11.2012
    Адрес
    40RUS
    Сообщений
    316

    По умолчанию

    Подскажите, пожалуйста:
    Объявляю в конфигурации ПЛК MODBUS TCP Master, создаю в нём несколько тэгов и среди них тэг: 32bit output module
    Создаю в Master OPC Server Modbus TCP SLAVE с соответствующим набором тэгов.
    Присваиваю 32bit output module в ПЛК значение 16#FFFFFF00 - вижу в сервере правильное значение,
    Присваиваю 16#FFFFFF01, значение в сервере не меняется - 16#FFFFFF00, хотя вижу в "запросах" данные передаются корректно.
    Присваиваю 16#FFFFFFFF, значение в сервере 0.
    Меняю в сервере свойство тэга "тип данных в сервере" с UINT32 на DOUBLE и всё становится хорошо.
    Вопрос: почему не работает тип данных в устройстве UINT32 = в сервере UINT32 - для тэга ПЛК 32bit output module ?
    Напильник, велосипед, бубен, грабли и костыли - основные инструменты программиста.

  3. #173

    По умолчанию

    Ошибка проявилась.
    Ошибка будет исправлена в следующей версии (3.1.3)
    Спасибо.

  4. #174
    Пользователь
    Регистрация
    30.11.2012
    Адрес
    40RUS
    Сообщений
    316

    По умолчанию

    Сообщите, пожалуйста когда появится новая версия.

    Вопрос для самоконтроля: для того чтобы тэг TCP мастера работал в режиме передачи "по изменению значения", период опроса ставим в ноль, правильно? Уже поставил и работает, спрашиваю, потому что в ПЛК для этого есть отдельная опция "by value change", а здесь нет.
    Напильник, велосипед, бубен, грабли и костыли - основные инструменты программиста.

  5. #175

    По умолчанию

    Цитата Сообщение от _Pavel_ Посмотреть сообщение
    Сообщите, пожалуйста когда появится новая версия.
    Сегодня вечером.

    Цитата Сообщение от _Pavel_ Посмотреть сообщение
    Вопрос для самоконтроля: для того чтобы тэг TCP мастера работал в режиме передачи "по изменению значения", период опроса ставим в ноль, правильно? Уже поставил и работает, спрашиваю, потому что в ПЛК для этого есть отдельная опция "by value change", а здесь нет.
    Да, ставите в ноль, тогда опроса не будет.
    Спасибо.

  6. #176

    По умолчанию

    Новая версия выложена на сайт.
    Спасибо.

  7. #177

    По умолчанию

    Хочу получать время последнего удачного опроса. Создаю тег timeofpoll (server_only, int32). В скрипте после чтения прописываю:
    Код:
    -- Initialization
    function OnInit()
    end
    -- Uninitialization
    function OnClose()
    end
    -- Processing
    function OnRead()
    val,qual=server.ReadCurrentTag();
    if qual==192 then
    timeofpoll= time.TimeNow( ); 
    end;
    end
    Но после опроса никаких значений нет. Что я делаю не правильно?

  8. #178

    По умолчанию

    Вы делаете неправильно. Во первых, вы не производите запись в тег (для этого есть специальные функции). Во-вторых тег ServerOnly никак не может определить был ли опрос корректным или нет. В-третьих, вы пытаетесь в тег типа Int записать время - так не получится.

    Вам нужно сделать так - при помощи тега ServerOnly отследить признак качества другого тега, который непосредственно опрашивает регистр. Если признак будет достоверным, то произвести запись в текущий тег любого значения - оно запишется с текущей меткой времени.

    function OnRead()
    val,qual=server.ReadTagByRelativeName("Tag1");
    if qual==192 then
    server.WriteCurrentTag(true,192);
    end;
    end

    На верхнем уровне - отслеживайте метку времени времени этой переменной. В MasterSCADA для этого есть функция расчета TimeStamp( ), также ФБ "Метка времени" (закладка "Работа со временем" палитры ФБ).
    Спасибо.

  9. #179

    По умолчанию

    Огромное спасибо, всё получилось.

  10. #180

    По умолчанию

    Выявился странный глюк. Почему то опрос устройства повторяется несколько раз:
    Код:
    06-01-2015 21:01:16.087 гайдара-99а.гайдара-99а:Стоп опроса устройства (t = 3101 ms)  (H42 0,3091,10 ) 
    06-01-2015 21:01:12.986 гайдара-99а.гайдара-99а:Старт опроса устройства  
    06-01-2015 21:01:12.986 гайдара-99а.гайдара-99а:Стоп опроса устройства (t = 8099 ms)  (H42 0,3091,8 ) 
    06-01-2015 21:01:04.886 гайдара-99а.гайдара-99а:Старт опроса устройства  
    06-01-2015 21:01:04.886 гайдара-99а.гайдара-99а:Стоп опроса устройства (t = 8426 ms)  (H42 0,3421,4 ) 
    06-01-2015 21:00:56.461 гайдара-99а.гайдара-99а:Старт опроса устройства  
    06-01-2015 21:00:56.461 гайдара-99а.гайдара-99а:Стоп опроса устройства (t = 8641 ms)  (H42 0,3630,11 ) 
    06-01-2015 21:00:47.819 гайдара-99а.гайдара-99а:Старт опроса устройства  
    06-01-2015 21:00:47.819 гайдара-99а.гайдара-99а:Стоп опроса устройства (t = 8991 ms)  (H42 0,1496,4 ) 
    06-01-2015 21:00:41.319 гайдара-99а:Соединение установлено хх.хх.ххх.х ххх  
    06-01-2015 21:00:38.829 гайдара-99а:Попытка соединения хх.хх.ххх.х ххх  
    06-01-2015 21:00:38.828 гайдара-99а.гайдара-99а:Старт опроса устройства  
    06-01-2015 21:00:38.822 Server:Cтарт конфигурации C:\ProgramData\InSAT\MasterOPC Universal Modbus Server\SERVERCFG\test.mbp 
    06-01-2015 21:00:38.822 Server:MasterOPC Universal Modbus Server Demo 32 Build - 3.1.3
    Количество повторов равняется заданному количеству повторов при ошибке, но при этом не выдерживается время между повторами. И ошибок нет при опросе. Т.е. все переменные ОК, кроме тех, которые SERVER_ONLY (они COM_FAILURE)

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

Ваши права

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