Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Передача сигнальных данных (дополнительно)



Многие измерительные приборы возвращают сигнальные данные в виде ASCII строк или в двоичном формате. Необходимо принять во внимание то, что передача сигнальных данных в бинарном формате происходит быстрее и требует меньшего количества памяти, чем передача сигнальных данных в виде ASCII строк. Кодирование сигнальных данных в бинарный формат требует меньшего количества байт, чем кодирование в ASCII строки.

 

 

Сигнальные данные в формате ASCII

Например, рассматриваемый сигнал состоит из 1024 значений, которые находятся в диапазоне от 0 до 255. Использование ASCII кодировки требует 4 байта для представления каждого значения (3 байта для числа и 1 байт для разделителя, такого как запятая). Таким образом, потребуется 4096 (4 * 1024) байт плюс заголовок и плюс сопроводительные символы, указывающие на тип представления осциллограммы данных в виде ASCII строки.

Ниже показан пример данных в формате ASCII строки.

CURVE Заголовок {12, 28, 63,...1024 значения} значения CR сопроводительный символ
(6 байт) (по 4 байта на каждое значение) ( 2 байта)

Для преобразования данных в формате ASCII строки необходимо использовать ВП Extract Numbers VI, размещенный в палитре Functions»User Libraries»Basics I Course, как показано на блок- диаграмме ( Рис. 213 ).

Рис.213

 
 

Блок – диаграмма.

 

Сигнальные данные в формате однобайтового целого

В этом формате сигнальные данные требуют только 1024 байта. В сумме: (1 * 1024) плюс заголовок плюс сопроводительный символ, представленный в двоичном формате. Для преобразования сигнальных данных в двоичный формат кодов символов требуется 1 байт на значение, т.е. каждое значение представлено как беззнаковое байтовое значение. Пример демонстрирует осциллограмму данных в формате 1-байтовых целых.

Преобразовать двоичного формата кодов символов в численный массив труднее. Необходимо преобразовать строку в целочисленный массив. Для преобразования использовать функцию, размещенную в палитре Functions»Programming»String»String/Array/Path Conversion. Перед преобразованием необходимо удалить заголовок и сопроводительные символы с принятого двоичного формата. В противном случае эта информация также будет преобразована в целочисленный массив ( Рис. 214 ).

Рис.214

 
 

Преобразование двоичного формата кодов символов в численный массив.

Сигнальные данные в формате двухбайтового целого

Каждое значение в этом формате представлено, как двухбайтовое целое и его преобразование можно осуществить с помощью функции Type Cast, размещенной в палитре Functions»Programming»Numeric»Data Manipulation. Для получения дополнительной информации о приведении типов используйте руководство LabVIEW Основы II.

Например, GPIB- осциллограф передает сигнальные данные в формате двухбайтового целого. Данные состоят из 1024 значений, каждое из которых представлено 2 байтами. Поэтому в этом формате сигнальные данные представлены 2048 байтами. Ниже показан формат сигнальных данных, состоящий из 4-байтового заголовка, данных и 2-байтового сопроводительного символа linefeed.

ДАТА заголовок {(HB1, LB1),...1024 значения} CR значения СF сопроводительный символ
(4 байт) (по 2 байта на каждое значение) (2 байта)

 

 

A D
A T
LB1 HB1
LB2 HB2
…. ….
LB1024 HB1024
LF CR

 

На примере блок-диаграммы ( Рис. 215 ) показано использование функции Type Cast для преобразования сигнальных данных в формате двухбайтового целого в массив 16-битовых (двухбайтовых) целых.

 

 

Рис.215 Блок – диаграмма.

 

Для перестановки старших и младших байтов значений необходимо использовать функцию Swap Bytes, размещенную на палитре Functions»Programming»Numeric»Data Manipulation. GPIB – 8-битовая шина и в каждый момент времени передает только один байт. От измерительного прибора данные идут в обратной последовательности, поэтому и требуется функция Swap Bytes. Измерительный прибор передает вначале старший байт, затем младший байт, а приемник- интерфейс старший байт принятого значения физически размещает по адресу младшего, младший байт – по адресу старшего.

 
 

Поэтому и требуется их перестановка с помощью функции Swap Bytes, как показано на Рис. 216.

Рис.216 Перестановка при помощи функции Swap Bytes.


 

Упражнение 11-6. ВП Пример осциллограммы

(дополнительное)

Цель: Создать прибор – цифровой осциллограф, который отображает данные, полученные от измерительного прибора в виде ASCII строки или в двоичном формате.

Осциллограмма данных в виде ASCII строки состоит из 128 значений. Каждое значение передается в виде ASCII символа, включая разделительную запятую. Формат ASCII строки имеет следующий вид:

 

CURVE {12, 28, 63,...128 points in total..., }CR LF.

Осциллограмма данных в двоичном формате также состоит из 128 значений. Каждое значение представлено 1-байтовым кодом символа. Осциллограммы данных в двоичном формате имеют следующий вид:

 

CURVE % {Bin Count MSB}{Bin Count LSB}{aaAA...128 bytes in total...} {Checksum} CR LF.

Для исследования ВП, который конвертирует осциллограмму данных в массив чисел, следует выполнить следующие шаги. Осциллограмма данных принимается ВП от NI Instrument Simulator или из заранее подготовленного массива.

 


Поделиться:



Популярное:

Последнее изменение этой страницы: 2017-03-10; Просмотров: 539; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.012 с.)
Главная | Случайная страница | Обратная связь