Страница 4 из 7 ПерваяПервая ... 23456 ... ПоследняяПоследняя
Показано с 31 по 40 из 63

Тема: Библиотека UNM, отправка и получение запроса.

  1. #31
    Пользователь
    Регистрация
    12.07.2007
    Адрес
    Воронеж
    Сообщений
    884

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    Просто анализируйте код в 16-ти ричной форме. И вместо string используте Array of BYTE - сразу всё станет понятно.
    Простите за дурацкий вопрос, а как преобразовать string в byte?

  2. #32
    Пользователь
    Регистрация
    12.07.2007
    Адрес
    Воронеж
    Сообщений
    884

    По умолчанию

    И еще - непонятно почему бывают такие символы как $04z, $044. При переводе в 10 форму - бред какойто получается.

  3. #33
    Пользователь
    Регистрация
    12.07.2007
    Адрес
    Воронеж
    Сообщений
    884

    По умолчанию

    Сижу провожу тесты с весом.
    Пока получил:

    0кг:
    !.2$10$10ь$1c$02$02

    1кг:
    !.2$10$N$10ь$14$03

    1.3кг:
    !.2$10$P$10ь$14$06$03

    1.9кг:
    !.2$10$13$10ь$14$19$03

    4.0кг:
    !.2$10($04$045$03

    4.5кг:
    !.2$10-$040$03

    9.6кг:
    !.2$10'$04$04}$03

    10кг:
    !.2$10d$04$04y$03

    14.4кг:
    !.2$10ђ$04$04Ќ$03

    Все бы вроде ничего, но ђ,Ќ,ь,},( - к чему это вообще??
    И как это расшифровывать. МУсором сложно назвать - почему каждый раз появляется?

  4. #34

    По умолчанию

    aaa: pointer to byte;
    bbb:string;


    aaa:=ADR(bbb);

    А лучше наоборот,
    aaa:array [0...255] of byte;
    pstring: pointer to string;

    pstring:=adr(aaa);

    и везде, где надо использовать STRING вставляете ^pstring;

  5. #35

    По умолчанию

    Цитата Сообщение от приборист Посмотреть сообщение
    И еще - непонятно почему бывают такие символы как $04z, $044. При переводе в 10 форму - бред какойто получается.
    $04 = 0x04
    z=0x7A (http://ascii.org.ru/)
    $044 = 0x44

    Соответственно $04z$044 == 0х04 0х7A 0х44

  6. #36
    Пользователь
    Регистрация
    12.07.2007
    Адрес
    Воронеж
    Сообщений
    884

    По умолчанию

    Владислав, спасибо . Я кажется понял где именно передается вес.

    Вес передается после символов !.2$10
    Например
    4.5кг:
    !.2$10-$040$03

    Вес = -, переводя по таблице - это 45

    14.4кг:
    !.2$10ђ$04$04Ќ$03

    В это случае ђ - 144.

    Точка я так понимаю впринципе не нужна, ибо она выставляется в приборе, и как я понимаю - поменяв настройки в приборе и поставив измерение без сотых - мы уберем и точку.

    Интересно как он поведет себя после окончания 255 символов?
    Например если вес будет 50 кг?
    или 60?
    А если 100?
    А ведь надо аш до 2000.

    И еще непонял до конца как расшифровывать символы которые до 32? Которые в ASCII зарезервированные получаются?

  7. #37

    По умолчанию

    Они и показываются в Codesys как $xx, где xx - 2 цифры в HEX.
    А лучше воспользуйтесь массивом байтов и забудьте о проблемах. Сразу всё будет расшифровано

  8. #38
    Пользователь
    Регистрация
    12.07.2007
    Адрес
    Воронеж
    Сообщений
    884

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    Они и показываются в Codesys как $xx, где xx - 2 цифры в HEX.
    А лучше воспользуйтесь массивом байтов и забудьте о проблемах. Сразу всё будет расшифровано
    Эм, а это как?
    Я попробовал преобразовать строку в байты как Вы предложили. Чтото не получилось..

    Как я понял, надо получать данные из прибора сразу в типе Byte?
    Но в UNM вроде нет такой функции?

  9. #39
    Пользователь
    Регистрация
    12.07.2007
    Адрес
    Воронеж
    Сообщений
    884

    По умолчанию

    Так все таки, как надо правильно воспользоваться массивом байтов, чтобы передаваемые данные сразу расшифровывались?

  10. #40

    По умолчанию

    bytes:array [0..32] of byte ;
    counter:int;
    prbointer to RBDATA;

    rb:=GetByte();
    while (rb) do

    bytes[counter]:=^rb.data;
    counter +=1;

    rb:=GetByte();
    end_while

    А потом + нажимаете в массиве

Страница 4 из 7 ПерваяПервая ... 23456 ... ПоследняяПоследняя

Ваши права

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