Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Передача сигнальных данных (дополнительно)
Многие измерительные приборы возвращают сигнальные данные в виде ASCII строк или в двоичном формате. Необходимо принять во внимание то, что передача сигнальных данных в бинарном формате происходит быстрее и требует меньшего количества памяти, чем передача сигнальных данных в виде ASCII строк. Кодирование сигнальных данных в бинарный формат требует меньшего количества байт, чем кодирование в ASCII строки.
Сигнальные данные в формате ASCII Например, рассматриваемый сигнал состоит из 1024 значений, которые находятся в диапазоне от 0 до 255. Использование ASCII кодировки требует 4 байта для представления каждого значения (3 байта для числа и 1 байт для разделителя, такого как запятая). Таким образом, потребуется 4096 (4 * 1024) байт плюс заголовок и плюс сопроводительные символы, указывающие на тип представления осциллограммы данных в виде ASCII строки. Ниже показан пример данных в формате ASCII строки.
Для преобразования данных в формате 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.
На примере блок-диаграммы ( Рис. 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; Просмотров: 575; Нарушение авторского права страницы