Показано с 1 по 9 из 9

Тема: Опрос ТРМ 202

  1. #1

    По умолчанию Опрос ТРМ 202

    Здравствуйте.
    При опросе прибора ТРМ202 возникла следующая проблема
    Посылаем запрос #GKHGROTVUMPS
    (0 4 1 0 B 8 D F E 6 9 C)
    B8DF – Измеренное значение входной величины или код ошибки ( PV)
    E69C – CRC
    Получаем ответ #GKGJROTVKHKOGGKTNJ
    ( 0 4 0 3 B 8 D F 4 1 4 8 0 0 4 D 7 3)
    0 4 – старшая часть адреса узла сети
    0 3 – младшая часть адреса узла сети
    B 8 D F – локальный идентификатор
    4 1 4 8 0 0 – поле данных уровня представления
    4 D 7 3 – контрольная сумма CRC
    Расчёт ведём по формуле , приведённой в документации . Знак значения совпадает. Само значение при расчёте тоже изменяется , но в другой пропорции
    температура,С° на приборе Ответы, полученные с прибора Результаты полученные по формулам описанным в протоколе
    -50С° #GKGJRILNSIKOHQVNQN расчет=-14,953С°
    -40С° #GKGJRILNSIIGJJKTRL расчет=-13,9315С°
    -30С° #GKGJRILNSHUVQKHIJI расчет=-12,6884С°
    -20С° #GKGJRILNSHPVVQTTUM расчет=-10,649С°
    -10С° #GKGJRILNSHIGHPPMRP расчет=-7,3753С°
    0С° #GKGJRILNRSTGVIGVRJ расчет=-839,922С°
    10С° #GKGJRILNKHIGQKOVQH расчет=7,3892С°
    20С° #GKGJRILNKHQGHTGJPK расчет=10,6525С°
    30С° #GKGJRILNKHVGRHKRMT расчет=12,7153С°
    40С° #GKGJRILNKIHVUOOSSO расчет=13,924С°
    50С° #GKGJRILNKIKOITJTMK расчет=14,9549С°
    60С° #GKGJRILNKIMVTPUSMK расчет=15,9705С°
    70С° #GKGJRILNKIOSGUPPMQ расчет=16,6926С°
    80С° #GKGJRILNKIQGGNRTIV расчет=17,2039С°
    90С° #GKGJRILNKIRKGGJNGT расчет=17,7152С°
    100С° #GKGJRILNKISOGLOPLK расчет=18,2277С°
    Может кто-нибудь сталкивался с данной проблемой. Помогите рассчитать . Хотя бы одну строку из таблицы.
    Заранее спасибо.

  2. #2

    По умолчанию

    интересно, что это за документация. можно делать так (для x86):

    Код:
    void unpackFloat24(unsigned char* data, size_t dataSize, float* value)
    {
    	unsigned char* p = (unsigned char*)(value);
    
    	assert(data);
    	assert(dataSize == 3);
    	assert(value);
    
    	p[0] = 0;
    	p[1] = data[2];
    	p[2] = data[1];
    	p[3] = data[0];
    }
    PS в трм202 используется 5.1.1 Формат числа с плавающей точкой, а не 5.1.2 Знаковое число с односторонней десятичной точкой
    Последний раз редактировалось Дмитрий Егоренков; 24.06.2009 в 15:30.

  3. #3
    Valeno
    Гость

    По умолчанию Опрос ТРМ 202

    Полностью согласен

  4. #4

    По умолчанию

    Я работаю с прибором ТРМ 202 по протоколу ОВЕН. Реализация протокола была взята http://owen.ru/forum/showpost.php?p=35715&postcount=1. При установке значений прибор работает нормально, но при запросе значений параметра прибор не отвечает. Работоспособность прибора проверялась при помощи конфигуратора - прибор исправен. Пример запроса чтения скорости протокола "#GGHGRNMGUPJH\xD" .
    Address = 0, Addrlen=8, dataSize=0, hash=0xb760, request=1.
    Подскажите, пожалуйста, почему прибор может не отвечать!

  5. #5

    По умолчанию

    если адрес правильный, прибор должен лампочкой моргнуть и что-нибудь ответить, хотя бы ошибкой. Не понятно, как запись работает, а чтение нет. Может, вы сначала скорость меняет, а потом пытаетесь ее считать? Расскажите, что вы делаете и в какой последовательности.

  6. #6

    По умолчанию

    Адрес правильный и прибор моргает лампочкой, но не отвечает. Скорость не изменяется. Последовательность действий... формируется запрос на чтение скорости протокола и отправляется прибору
    name2id("bPS ", 4, id);
    hash = id2hash(id);

    pf.address = 0;
    pf.addrLen = 8;
    pf.dataSize = 0;
    pf.hash = hash;
    pf.data[0]=0;
    pf.request = 1;

    frameSize = packFrame(&pf, frame, maxFrameSize);

    packFrameToAscii(frame, frameSize, frameAscii, maxAsciiFrameSize);


    write(fd, frameAscii, strlen(frameAscii));

    Предварительно никакой инициализации не проводиться!!! (нигде не написано, что она нужна)

    В качестве эксперимента прибор был подключен к конфигуратору - прибор работал. Далее конфигуратор был запущен с этими же параметрами, а порт, на который отправлялись данные, прослушивался программой. Были сняты следующие данные "..рр......яє°°±°Ж°Ж°°°°±°І°°°±°Г.є°°±°Ж°Ж°°°°±°І° °°±°Г.є°°±°Ж°Ж°°°°±°І°°°±°Г..#G GHGTMOHIHIM.#GGHGTMOHIHIM.#GGHGTMOHIHIM.#GGHGTMOHI HIM.. "
    При отправки этих данных через программу прибор не ответил!!!

    Подскажите, пожалуйста, почему прибор может отвечать на запросы конфигуратора и не отвечает на запросы программы!!!

  7. #7

    По умолчанию

    Прибор работает через конфигуратор, только в режиме "преобразование интерфейса" - Авто. Нигде не удалось найти, что это значит и может ли это как-нибудь повлиять на работу программы?

  8. #8

    По умолчанию

    Преобразователь интерфейса авто - это автоматическое опознавание режима прием-передача. Типично для всех современных преобразователей rs-485. Ранее использовались преобразователи, в которых надо было переключать линию с помощью сигналов DTR или RTS.
    а какой преобразователь rs-485 у вас?

  9. #9

    По умолчанию

    может быть у вас по в качестве основного протокола стоит модбас? Конфигуратор с этим разбирается и переключает прибор на ОВЕН.

Ваши права

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