Обработчик данных с Serial

Простейшие вопросы в области инженерной разработки
Ответить
Anton.M
beginner
beginner
Сообщения: 14
Зарегистрирован: 14 окт 2016, 14:18
Версия LabVIEW: 14
Контактная информация:

Обработчик данных с Serial

Сообщение Anton.M »

Всем Доброго Времени Суток!
Не могу придумать обработчик данных, приходящих через Serial от приемника (радиомодема). Посылки приходят типа XX80000000-000 с переносом строки на конце. Когда они приходят раз в секунду, подпрограмма их обрабатывает, убирает "/n" и посылает уведомление (14 символов) в основную программу - все работает и обрабатывается. Но как приходит несколько посылок сразу, т.е.:
QR100ef4aa-012
FN107bcca3-052
BC000003ca-021
Обработчик просто начинает или посылать в открытую (Ошибка по Scan From String) или сразу отсылает уведомление в 28-42 символа, и естественно вылетает в ошибку.
Попробовал разбить эту посылку посимвольно (16-16 или 16-16-16), но почему-то Labview выдает к Scan From String текст типа "003e1-012", т.е. последние 8 символов посылки.
ZIaNgnc1VRQ[1].jpg
Причину ошибки я в принципе вижу, я использую параметр "bytes at port", он наполняется (16-18-20-22) и тут же выскакивает ошибка... Как бороться с этим? Может использовать другой параметр?

Может кто сталкивался с таким, я уж не знаю куда копать - с утра на этом засел.
Заранее спасибо!
Вложения
Serial.vi
Подпрограмма
(19.23 КБ) 76 скачиваний
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5461
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 27 раз
Поблагодарили: 86 раз

Re: Обработчик данных с Serial

Сообщение IvanLis »

Anton.M писал(а):Посылки приходят типа XX80000000-000 с переносом строки на конце.
Правильно сконфигурируйте VISA.
У Вас явно задан терминальный символ = с переносом строки на конце.
Тогда пакеты будут делиться не по таймингу, а по терминатору. Который кстати можно отбросить, и не нужно будет ничего "отбрасывать".
Непонятно только одно, Вы пишите, что принимаете 16 символов, отбрасываете "/n" и получаете 14, но ведь "/n"=1 символ.

Почитайте например: http://labviewportal.org/viewtopic.php?f=22&t=6348
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»