Страница 35 из 111 ПерваяПервая ... 2533343536374585 ... ПоследняяПоследняя
Показано с 341 по 350 из 1109

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

  1. #341

    По умолчанию

    Большое спасибо! Разбираюсь.

  2. #342

    По умолчанию

    Добрый день! используем Master OPC universal modbus Подскажите пож-та!! принимаю последовательность - BF ED 58 60 13 66 0E 52 --ЧТО соответствует числу -0.917038!!! т.е если указать тип данных double -- должно само преобразовывать к читаемому виду!!! но на деле выдаёт совсем не то!!! что делать подскажите плз??

  3. #343

    По умолчанию

    Правильное ли чередование байт вы задаете?
    Для Double чисел обычно "Старшим двойным словом вперед".
    Спасибо.

  4. #344

    По умолчанию

    а как поменять на уровне скрипта - допустим - прибор отвечает 52 0E 66 13 60 58 ED BF а нужно наоборот??

  5. #345

    По умолчанию

    Какой функцией скрипта вы ведет опрос?
    Приведите этот кусок кода.
    Спасибо.

  6. #346

    По умолчанию

    local destmask={"byte","byte","byte","byte","byte","byte ","byte","byte",
    "byte","byte","byte","byte","double:3:?????"}

    local err,len;
    local n=0;
    err,dest,len=server.SendAndReceiveDataByMask(0,35, sendmask,send,destmask,200);
    я должен принять 3 числа по 8 байт в формате double

  7. #347

    По умолчанию

    Ну вот вам нужно в маске и указать чередование байт:
    local destmask={"byte","byte","byte","byte","byte","byte ","byte","byte","byte","byte","byte","byte","doubl e:3:76543210"}
    Возможно будет другое чередование - надо проверять, тогда чередование будет другое.
    Спасибо.

  8. #348

    По умолчанию

    т.е я принимаю 12 байт всякого мусора ненужного и 3 числа в формате double по 8 байт каждое!! Так от прибора и приходит!!! как в маске перевернуть очерёдность байтов???

  9. #349

    По умолчанию

    спасибо - пытался - не помогает! есть кусок рабочего кода конвертера 32бит в флоат!!! поможет ли переделка на 64 бита или OPC не поддерживает 64 бита!! делал так(например) - а=0x520E66136058EDBF после server.WriteCurrentTag(a,OPC_G_G) - выдаёт число - но только на 32 бита и усё - больше нельзя получается!!!!

  10. #350

    По умолчанию

    Очередность байт?
    Если у вас другая, пишите так например:
    local destmask={"byte","byte","byte","byte","byte","byte ","byte","byte","byte","byte","byte","byte","doubl e:3:01234567"}
    Спасибо.

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

Ваши права

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