|
25 / 25 / 2
Регистрация: 08.11.2011
Сообщений: 284
|
|||||||||||
Обработка данных из порта03.03.2013, 06:03. Показов 5857. Ответов 46
Метки нет (Все метки)
Добрый день. Данные с порта считываются каждую секунду. Эти данные надо обработать. Вопрос как это сделать ? А то начинаю орабатывать тут:
Код программы целеком:
1
|
|||||||||||
| 03.03.2013, 06:03 | |
|
Ответы с готовыми решениями:
46
Обработка данных с COM порта Обработка данных из com порта Обработка данных с com порта. |
|
25 / 25 / 2
Регистрация: 08.11.2011
Сообщений: 284
|
|
| 04.03.2013, 13:47 [ТС] | |
|
Все разобрался кое как )))) Спасибо =))
0
|
|
|
9 / 9 / 0
Регистрация: 03.10.2012
Сообщений: 35
|
||
| 10.03.2013, 10:03 | ||
|
GrukhvinEV. Если я правильно понял, ты прочитал данные с порта и обработал. Кодил в Visual C++ 2008? Столкнулся с такой же проблемой. пож. дай проект. Хотелось бы посмотреть как это делается. Комментарии писал? ![]() P.S. Оч. надо для дипломной работы.
1
|
||
|
25 / 25 / 2
Регистрация: 08.11.2011
Сообщений: 284
|
|||||||||||
| 10.03.2013, 10:42 [ТС] | |||||||||||
|
Вот само событие
0
|
|||||||||||
|
9 / 9 / 0
Регистрация: 03.10.2012
Сообщений: 35
|
|
| 10.03.2013, 11:35 | |
|
Какой компонент com порта? MS Visual Studio С++?
Добавлено через 11 минут Куча вопросов сразу возникла. Можно весь проект. В этих кусках нубу не разобраться. Пожалуйста.
1
|
|
|
25 / 25 / 2
Регистрация: 08.11.2011
Сообщений: 284
|
|
| 10.03.2013, 11:48 [ТС] | |
|
Да я сам недавно начал учиться, на работе мониторинг приборов сижу делаю. Раньше с билдере делал, теперь на VS 2010 прешел. Вот проект, он компилируется но не закончен. У меня у самого еще вопросов куча.
0
|
|
|
9 / 9 / 0
Регистрация: 03.10.2012
Сообщений: 35
|
|
| 10.03.2013, 14:15 | |
|
Очень интересно. Сейчас буду разбираться.
В своем коде, я научился с данным компонентом открывать и закрывать порт. Эта штуковина, которую препод дал, выдает на свой дисплей окр. температуру и атм.давление и еще что-то. Задание такое: Открыть порт, прочитать нужные байты. И вывести на label "temperature" и на label "Pressure" + кнопки и CheckBox для открытия и настройки порта. В порт-мониторе вижу, что эта штуковина шлет что-то около 128 байтов с определенным интервалом. Что и как дальше...? ![]() Спасибо. Буду спрашивать у тебя. Как нашел нужные байты и как преобразовал.
1
|
|
|
25 / 25 / 2
Регистрация: 08.11.2011
Сообщений: 284
|
|
| 10.03.2013, 14:23 [ТС] | |
|
Ну найти байты и их тип, а так же протокол обмена помогает документация на прибор. Я допустим с сайта производителя брал на некоторые приборы, а на некоторые с завода запрашивал. А то где ты там угадаешь какие байты тебе нужны и какой тип данных если их 128. Тем более они могут вообще быть произвольными, как захотели так и реализовали на заводе.
0
|
|
|
9 / 9 / 0
Регистрация: 03.10.2012
Сообщений: 35
|
|
| 10.03.2013, 15:12 | |
|
Вот на примере температуры и давления метана.
Какие по номеру байты идут на температуру, а какие на давление метана. И их тип. Можно глянуть в документации на твой счетчик, как они реализовали передачу?
1
|
|
|
25 / 25 / 2
Регистрация: 08.11.2011
Сообщений: 284
|
|
| 10.03.2013, 16:37 [ТС] | |
|
Вот конкретно для левого окна 2 порт
0
|
|
|
9 / 9 / 0
Регистрация: 03.10.2012
Сообщений: 35
|
|
| 10.03.2013, 19:30 | |
|
Вставил я в онлайн калькулятор ( 16-ричная ---> 10-ти) перевернутые 17-й, 18, 19, 20 байты (41 AB 8E C8). Получил пургу близко не похожую на температуру. Хотя автор файла Запрос ответ.doc пишет, что все ОК. Температура 22,44 градуса.
![]() Туплю Я?
1
|
|
|
25 / 25 / 2
Регистрация: 08.11.2011
Сообщений: 284
|
||||||
| 11.03.2013, 05:17 [ТС] | ||||||
|
Тупишь ты )) Автор файла я ))) Если ты посмотришь внимательнее файл то увидишь что тип данных температуры float в конце файла указан стандарт "Структура вещественных чисел с плавающей запятой стандарта IEEE754". Вот ссылка
1
|
||||||
|
9 / 9 / 0
Регистрация: 03.10.2012
Сообщений: 35
|
||
| 11.03.2013, 09:40 | ||
|
И правда, 21,44 градуса.
![]() Почитал про IEEE 754...
1
|
||
|
25 / 25 / 2
Регистрация: 08.11.2011
Сообщений: 284
|
|
| 11.03.2013, 09:45 [ТС] | |
|
Интересная инфа, не знал такого )))
0
|
|
|
9 / 9 / 0
Регистрация: 03.10.2012
Сообщений: 35
|
||||
| 11.03.2013, 10:43 | ||||
|
Вопросы.
0
|
||||
|
25 / 25 / 2
Регистрация: 08.11.2011
Сообщений: 284
|
|
| 11.03.2013, 11:13 [ТС] | |
|
1) Начинаются они с первого байта, но там первые байты идут адрес устройства, номер функции и т.д. в .pdf файле это написано. Под данными я подразумевал параметры всякие, температуру, давление и т.д.
2) Да это производитель, он же может сам как хочет организовывать данные. 3) Нет, прибор передает с начала. Если не ошибаюсь это зависит от процессора компа, он их переворачивает. А вообще почитай про протокол Modbus RTU, ASCII. Может что пригодится.
1
|
|
|
9 / 9 / 0
Регистрация: 03.10.2012
Сообщений: 35
|
||
| 11.03.2013, 11:44 | ||
|
не совсем понял
-смешения 51 для метана, длина 10 бит Это стандарт? Или сам производитель так сделал? Я к тому, что если это стандарт, то будет возможно "отловить" нужные биты, потом преобразовывая хотя бы на том же калькуляторе. Сравнивать с числовыми показаниями на дисплее "штуковины". например: "отловил" нужные биты. Преобразовал на калк, получилось =23,2345. Похоже на комнатную температуру? , совпадает с числовыми данными на дисплее? Ну и т.д., "засовываешь" в код. Прокатит такой вариант?
0
|
||
|
25 / 25 / 2
Регистрация: 08.11.2011
Сообщений: 284
|
|
| 11.03.2013, 12:30 [ТС] | |
|
Нет. Это не стандарт. Это производитель так захотел.
1
|
|
|
9 / 9 / 0
Регистрация: 03.10.2012
Сообщений: 35
|
|
| 11.03.2013, 14:42 | |
|
подозревал...
![]() Препод наверное сидит и ухмыляется, когда я к нему приду за таблицей (смещение, тип), кстати как она может называться? Чтобы правильно спросить. И где прочитать про смещения?
0
|
|
|
25 / 25 / 2
Регистрация: 08.11.2011
Сообщений: 284
|
|
| 11.03.2013, 15:12 [ТС] | |
|
Да просто спроси протокол обмена на прибор. Про смещение читать нечего. Это просто с какого байта начинается нужный параметр. Зависит от количества параметров. Например у тебя 3 параметра длинною 4 2 и 6 байт. И первые 4 байта получается адрес, функция и тд. Вот и получается что бы попасть на первый параметр надо пропустить первые 4 байта(адрес, и тд.) Что бы попасть на второй надо пропустить 4(адрес и т.д)+4(первый параметр). Те смещение 8, а наш параметр начнется с 9 байта и закончится 10 байтом. Т.к длина второго параметра 2 байта. И т.д. Понял?
1
|
|
| 11.03.2013, 15:12 | |
|
Помогаю со студенческими работами здесь
20
Обработка данных с COM порта без использования Sleep Обработка ошибки при потере COM порта Обработка данных с COM порта
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|
|
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-text-sdl3-c. zip
finish-text-sdl3-cpp. zip
|
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
|
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo
Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло.
Но на выплатах по больничным это. . .
|
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2.
Номеклатура. . .
|