"Правильный" формат строки
- jane_wild
- master
- Сообщения: 459
- Зарегистрирован: 30 июн 2016, 02:11
- Версия LabVIEW: 2020
- Благодарил (а): 83 раза
- Поблагодарили: 15 раз
- Контактная информация:
"Правильный" формат строки
Здравствуйте ребята. Посоветуйте как правильно "по взрослому" так сказать, организовать связь с прибором. Ситуация такая: Наш электронщик сделал самодельный прибор, который передает по последовательному порту два числа с плавающей точкой (четыре знака после запятой) В LabVIEW мне необходимо получить эти два числа, для дальнейшей обработки. Вот он (электронщик) меня и спрашивает в каком формате я бы хотела получить эти два числа. А я не знаю как стандартно это делается. Вообщем вот что я напридумывала и его попросила, посмотрите вложеный Vi, он сделал и все как бы работает. Вот такую строку я читаю с помощью VISA Read. Но что-то мне подсказывает что вот так в лоб разбор строки не делается. Сегодня это два числа, а завтра может быть пять, не придумывать же для каждого отдельные разделители... Может кто подскажет более "красивое" решение? Или даст совет в каком формате лучше передовать эти два числа, чтобы я совсем уж не выглядела блондинкой в глазах наших железячников.
- Вложения
-
- COM.vi
- (7.85 КБ) 69 скачиваний
-
Kosist
- expert
- Сообщения: 1236
- Зарегистрирован: 21 фев 2011, 23:44
- Награды: 2
- Версия LabVIEW: 2013-2020
- Благодарил (а): 23 раза
- Поблагодарили: 30 раз
- Контактная информация:
Re: "Правильный" формат строки
Немного странный формат строки. Что такое "SP and FB" - обычно так приборы не передают данные. Делаются или пакеты из определенной структурой, или посылаются чистые значения.
В самом простом варианте - пускай Вам будет посылаться строка просто из чисел, разделенных запятой или точкой из запятой; а на конце посылки будет перенос строки. Тогда Вам будет не важно сколько там чисел, т.к. при помощи Spreadsheet string to array Вы вытянете все числа из строки.
Ну или потом можно такой формат -
Имя значения:значение. Например, SP:23.3263;FB:24.8761. Потом Вы при помощи точки из запятой сможете динамически (вне зависимости от количества параметров) разбить строку на отдельные значения, и потом разделите каждое при помощи двоеточия на имя и само значение.
В самом простом варианте - пускай Вам будет посылаться строка просто из чисел, разделенных запятой или точкой из запятой; а на конце посылки будет перенос строки. Тогда Вам будет не важно сколько там чисел, т.к. при помощи Spreadsheet string to array Вы вытянете все числа из строки.
Ну или потом можно такой формат -
Имя значения:значение. Например, SP:23.3263;FB:24.8761. Потом Вы при помощи точки из запятой сможете динамически (вне зависимости от количества параметров) разбить строку на отдельные значения, и потом разделите каждое при помощи двоеточия на имя и само значение.
Мы делили апельсин - много наших полегло...
-
taras_33
- professional
- Сообщения: 391
- Зарегистрирован: 31 окт 2009, 18:25
- Награды: 1
- Версия LabVIEW: 2019
- Поблагодарили: 13 раз
- Контактная информация:
Re: "Правильный" формат строки
Kosist прав, странный формат. Зачем изобретать велосипед? Чтобы было проще, можно скачать какой нибудь драйвер, например этот, открыть PPS_UPC MEASure(all data values).vi и посмотреть как это делается. Если лень скачивать, то вот скриншот
Как и указал Kosist, для вытаскивания из полученой строки значений, используется Spreadsheet String To Array.vi, а в качестве разделителя точка с запятой. Вот и скажите своему железячнику чтобы сформировал строку из значений, разделенных между собой ";" и не забыл добавить \r\n в конце. Удачи
P.S. Забыл упомянуть, последовательность значений тоже пусть укажет, что за чем идет. Есть подозрение что SP and FB это SetPoint и FeedBack - контроллер положения какой-нить...
P.S. Забыл упомянуть, последовательность значений тоже пусть укажет, что за чем идет. Есть подозрение что SP and FB это SetPoint и FeedBack - контроллер положения какой-нить...
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
So far, the Universe is winning!
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 4 Ответы
- 1193 Просмотры
-
Последнее сообщение Юрий
-
- 4 Ответы
- 569 Просмотры
-
Последнее сообщение Sergey Puzanov
-
- 4 Ответы
- 596 Просмотры
-
Последнее сообщение seromax