Главная страница
    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.006 c
1-58182
BJValentine
2002-07-05 18:38
2002.07.18
Прозрачная форма.


7-58350
Leon
2002-04-26 14:36
2002.07.18
Доступ к дискам


1-58097
_dron_
2002-07-08 14:14
2002.07.18
Как проверить создана ли форма или нет


4-58375
dumb
2002-05-17 22:35
2002.07.18
Запуск консольного приложения...


1-58113
Filat
2002-07-05 12:59
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский