Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
23 / 20 / 0
Регистрация: 18.06.2013
Сообщений: 83
1

Bin файл из Modbus. Прочитать из файла область памяти

20.07.2013, 14:15. Просмотров 1700. Ответов 20
Метки нет (Все метки)

Доброго времени суток!
Подскажите пожалуйста, у меня есть bin-файл из которого нужно достать данные полученные устройством и хранящиеся в ячейках памяти, т.е. смещение адреса - 0002h, адрес в MODBUS 0001h соответствует сетевому адресу прибора или прочитать из файла область 0x12 … 0x19 и обнаружить аббревиатуру и т.д и т.п.
Сначала думал, что воспользуясь hex-редактором получится это сделать, но не вышло, похоже что надо читать файловый поток данных и как-то обращаться к этим ячейкам и считывать информацию. Подскажите примерный план реализации на C++ и необходимый материал для этого. Заранее благодарен.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.07.2013, 14:15
Ответы с готовыми решениями:

Данные записать в файл F1.txt, затем прочитать оттуда, обрабатывались и записывались в бинарный файл F2.bin с проверкой
Никак не получается отладить в BC++ 3.1. Как сделать в классах так, чтобы введённые данные...

Как прочитать данные из *.bin файла?
Вопрос такой: есть бинарный файл (*.bin) со словарной базой в нем. Каким образом можно прочитать из...

Прочитать файл в обратном порядке т.е. встать в конец файла и прочитать до начальной позиции
подскажите пожалуйста как можно прочитать файл в обратном порядке т.е. стать в конец файла и...

Как осуществить запись в файл bin и как прочитать всё, что в нём есть
Добрый день.Подскажите как осуществить запись в файл bin и как прочитать всё,что в нём есть.Заранее...

20
Каратель
Эксперт С++
6596 / 4017 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
20.07.2013, 14:22 2
если файлик с данными уже у вас есть, зачем вы нам пишите про модбас? ничё неясно...
0
23 / 20 / 0
Регистрация: 18.06.2013
Сообщений: 83
20.07.2013, 14:25  [ТС] 3
Просто дал всю информацию которую посчитал полезной, потому что не знаю влияет это на методику чтения данных или нет.
0
5474 / 4869 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
20.07.2013, 14:37 4
Цитата Сообщение от Pigmalion Посмотреть сообщение
прочитать из файла область 0x12 … 0x19 и обнаружить аббревиатуру
Это что за область в файле? Аббревиатура что из себя представляет?
0
23 / 20 / 0
Регистрация: 18.06.2013
Сообщений: 83
20.07.2013, 14:55  [ТС] 5
Дано описание структуры данных в памяти, со списком адресов и информацией в них. Например в 0x12 … 0x19 содержится аббревиатура “DDC-04” или “DDC-05”. И обращаясь к этим адресам надо узнать что в них находится, как это сделать я не знаю.
0
10208 / 6589 / 494
Регистрация: 28.12.2010
Сообщений: 21,165
Записей в блоге: 1
20.07.2013, 14:57 6
Дано описание структуры данных в памяти
раз дано, выкладывайте.
0
5474 / 4869 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
20.07.2013, 15:05 7
Файл можете выложить?
0
23 / 20 / 0
Регистрация: 18.06.2013
Сообщений: 83
20.07.2013, 15:17  [ТС] 8
Вот, пришлось разделить - не вмещались. 1.doc - bin-файл, изменил формат чтобы можно было прикрепить.
0
Вложения
Тип файла: doc структура2.doc (32.5 Кб, 5 просмотров)
Тип файла: doc структура3.doc (27.5 Кб, 4 просмотров)
Тип файла: doc структура1.1.doc (69.0 Кб, 5 просмотров)
Тип файла: doc Структура1.2.doc (56.5 Кб, 4 просмотров)
Тип файла: doc 1.doc (5.2 Кб, 8 просмотров)
5474 / 4869 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
20.07.2013, 17:11 9
bin заархивируйте и выложите, doc это не то, что нужно.
0
23 / 20 / 0
Регистрация: 18.06.2013
Сообщений: 83
20.07.2013, 17:37  [ТС] 10
Прикрепил архив. Но если расширение .doc на .bin поменять будет и предыдущий работать.
0
Вложения
Тип файла: rar 1.rar (183 байт, 9 просмотров)
5474 / 4869 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
20.07.2013, 17:52 11
Странный у вас bin. Что из него можно извлечь, если все байты одинаковые (исключая начальную область)? Или информация в этой начальной области?

Добавлено через 6 минут
Мне вот это нравится:
В файле, формируемом МСИ, область сигнатуры не всегда заполнена аббревиатурой “DDC-04” или “DDC-05”. Поэтому по данному признаку однозначно нельзя определить это файл образа динамограммы или нет. Хотя если аббревиатура по соответствующим адресам имеется – это файл ДДС и для сведения обоих типов к общему виду, в случае наличия сигнатуры в файле МСИ следует считать значение единицы кода усилия не в кг/100, а в граммах. Определение же корректности файла МСИ в случае отсутствия аббревиатуры можно произвести просканировав на корректность, например, время снятия динамограммы. И еще одна особенность файлов, формируемых МСИ. Если сигнатура отстутствует, следует учитывать, что даже если объем данных указан больше чем реально они записаны интерпретировать первый код 0xFFFF как окончание области, если аббревиатура существует, то адресное пространство распределить также как это было описано для файлов, формируемых MODBUS(см. выше).
0
23 / 20 / 0
Регистрация: 18.06.2013
Сообщений: 83
20.07.2013, 18:00  [ТС] 12
Меня это тоже удивило когда в hex-редакторе открыл. Получается что из него нельзя ничего прочитать или там как-то всё зашифровано? Не знаете что это может быть?
0
5474 / 4869 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
20.07.2013, 18:06 13
Цитата Сообщение от Pigmalion Посмотреть сообщение
или там как-то всё зашифровано?
Это навряд ли. Сам файл откуда взялся?
0
23 / 20 / 0
Регистрация: 18.06.2013
Сообщений: 83
20.07.2013, 18:07  [ТС] 14
Задание дали в универе - получить информацию
0
5474 / 4869 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
20.07.2013, 18:40 15
Цитата Сообщение от Pigmalion Посмотреть сообщение
Задание дали в универе - получить информацию
Я не про задание, я про файл. Тоже в универе дали? Каким образом он создавался не знаете?
0
23 / 20 / 0
Регистрация: 18.06.2013
Сообщений: 83
20.07.2013, 18:56  [ТС] 16
Да, файл дали вместе с заданием. Как именно создавался файл, я не знаю.
0
5474 / 4869 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
20.07.2013, 20:03 17
МСИ файл, только в служебной области не совпадают с таблицей 2 положение года и месяца.
Кликните здесь для просмотра всего текста
0 25
1 20
2 38
3 13
4 5
5 32
6 3
7 99
8 3
9 0
a 0
b 0
c 0
d 0
e 0
f 0
10 0
11 0
12 0
13 0
14 0
15 0
16 0
17 0
18 0
19 0
1a 0
1b 51
1c 48
1d 51
1e 50
1f 48
20 0
21 0
22 0
23 0
24 0
25 0
26 0
27 0
28 0
29 0
2a 0
2b 0
2c 48
2d 48
2e 48
2f 51
30 0
31 0
32 0
33 0
34 0
35 0
0
23 / 20 / 0
Регистрация: 18.06.2013
Сообщений: 83
20.07.2013, 20:24  [ТС] 18
Это значения из hex-редактора, переписанные в столбик, и как вы из этого набора поняли, что это МСИ файл? Как вы думаете, что значит заполненная одинаковыми числами область в конце?
0
5474 / 4869 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
20.07.2013, 20:44 19
Цитата Сообщение от Pigmalion Посмотреть сообщение
и как вы из этого набора поняли, что это МСИ файл?
0x12 … 0x19 сигнатуры нет; эти области: 0x10… 0x1F и 0x20… 0x2F явно совпадают с таблицей 2, потом идут 0 до 0x80, где у МСИ начинается статусная область; если перевести первые пять байт (0 - 4) c ДДК, то получится:14 часов 19 минут, 26 мая 013 года. Правда прийдётся поменять порядок следования месяца и года, но это может и опечатка в таблице.
1
23 / 20 / 0
Регистрация: 18.06.2013
Сообщений: 83
20.07.2013, 23:44  [ТС] 20
Спасибо за подробное объяснение. Но эта часть файла была более менее понятна, больше интересует продолжение, где как я понял тоже должны быть данные, а там сплошные hhhh.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.07.2013, 23:44

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Прочитать последовательность из файла и создать стек в памяти
В файл записывается последовательность целых чисел. Прочитать последовательность из файла и создать...

Прочитать bin и записать его в структуру
Здравствуйте. Пытаюсь прочитать бинарный файл и записать его в структуру. Файл начинается с такой...

Закачка файла и перевод в область памяти типа PVOID
В общем моя программа скачивает библиотеку, грузит ее в память и из памяти библиотека грузится в...

Как лучше всего записать часть файла в область памяти (AllocateMemory)
Добрый день. Вопрос в теме. Мне в голову приходит только считывать строки из файла, складывать их,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.