|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
08.09.2014, 14:22 | #1 |
Пользователь
Регистрация: 08.09.2014
Сообщений: 14
|
Считывание данных с Com-порта
Здравствуйте, уважаемые форумчане! Я только начинаю изучение c, программирование микроконтроллеров!
Мне поставили такую интересную задачу - наглядно вывести данные с Com-порта весового устройства. Прикрепляю картинку Данные поступают на порт постоянно. Примерно 3 раза/сек. Нужно, чтобы они аккуратно складывались, к примеру, в текстовой файл, чтобы в любой момент можно было посмотреть историю взвешиваний. Т.е. строчка - дата, вес. Трудности: Отсечь лишние. В день может быть примерно 10-20 взвешиваний тяжелых машин. Но мне не надо (3*60*60*24) данных веса за 1 день. Т.е. выводить бы примерно каждые 3 секунды или только когда будет взвешивание. Ноль, который будет бОльшую часть времени не нужен. Взвешивание: Грузовик заезжает на платформу. Весы моментально реагируют и пулеметом выстреливают (примерно 3 раза/сек) данные - нарастающий вес. Когда грузовик останавливается, вес успокаивается в верхней точке. НО, он может колебаться +- несколько десятков кг. Так устроено оборудование. Затем он уезжает, вес стремительно уменьшается до +-нуля. Ребят, помогите. Задача интересная, но я сам не осилю. |
08.09.2014, 17:13 | #2 |
Форумчанин
Регистрация: 26.01.2009
Сообщений: 360
|
Больше похоже на коммерческое приложение. Или свой код в студию, или во фриланс
|
08.09.2014, 21:05 | #3 |
Старожил
Регистрация: 25.08.2011
Сообщений: 2,841
|
что тут сложного то .. пока ноль считываете и игнорируете данные.
Как только вес превышает определенный порог начинаете фиксировать данные. Когда вес опять упадет ниже порога останавливаете фиксацию Фильтруете данные каким нибудь доступным методом фильтрации, находите экстремум и определяете средний вес в экстремальной точке. Период среднего веса, порог подбираются эмпирически. Метод фильтрации выбирайте также эмпирически. После нескольких тестовых измерений можно подобрать инструменты и получить достаточно точный результат. Другой способ: Использовать производную сигнала полученных данных. Если при наезде на весы вы говорите что вес нарастает стремительно то всплеск производной может быть засчитан как начало данных, и второй всплеск как конец ... между этими сигналами эмпирически подбираете размер производной при устоявшемся весе. Дальше аналогично, вычислить средн.. точку данных и затем средний вес.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два. Последний раз редактировалось WorldMaster; 08.09.2014 в 21:11. |
08.09.2014, 21:16 | #4 |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
Переформулируй задачу, СОМ-порт тут роли не играет.
Только входные данные, время, выходные данные. Допустим, получил ты пачку данных. Выложи сюда, будем посмотреть. Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
09.09.2014, 08:28 | #5 | |||
Пользователь
Регистрация: 08.09.2014
Сообщений: 14
|
Цитата:
Цитата:
Цитата:
Ладно, задача как она есть. Сидит бабушка и смотрит на весы, записывает в журнал показания. Но бабушка может случайно или нет "ошибиться" на пару тонн щебня))) Вот и надо технологиями XXI века ей помочь, продублировать ее) Друг сделает удаленный доступ, а с меня вывод данных на ПК. |
|||
09.09.2014, 08:57 | #6 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,327
|
avovana, я как раз ищу разные небольшие задания, где у меня есть пробелы. Сейчас проблемка - это не очень крепкие навыки работы с COM-портом. Я побочно тут немножко попишу...
Раз в названии темы Com-порт, значит, сюда будут заходить люди с ним работающие. У меня к ним вопрос. Я раньше использовал программки, которые позволяли создавать пары виртуальных COM-портов. Одна моя программка (назовём генератор) слала данные в один порт. А разрабатываемая программка - читала из другого. Посоветуйте свободную программку, которая надёжно поставится. Кто использует com0com? Как она? |
09.09.2014, 09:11 | #7 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,327
|
Поставил вот эту: http://www.hhdsoftware.com/free-virtual-serial-ports
Установил и запустил. Какая-то фигня: |
09.09.2014, 09:13 | #8 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,327
|
А всё извините. Надо было в Help тыкать, там всё написано. Попозже отпишусь/
|
09.09.2014, 09:20 | #9 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
avovana, из вашего описания не слишком понятно, это программа данные куда нибудь записывает? Если записывает, то можно воспользоваться функциями поиска экстремумов.
Есть несколько. 1. Поиск экстремумов методом поразрядного приближения. 2. - // - методом дихотомии. 3. - // - методом золотого сечения. 4. - // - методом квадратичной итерполяции. 5. - // - методом координатного спуска. Каждай из них, имеет как недостатки, так и преимущества. Какой подойдёт именно Вам, сказать трудно, нужно поэкспериментировать. Описаний их в инете - пруд-пруди на любой вкус и цвет. Удачи. 8Observer8, не лезте в чужую тему со своими вопросами. Люди отвечают конкретному человеку на конкретно поставленный вопрос. Если есть вопросы, соэдайте свою тему и не запутывайте окружающих.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder Последний раз редактировалось Smitt&Wesson; 09.09.2014 в 09:26. |
09.09.2014, 09:21 | #10 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,327
|
Справку почитал. Вроде Bridge надо создавать. Но при нажатии на кнопку "Create" вылетает сообщение:
Посоветуйте нормальную программу для создания пары замкнутых виртуальных портов |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Приём данных с COM порта | Евгений55 | Microsoft Office Excel | 3 | 05.01.2013 16:46 |
Считывание сигнала с COM порта | Pasha_Sh | Общие вопросы Delphi | 8 | 13.12.2011 23:29 |
автоматическое считывание с com порта | denis_kas | Win Api | 4 | 22.11.2010 19:11 |
Считывание и расшифровка (интерпретация) данных с lpt порта, передаваемых печатающему устройству | Ma3a | Общие вопросы Delphi | 3 | 21.12.2009 08:46 |
считывание из СОМ(или USB) порта | voron29 | Общие вопросы Delphi | 1 | 29.06.2008 13:09 |