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

Тема: Вопрос по протоколу OWEN (разбор ASCII текста на PRESENTATION LAYER)

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #5

    По умолчанию

    Цитата Сообщение от ASM Посмотреть сообщение
    Нет, это не так. Об этом я и говорю.
    Более того, параметр 0xcbf5 девайс не ест, нужно указывать 0x1e25.
    Тогда я действительно не понял, просто было бы лучше если бы вы написали, что в документации вместо имени параметра с точкой должно быть имя параметра без точки.

    Цитата Сообщение от ASM Посмотреть сообщение
    Спасибо, КЭП. Но длина строки для расчёта HASH как была 4 буквы, так и останится.
    А тут уже возможно вы ошибаетесь. Я читал документации и изучал исходники протокола, более того я использую эти исходники в работе. Дело в том, что вычисление хэша параметра происходит как бы в два этапа, сначала строковое имя параметра преобразуется в бинарное 4-х байтовое представление (а не четырех буквенное!) функцией:
    /* преобразование локального идентификатора в двоичный вид
    name - локальный идентификатор
    length - длина идентификатора
    id - идентификатор в двоичном виде
    */
    void name2id(char* name, size_t length, unsigned char id[4])
    Как видите во входном параметре нет ограничения на длину. Но реально длина не может быть больше 5 символов (цифры, буквы английского алфавита и '-','_','/'), причём допускаются только 4 символа, точка обрабатвается отдельно, увеличивая на единицу значение предыдушего байта, но может быть произвольное количество пробелов в конце. В общем в исходниках всё видно.

    А потом уже четырех-байтовое представление преобразуется в двух-байтовое.
    /* свертка локального идентификатора */
    unsigned short id2hash(unsigned char id[4])

    Поэтому символьное имя параметра может иметь длину больше 4-х символов, я с этим уже сталкивался и у меня как раз был обратный случай, когда я пытался посчитать хэш по 4-м символам, выбросив точку, но прибор его не "съел".
    Последний раз редактировалось vitug; 08.12.2012 в 08:54.

Похожие темы

  1. Разбор текстового сообщения
    от vasylye в разделе Помощь Разработчикам
    Ответов: 4
    Последнее сообщение: 09.11.2012, 17:02
  2. Разбор даты
    от VanoKing в разделе Master SCADA 3
    Ответов: 7
    Последнее сообщение: 06.09.2011, 10:08
  3. Проблема с выводом текста
    от CLPE в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 17.01.2011, 12:51
  4. OPC-server для работы по протоколу Owen
    от gefan в разделе Сервисное ПО
    Ответов: 7
    Последнее сообщение: 10.12.2010, 13:16
  5. Ошибка 2816 по протоколу Owen
    от RV9WFJ в разделе ПЛК1хх
    Ответов: 2
    Последнее сообщение: 30.06.2008, 17:07

Ваши права

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