Год от года инженерам приходится автоматизировать всё более сложные измерения, причём во всё более сжатые сроки и с применением всё более сложных контрольно-измерительных приборов. В результате в промышленных измерениях всё чаще стали использоваться интеллектуальные интерактивные программы-помощники, облегчающие процесс разработки программного обеспечения для измерительных систем. Эти программы позволяют:
- быстро находить нужные управляющие команды, не прибегая к справочной документации;
- интерактивно создавать и тестировать фрагменты кода, сокращая или полностью устраняя длительные циклы отладки;
- ускорять написание кода за счёт переноса команд в целевую среду проектирования.
Прежде чем узнать, каким образом интерактивные программы-помощники упрощают разработку тестов, будет полезно совершить небольшой экскурс в историю управления приборами.
Традиционный подход к управлению приборами
В 1970-х годах способ взаимодействия измерительных приборов с компьютерами стандартизовала интерфейсная шина общего назначения (GPIB). При этом она не предъявляла никаких требований к языку управления. Отчасти ситуация была исправлена в 1987 году с выпуском спецификации IEEE 488.2. Тем не менее большинство наборов команд измерительных приборов по-прежнему определялось их производителями.
Функции кнопок передней панели первых приборов соответствовали простым кодам, которые часто называли командами R2–D2, поскольку для их записи использовались двухсимвольные обозначения. Программная команда для той или иной функции прибора часто печаталась рядом с соответствующей кнопкой на его передней панели.
По мере усложнения приборов появилась более детальная мнемоника, позволяющая понять смысл команды по её названию. В 1990 году, пытаясь стандартизировать структуру наименований управляющих команд, компания Hewlett-Packard представила язык для контрольно-измерительных систем, сокращённо – TMSL (Test and Measurement System Language). Позже этот язык был принят всей отраслью в качестве Стандартного набора команд для программирования приборов – SCPI (Standard Commands for Programmable Instrumentation).
Сегодня некоторые приборы могут использовать сотни команд SCPI. Именно это и ставит инженеров в трудное положение: пытаясь отыскать нужную команду для нужной операции, специалисты вынуждены тратить немало драгоценного времени. Часто для решения этой проблемы предлагают использовать специальные драйверы, но и они решают проблему не полностью. Добавьте к этому ещё сложность настройки и подключения прибора, а также многочисленные среды разработки, и, казалось бы, простая задача автоматизации измерений усложняется до предела.
Интерактивные программы-помощники
Для упрощения процесса обучения технологии автоматизации приборов, производители предлагают использовать специальные программные инструменты, помогающие быстро приступить к работе.
На самом простом уровне программы-помощники предлагают средства сканирования шины прибора и уже содержат в себе подпрограммы, демонстрирующие базовую работу прибора с помощью команд SCPI или через инструментальные драйверы. Примеры таких программ-помощников можно найти в интегрированной среде VEE Pro компании Keysight или в LabVIEW компании National Instruments.
Расширенные программы-помощники, в свою очередь, облегчают разработку реальных процедур управления. Например, набор средств управления контрольно-измерительными приборами пакета MATLAB (через команду tmtool) позволяет подключиться к прибору через его интерфейс и генерировать сценарий MATLAB в процессе отправки команд SCPI и получения ответов на них (см. рис. 1).
Кроме того, средства управления контрольно-измерительными приборами могут обращаться к установленным в системе драйверам IVI-C и IVI-COM. После их установки появляется возможность просматривать список доступных команд драйвера, интерактивно выполнять их и вводить в журнал соответствующих запросов MATLAB для использования в собственном коде. Справочную информацию по драйверу можно получить простым нажатием кнопки.
В качестве другого примера можно привести программное обеспечение Command Expert компании Keysight Technologies, объединяющее управляющие команды и документацию в «Набор команд», который используется в интерактивной среде для построения управляющих последовательностей. Эти последовательности можно использовать для создания исходного кода на языках C/C#/VB или вызывать их непосредственно из других интегрированных сред, таких как VEE Pro, LabVIEW, Excel, Python или MATLAB.
Связывая документацию с командами прибора, ПО Command Expert позволяет выполнять проблемно-ориентированные запросы, помогающие находить нужные команды SCPI или обращаться к драйверу IVI-COM, не обладая специальными знаниями команд или структуры драйвера.
Command Expert в действии
Рассмотрим работу ПО Command Expert на примере анализатора спектра Keysight N9020A. При первом запуске Command Expert появляется экран приветствия, который с помощью нескольких простых подсказок поможет подключиться к новому прибору.
Далее необходимо кликнуть на ссылку «Create an Instrument» (Создать прибор) в панели быстрого запуска – откроется мастер и просканирует доступные интерфейсы прибора. После этого появится список доступных команд, который показан на рисунке 2. Более сложные приборы могут иметь несколько наборов команд, что зависит от приложения, которое требуется запустить на данном приборе. В нашем же случае выбираем базовый набор команд анализатора спектра.
Последний шаг установки предлагает дать прибору уникальное имя, что весьма кстати при использовании Command Expert для работы с несколькими приборами.
После загрузки набора команд инженер может подключить прибор, выбрав его из списка «My Instruments» (Мои приборы) и кликнув на кнопку Connect (Подключить). Если прибор недоступен, но при этом есть необходимость работы в программе, можно воспользоваться опцией имитации. После подключения к прибору откроется окно с доступными для него командами SCPI.
На этом этапе можно просмотреть дерево команд и найти нужные, однако лучше просмотреть встроенную документацию, что существенно ускорит процесс. После ввода в расположенное над деревом команд поле поиска текста «Center Frequency» (Центральная частота) и нажатия кнопки «Enter» (Ввод), на экране появится список команд, в описании которых упоминается центральная частота. В окне справа приводится документация, описывающая действия, выполняемые выбранной командой (см. рис. 3).
Над описанием расположена интерактивная панель исполнения, которая позволяет подать прибору тестовую команду. Для этого нужно ввести частоту 1.0e9 и щёлкнуть кнопку «Perform» (Выполнить) – команда отправлена в прибор. Одновременно эта команда будет занесена и в панель сценария, располагающуюся в нижней части экрана.
После выбора всех необходимых команд можно воспроизвести их последовательность в Command Expert, или экспортировать команды в C#, C++, Visual Basic или MATLAB. Для этого в меню File (Файл) следует выбрать пункт Export Sequence (Экспорт последовательности). На случай, если перечисленные языки инженером не используются, Command Expert может также работать с VEE Pro, LabVIEW, Microsoft Excel или Python.
Заключение
Интерактивные программы-помощники позволяют сэкономить время и сократить циклы отладки в дружественной среде. Они дают возможность сосредоточиться на автоматизации измерений, а не на перелистывании страниц руководства.
Если вам понравился материал, кликните значок - вы поможете нам узнать, каким статьям и новостям следует отдавать предпочтение. Если вы хотите обсудить материал - не стесняйтесь оставлять свои комментарии : возможно, они будут полезны другим нашим читателям!