Jump to content
Pyatnica

Запись данных из COM порта в Excel

Recommended Posts

Всем привет. Есть прибор контроля параметров на STM32, так же есть АСУ, которой эти параметры нужно передать(пусть это будет обычный ПК, передавать будем по UART to COM). АСУ  воспринимает параметры только в виде файла Excel определенной структуры. А сейчас вопрос: Каким образом можно создать на компьютере  понятный для АСУ файл Excel (Параметры будут передаваться после каждого измерения)? Можно ли на стороне прибора собирать этот файл и передавать в уже готовом виде?. Условно прибор можно обвешивать всем, что необходимо(SD карта и т.п.).

Share this post


Link to post
Share on other sites

нет. Надо женить асу с прибором программно. Шарить файл не вариант

Share this post


Link to post
Share on other sites

Уверены что используется именно Excel? Потому как такая страница должна полностью помещаться память, её практически невозможно создать динамическим способом. Так-же невозможно читать часть параметров в потоке - страница должна быть доступна вся. На компьютере можно сделать всё, или почти всё. Скорей всего у вас уже есть пустой шаблон для настроек, вот его и нужно изучать. Используете Notepad++ в режиме показа всех символов - там видно будет.

Лично мне встречался формат svd. Оказалось что работать с ним можно, причём по всякому, даже в потоке. В любом случае данные выглядят как динамическая структура с несколькими типами текстовых разделителей. Всё это можно парсить вдоль и поперёк, даже на слабеньких мк.

Share this post


Link to post
Share on other sites

Литиевые батарейки Fanso для систем телеметрии и дистанционного контроля

Системы телеметрии находят все более широкое применение во многих отраслях на промышленных и коммунальных объектах. Требования, предъявляемые к условиям эксплуатации приборов телеметрии и, как следствие, источников питания для них, могут быть довольно жесткими. Fanso предоставляет широкую линейку продукции, рассчитанной на различные условия эксплуатации, что позволяет подобрать батарейку для каждого конкретного применения, в том числе и для устройств телеметрии.

Подробнее

Посмотрите на просторах сети исходники виртуального термометра VT48, там как раз что то похожее было реализовано (программно). Только, насколько я помню, файл данных в реалтайме был недоступен, даже для чтения, но я могу ошибаться - давно это было....

Share this post


Link to post
Share on other sites
                     

Приглашаем на вебинар Решения для построения ультразвуковых счетчиков жидкостей и газов на базе MSP430

Компэл совместно с Texas Instruments 23 октября 2019 приглашают на вебинар, посвященный системам-на-кристалле для построения ультразвуковых расходомеров жидкостей и газов на базе ядра MSP430. Вебинар проводит Йоханн Ципперер – эксперт по ультразвуковым технологиям, непосредственно участвовавший в создании данного решения. На вебинаре компания Texas Instruments представит однокристальное решение, позволяющее создавать точные недорогие счетчики жидкостей и газов.

Подробнее...

Что это за АСУ такая, которая в качестве источника данных использует Excel-таблицу? :-) Она точна Автоматическая Система Управления? Или может это все-же утилита, выполняющая анализ и постобработку данных? 

В любом случае "простых" вариантов 2:

1) передавать с девайса на ПК CSV - файл. Выполнить это можно практически любым терминалом, включив логгирование в файл. CSV — Comma Separated Values, обычный текстовый файл, где каждая строка представляет собой что-то такое "xxxx4\n". Запятые, а на деле практически любой специальный символ, не встречающийся в xn, разделяет отдельные значения, образуя эдакие "колонки". Полученный текстовый файл запросто импортируется в Excel (как именно — зависит от версии), а уже оттуда экспортируется в "фирменный" формат;

2) курим VBA, он-же Visual Basic for Applicatoins, и встраиваем чтение последовательного порта прямо в Excel-файл. И будет там буквально кнопка, скажем, "Пуск", которая будет читать результаты из порта и сразу раскидывать по ячейкам;

Ну а варианты "по-круче" зависят от времени, квалификации и ресурсов. :-)

Edited by El-Shang

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Similar Content

    • By nasstyafilatova
      Ребятушки, помогите, еженедельно обновляла одну из таблиц Excel (бывало и чаще), внося в нее новые данные, и буквально пару дней назад при очередном обновлении, появилось такого содержания уведомление "Excel не может выполнить эту задачу с имеющимися ресурсами. Совсем уж отстала от жизни, не понимаю, что за фигня??? Но так как проблема все же появилась, то надо ее решать и я очень надеюсь на вашу помощь по восстановлению excel ?
       
    • By mikhail_D
      Здравствуйте. Ищу блютуз модуль или чип с возможностью передачи аудио + команд по виртуальному COM порту с Android/PC итд.
      Недавно купил на Aliexpress Bluetooth модуль ovc3860 с поддержкой A2DP и AVRCP протоколов. В даташите также сказано, что у него есть SPP, но, как оказалось все таки нет возможности отправлять даные по виртуальному COM порту только через UART (USB/TTL переходник).
      Задача стоит транслировать музыку с устройства и в определенный момент отправлять пакет данных. Музыку транслировать на аудио выход а комманды отправлять на хардварный UART.

      Понимаю, что для этого нужно спец приложение с плеером и кнопками на андроид или ПК, это напишу. Вопрос есть ли такие девайсы? Посоветуйте пожалуйста или объясните как можно справиться с проблеммой.
      Спасибо,
      Миша.
    • By dnk_lite
      Доброго вам...
      Вопрос возможно легкий, но не для меня, интернет молчит.
      Никак не могу понять, почему переменная pinPushNumber не инкрементируется когда отключен COM порт.
      вот часть кода:

      analogWrite(pinPush,pwm); delay(100+dly*2); //задержка задаваемая через компорт if (digitalRead(pinDetect)==LOW) pinPushQuantity++; //проверка кнопки pinPushNumber++; delay(10); analogWrite(pinPush,0); //отключаем толкатель delay(10); delay(3000); //вывод на экран Serial.println(); Serial.print("iteration #: "); Serial.println(pinPushNumber); Serial.print("Pushed: "); Serial.println(pinPushQuantity); Serial.print("PWM% : "); Serial.println(pwm*100/255); Serial.print("Delay, ms: "); Serial.println(dly*2+100);
      запускаю терминал, вижу как переменная инкрементируется и выводится на экран. Когда закрываю терминал программа продолжает работать. через время подключаю терминал и отсчет начинается с начала. Питание при этом не вырубаю.
    • By Bayrn
      Доброго временни суток!
      Такой вопрос: Имеется ряд (A) значений напряжения и соотвецтвующий ему ряд (At) значений времении. Всё это находится в таблице Execel. Каждую секунду записывалось 5 значений напряжения. Всего записанно 150 000 значений. Для графического сравнения этих значений (А) с другим рядом ( значений напряженияб который записан с другой частотой (Bt), нужно синхронизировать эти временной диапозон. Но что то не получается . Как показанно на изображении (1), нужно каждое пятое значения ряда (A) определить и поместить по порядку в столбец С. Только вот проблемма, временной ряд (Вt) идёт не совсем по порядку, в нём каждое 6 значение времени перескакивает на 1 значение (на 1 секунду). Я пытался, просто прировнять в течение одного цикла определённые значения ряда (А) (к примеру: ячейка С1 "=А5", С2 "=A10" .... ) и банально выделив "перетянуть" формат на следующие ячейки, но логики excel не уловил. Так вот как или с помощью какой функуии можно синхронизировать эти значения?
      Зараннее спасибо!!!



×
×
  • Create New...