Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 14 из 14

Тема: MasterOPC проблема с чтением

  1. #11

    По умолчанию

    Так трудно сказать. Пришлите полный лог.
    Для этого в свойствах сервера включите запись журнала и всех его событий, размер лога задайте равным 10000. Запустите режим исполнения и воспроизведите ошибку. Лог пишется в папку:
    c:\ProgramData\InSAT\MasterOPC Universal Modbus Server\SERVERLOGS\
    Лог заархивируйте и вышлите нам, также пришлите вашу конфигурацию ОРС сервера.
    Спасибо.

  2. #12

    По умолчанию

    function OnInit()
    end
    function OnClose()
    end
    function Query(num_reg)
    local send={};
    local Addr=server.GetCurrentDeviceAddress();
    table.insert(send,Addr);
    table.insert(send,0x06);
    table.insert(send,num_reg);
    local sendmask={"byte","byte","byte","int16:10"};
    local dest={};
    local destmask={"byte","byte","byte","byte","int16:10"};
    local err,len;
    local n=0;
    repeat
    err,dest,len=server.SendAndReceiveDataByMask(2,3,s endmask,send,destmask,9);
    n=n+1;
    until err>=0 or n>=server.GetCurrentDeviceRetry()
    if not dest then
    return false,0;
    end;

    if err>=0 and dest[1] == 32 then
    return true, dest[4];
    else
    return false,0;
    end;
    end;
    function OnRead()
    noerr,RegH=Query(0x00);


    if noerr==false then
    server.Message("Ошибка");
    server.WriteCurrentTag(0,OPC_QUALITY_BAD );
    return;
    end;
    local F=RegH
    server.WriteCurrentTag(F,OPC_QUALITY_GOOD );
    end

    Мне кажется, что скрипт не правильно работает, приходиться обрабатывать входящие данные дополнительной строкой
    if err>=0 and dest[1] == 32 then
    return true, dest[4];
    else
    return false,0;
    Но из-за того что часто приходят чужие пакеты, на какое-то время сбиваются данные.

  3. #13

    По умолчанию

    Вас понял, сделаю

  4. #14

    По умолчанию

    Адрес и номер функции нужно обязательно в скрипте проверять.
    Спасибо.

Страница 2 из 2 ПерваяПервая 12

Похожие темы

  1. Modbus MasterOPC сервер - проблема с unicode
    от Terminat в разделе Master SCADA 3
    Ответов: 8
    Последнее сообщение: 05.07.2017, 14:54
  2. MasterOPC и МСД-200
    от tPorte в разделе OPC Серверы
    Ответов: 3
    Последнее сообщение: 17.02.2017, 14:52
  3. Modbus TCP. Проблемы с чтением из Holding регистров.
    от yulya.aniskina2010 в разделе ПЛК3хх
    Ответов: 3
    Последнее сообщение: 10.10.2015, 16:08
  4. Проблема с чтением архива
    от akledirs в разделе Master SCADA 3
    Ответов: 6
    Последнее сообщение: 01.07.2015, 21:01
  5. Проблема с чтением блока МВ110-32ДН
    от hawk в разделе ПЛК1хх
    Ответов: 8
    Последнее сообщение: 21.01.2014, 22:18

Ваши права

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