Сейчас на форуме: hgdagon, asfa (+3 невидимых)

 eXeL@B —› Программирование —› Работа с COM портом....
Посл.ответ Сообщение

Ранг: 17.7 (новичок)
Активность: 0=0
Статус: Участник

Создано: 18 мая 2007 21:32
· Личное сообщение · #1

Всем привет!
У меня есть прибор по измерению вибрации. В результате проведения измерений в памяти этого прибора создаются файлы с нужными мне данными...
Есть программа, которая прилагалась к этому прибору, она же считывает данные с прибора.
Мне хочется другую программу, с большими возможностями (не только считывание данных).
Вот оригинал программы: www.progiseregi.narod.ru/other/link_6400_Orig.rar
А это проект который получился в Dede: www.progiseregi.narod.ru/other/link_6400_Delphi.rar

Пытался промониторить COM порт прогой PortMon.
www.progiseregi.narod.ru/other/File.rar в этом архиве собраны результаты моих наблюдений.
В архиве есть файлы:
1Вspt.txt - файл полученный после считывания данных как СИМВОЛОВ
SPT.LOG - наблюдения PortMon
1Вbin.txt - файл полученный после считывания данных как БИНАРНЫЕ
BIN.LOG - наблюдения PortMon

Никак не могу понять как формируются файлы 1Вspt.txt и 1Вbin.txt.

Может поможете кто чем сможет? Или направте на путь истинный! Буду очень благодарен!




Ранг: 81.2 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 18 мая 2007 23:10
· Личное сообщение · #2

если ты знаешь как работает прибор, то
не проще ли переписать прогу, если инфа
нужна то пиши в личку дам линк
else
google рулез




Ранг: 113.0 (ветеран)
Активность: 0.050
Статус: Участник

Создано: 19 мая 2007 00:50
· Личное сообщение · #3

что-то мне не удалось скачать файл "File.rar"... оформи начало пакетов и приложи сюда что-ли... я гляну.

-----
The one derivative you manage is the one I abhore (c) Slipknot




Ранг: 17.7 (новичок)
Активность: 0=0
Статус: Участник

Создано: 21 мая 2007 22:02
· Личное сообщение · #4

Chingachguk пишет:
что-то мне не удалось скачать файл "File.rar"

Пробуй тут же ссылку я исправил!




Ранг: 113.0 (ветеран)
Активность: 0.050
Статус: Участник

Создано: 22 мая 2007 11:23
· Личное сообщение · #5

Загрузил, немного посмотрел. Вот к примеру:

FILE: 1Вbin.txt
00000090: 9A 19 08 DE 8A 27 45 40 87 87 06 96 DF 78 3D 40
000000A0: 9A 99 4D 69 AF B8 3A 40 C4 C3 48 56 94 4D 34 40
000000B0: 5D 5D 80 92 B1 C1 28 40 81 81 0E 39 51 41 23 40
000000C0: 8D 8D E8 C5 DB 6B 21 40 DC DB FC 6F A9 A2 20 40
000000D0: FD FC 24 15 14 4B 1C 40 C4 C3 D3 6C DD 6F 0F 40
...

Сразу бросаецца в глаза что это double-числа (8 bytes each):

9A 19 08 DE 8A 27 45 40
87 87 06 96 DF 78 3D 40
9A 99 4D 69 AF B8 3A 40
C4 C3 48 56 94 4D 34 40
...

Переводим эти числа в double и выводим:

BYTE test[8]= {0x87, 0x87, 0x06, 0x96, 0xDF, 0x78, 0x3D, 0x40};

printf("\nDouble=[%f]", *((double *)&test));
return;

И получаем:

9A 19 08 DE 8A 27 45 40 - 42.308925
87 87 06 96 DF 78 3D 40 - 29.472162
9A 99 4D 69 AF B8 3A 40 - 26.721427
C4 C3 48 56 94 4D 34 40 - 20.303045
...

А что у нас есть в файлике "1Вspt.txt "? А фот что:

14 0.814 Гц 42.3089 мкм
15 0.876 Гц 29.4722 мкм
16 0.939 Гц 26.7214 мкм
17 1.002 Гц 20.3030 мкм

Вроде вот так...

-----
The one derivative you manage is the one I abhore (c) Slipknot




Ранг: 17.7 (новичок)
Активность: 0=0
Статус: Участник

Создано: 22 мая 2007 20:06
· Личное сообщение · #6

Да, но ввиде исходны данных тут выступают файлы SPT.LOG и BIN.LOG

А ты просто перевел один ОТВЕТ в ДРУГОЙ ответ!
Меня интересует как формируется создержиое файлов 1Вspt.txt и 1Вbin.txt.



Ранг: 191.8 (ветеран), 46thx
Активность: 0.170
Статус: Участник

Создано: 22 мая 2007 20:29
· Личное сообщение · #7

Странно ... Сам же пишешь - считывает данные с прибора
Для всего остального - разбери прибор




Ранг: 113.0 (ветеран)
Активность: 0.050
Статус: Участник

Создано: 23 мая 2007 09:36
· Личное сообщение · #8

ser_ega,

тогда опиши подробнее, что ты хочешь.

Я полагал, что тебе нужно из логов вытащить формат обмена с device'ом, типа посылаем это - получаем то-то, формат пакетов такой-то. Нет?

-----
The one derivative you manage is the one I abhore (c) Slipknot




Ранг: 43.2 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 24 мая 2007 08:21
· Личное сообщение · #9

ser_ega,
В логах у тебя информации 0

Найди в инете прогу Com Port ToolKit - инсталляк чуть больше мегабайта (там 30-ти дневный пробный период, которого тебе за глаза хватит)
сними ей обмен и выложи сюда




Ранг: 81.2 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 25 мая 2007 00:14
· Личное сообщение · #10

ser_ega, вообщем вот аттач там в архиве три примера по-ходу,
ну я демаю разберёшся

f819_24.05.2007_CRACKLAB.rU.tgz - работа с портами.rar




Ранг: 81.2 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 25 мая 2007 00:15
· Личное сообщение · #11

если что опять же в личку,
или есть таккая радость как DelphiWorldи другие миры



Ранг: 17.7 (новичок)
Активность: 0=0
Статус: Участник

Создано: 30 мая 2007 19:30
· Личное сообщение · #12

AlexVel пишет:
Найди в инете прогу Com Port ToolKit - инсталляк чуть больше мегабайта (там 30-ти дневный пробный период, которого тебе за глаза хватит)
сними ей обмен и выложи сюда


Сделал как ты сказал.
См. аттач. Там файл который создал Com Port ToolKit и то что получилось в результате считывания данных с прибора в символьном виде.


91c0_30.05.2007_CRACKLAB.rU.tgz - Test.rar



Ранг: 43.2 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 30 мая 2007 20:20
· Личное сообщение · #13

ser_ega
А где то, что получилось? Папка "СЧИТАНЫ" - пустая
Ты выложи то, что наснимает Com Port ToolKit и результирующий файл (созданный программой) в бинаре (1Вbin.txt)
И зачем ты смешал текстовый лог и html лог?
И желательно логи и результирующие бинарные файлы 2-х измерений



Ранг: 43.2 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 30 мая 2007 21:20
· Личное сообщение · #14

Сначала идет некая инициализация.
Потом методично считываются результаты измерений.
Подзапросы по получению данных результатов измерений состоят из байтовой комбинации:
4D 08 00 XX YY ZZ 00
похоже что WORD 0xYYXX - некий адрес ячейки,
а следующий WORD 0x00ZZ- длина данных (Обычно 0x0010, хотя редко встречаются и др.)
Исходя из длины видно, что при запросах адрес увеличивается как раз на длину.
(т.е. постоянное прибавление к адресу ячейки длины данных)
Адрес ячейки изменяется от 0x0000 до 0x649E

причем запросы могут состоять из нескольких таких "подзапросов" (из 1-го,2-х,3-х и 4-х шт)
Очень странно, что длина ответа не зависит от количества "подзапросов" (было-бы логичным, если бы зависела)
Длина ответа либо 0x11,либо 0x22, либо 0x33, либо 0x44 байта
Предположительно блоки по 0x10 значащих байт (может по 2 DOUBLE числа) + байт 0x2F

Складывается такое впечатление, что на кол-во подзапросов в запросе влияет
предыдущий ответ. Т.е. кол-во подзапросов=length(пред. ответа)/0x11
Все идет логично (считывание адресов 0x0000..0x1920) до такого места:
от устройства приходит пакет "нестандартной" длины (0x10+1)*2+0x0A+1 (790-й пакет)
следовательно следующим запросом к устройству идет пакет (793-й) с ДЛИНОЙ 0x000A !!!
Ну и следом идет некая инициализация очередного банка памяти или что-то еще и
снова начинается методичный опрос с адреса 0x193A...0x324A
...



Ранг: 17.7 (новичок)
Активность: 0=0
Статус: Участник

Создано: 31 мая 2007 22:00
· Личное сообщение · #15

Ого как все сложно... С нуля сложновато это осилить...

AlexVel пишет:
А где то, что получилось? Папка "СЧИТАНЫ" - пустая

Во блин! не могу понять как так получилось...
Снова выложу как только получится...

Ну там получилось 4 файла....



Ранг: 17.7 (новичок)
Активность: 0=0
Статус: Участник

Создано: 01 июня 2007 20:16
· Личное сообщение · #16

Вот исправляюсь! В папке "считаны" файлы с расширением *.Bin получются если считывать в бинарной форме, а *.sp2 - в символьном виде....


85e1_01.06.2007_CRACKLAB.rU.tgz - Test.rar



Ранг: 17.7 (новичок)
Активность: 0=0
Статус: Участник

Создано: 04 июня 2007 20:25
· Личное сообщение · #17

А в ответ тишина...


 eXeL@B —› Программирование —› Работа с COM портом....
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати