Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2002.07.18;
Скачать: [xml.tar.bz2];

Вниз

Три дня мурыжу протокол, между устройством и прогой для него..   Найти похожие ветки 

 
Fredericco   (2002-06-21 13:07) [0]

Если кому интересно или кто имеет опыт расшифровки чужих протоколов - помогите пожалуйста. Ситуация такая: есть одно устройство (для управления теплым полом) и программа для него. Устр-во соединяется с компом через RS232. Я вклинился между ними и смотрю какие комманды передаются и принимаются. Опытным путем выяснил для какого параметра какая комманда. А вот с чем, собственно, не могу разобраться: команда устанавливающая температуру, где в ней передается как параметр значение температуры. Для одной температуры строго зафиксированная комманда, они не меняютя. А вот и сами команды :

82 06 47 03 01 10 06 00 74 26 00 7D 00 7A 83 - 24.9
82 06 47 03 01 10 06 00 60 26 00 7D 00 6E 83 - 24.8
82 06 47 03 01 10 06 00 4C 26 00 7D 00 42 83 - 24.7
82 06 47 03 01 10 06 00 4C 26 00 7D 00 42 83 - 24.7
82 06 47 03 01 10 06 00 14 28 00 7D 00 14 83 - 25.7
82 06 47 03 01 10 06 00 5C 29 00 7D 00 5D 83 - 26.7
82 06 47 03 01 10 06 00 24 2B 00 7D 00 27 83 - 27.7
82 06 47 03 01 10 06 00 6C 2C 00 7D 00 68 83 - 28.7
82 06 47 03 01 10 06 00 34 2E 00 7D 00 32 83 - 29.7
82 06 47 03 01 10 06 00 60 2B 00 7D 00 63 83 - 28.0
82 06 47 03 01 10 06 00 28 2D 00 7D 00 2D 83 - 29.0
82 06 47 03 01 10 06 00 70 2E 00 7D 00 76 83 - 30.0
82 06 47 03 01 10 06 00 38 30 00 7D 00 20 83 - 31.0
82 06 47 03 01 10 06 00 00 32 00 7D 00 1A 83 - 32.0
82 06 47 03 01 10 06 00 48 33 00 7D 00 53 83 - 33.0
82 06 47 03 01 10 06 00 10 35 00 7D 00 0D 83 - 34.0
82 06 47 03 01 10 06 00 58 36 00 7D 00 46 83 - 35.0
82 06 47 03 01 10 06 00 68 07 00 7D 00 47 83 - 5.0
82 06 47 03 01 10 06 00 30 09 00 7D 00 11 83 - 6.0
82 06 47 03 01 10 06 00 78 0A 00 7D 00 5A 83 - 7.0
82 06 47 03 01 10 06 00 40 0C 00 7D 00 64 83 - 8.0
82 06 47 03 01 10 06 00 08 0E 00 7D 00 2E 83 - 9.0
82 06 47 03 01 10 06 00 50 0F 00 7D 00 77 83 - 10.0

После черточки: какая температура передается.
Заране спасибо.
С уважением Fredericco.


 
vuk   (2002-06-21 14:00) [1]

На первый взгляд...
Температура - 9 и 10 байт. Разнице в 5 градусов соответствует приращение на 2024 ($07E8).

$0768 - 5.0
$0F50 - 10.0 (+$7E8)
...
$2B60 - 28.0
$3348 - 33.0 (+$7E8)
...
$2E70 - 30.0
$3658 - 35.0 (+$7E8)

14 байт скорее всего содержит контрольную сумму пакета...


 
Fredericco   (2002-06-21 14:14) [2]

2 vuk
Огромное спасибо!
Но возникло два вопроса.
1) Число может содержать и дробную часть;
2) С приращением одного градуса чего-то не выходит.
Но все равно спасибо, что откликнулся!


 
Fredericco   (2002-06-21 14:16) [3]

2 vuk
2-й вопрос снимается.


 
Fredericco   (2002-06-21 18:08) [4]

2 vuk
Поднимается.
Это приращение не всегда верно.


 
limon   (2002-06-21 19:06) [5]

все правильно. дело не в приращении, а в т.н. цене деления(цена младшего разряда), а также в неточности термометра и дрожании датчика.
соответствие прослеживается такое:
10 градусов = 4096 ~ 0x1000 ~ $1000;
младший разряд соответственно - 10/4096 = 0,00244140625 градуса

за счет дрожания АЦП и датчика получаешь
> Это приращение не всегда верно.



 
limon   (2002-06-21 19:07) [6]

на всякий случай таблица стандартных кодов

// control character of communication process
SOH = $01; // Start Of Heading
STX = $02; // Start Of Text
ETX = $03; // End Of Text
EOT = $04; // End Of Transmission (Tape)
ENQ = $05; // ENQury
ACK = $06; // ACKnowledge
BEL = $07; // BELl
BS = $08; // BackSpace
HT = $09; // Horisontal Tabulator
LF = $0A; // Line Feed
VT = $0B; // Vertical Tabulator
FF = $0C; // Form Feed
CR = $0D; // Carridge Return
SO = $0E; // Shift Out
SI = $0F; // Shift In
DLE = $10; // Data Line Escaped
DC1 = $11; // Device Control 1 (XOFF)
DC2 = $12; // Device Control 2
DC3 = $13; // Device Control 3 (XON)
DC4 = $14; // Device Control 4
NAK = $15; // Negative AcKnowledgement
SYN = $16; // SYNchronous idle
ETB = $17; // End of Transmission Block
CAN = $18; // CANcel
EM = $19; // End of Medium
SUB = $1A; // SUBstitute // EOF - End Of File
ESC = $1B; // ESCape
FS = $1C; // Field(File) Separator
GS = $1D; // Group Separator
RS = $1E; // Record Separator
US = $1F; // Unit Separator



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2002.07.18;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.005 c
1-58099
Niko.
2002-07-08 12:23
2002.07.18
Необходимо сложить (объединить) два типа pointer


14-58289
SeF
2002-06-21 03:24
2002.07.18
ловля багов


1-58174
Smok_er
2002-07-04 00:34
2002.07.18
События от мыши


1-58145
Plt
2002-07-04 10:26
2002.07.18
Word


14-58301
Sergey13
2002-06-21 11:32
2002.07.18
Предложение по организации форума





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский