Испытания электронной аппаратуры: быстро и эффективно

№ 5’2004
Модули NL производства RLDA (www.RLDA.ru) имеют дифференциальные входы (за исключением NL-8AI, который позволяет программно выбирать дифференциальный или одиночный тип входов).

3.1. Структура модулей серии NLМодули NL производства RLDA (www.RLDA.ru)имеют дифференциальные входы (за исключением NL-8AI, который позволяет программно выбирать дифференциальный или одиночный тип входов). Сигналы с входа подаются на АЦП через аналоговый коммутатор (мультиплексор) и преобразуются в цифровой 16-разрядный код. Использованный в модулях 24-разрядный АЦП имеет встроенный цифровой фильтр и усилитель с цифроуправляе-мым коэффициентом усиления. Это позволяет программно изменять полосу пропускания и диапазон входных напряжений.Цифровой сигнал с выхода АЦП поступает в микроконтроллер через изолирующий повторитель с магнитной связью. Изолированная часть модуля, содержащая АЦП, питается через развязывающий преобразователь постоянного напряжения, чем обеспечивается полная гальваническая изоляция входов от блока питания и интерфейсной части (рис. 7-8).

Рис. 7. Структурная схема модуля NL-8TI

Микроконтроллер модуля выполняет следующие функции:• исполняет команды, посылаемые из управляющего компьютера;• компенсирует нелинейности термопар и резис-тивных термопреобразователей с помощью записанной в ЭППЗУ калибровочной таблицы;

выполняет алгоритмы релейного или ПИД-регу-лирования;

реализует протокол обмена через интерфейс RS-485. Схема питания модулей содержит вторичный импульсный источник питания, позволяющий с высоким КПД преобразовывать напряжение питания в диапазоне от +10 до +30 В в напряжение +5 В. Модули содержат также изолирующий преобразователь напряжения из +5 в ±15 В для питания аналоговой части и второй изолирующий преобразователь для питания выходных каскадов модуля. Для питания АЦП используется линейный стабилизатор напряжения, преобразующий +15 В в +5 В.

Для получения дискретных выходов с высокой степенью защиты использованы интеллектуальные МОП-ключи фирмы International Rectifier, имеющие защиту от перегрузки по току, от перегрева выходных каскадов, от перенапряжения и от статического электричества.

Интерфейс RS-485 выполнен на микросхемах фирмы Analog Devices, удовлетворяющих стандартам EIA для интерфейсов RS-485 и RS-422 и имеющих защиту от электростатических зарядов, от выбросов на линии связи, от короткого замыкания и от перенапряжения. Дополнительно в модуле использована позисторная защита от перенапряжения на клеммах порта RS-485. Аналогичная защита использована для входа источника питания.

Рис. 8. Структурная схема модуля NL-16DI
Рис. 8. Структурная схема модуля NL-16DI
Рис. 9. Структурная схема модуля NL-8R. Обозначения: СОМ — «Common» — «общий», «C» — «Closed» — нормально замкнутый, «O» — «Open» — нормально открытый
Рис. 9. Структурная схема модуля NL-8R. Обозначения: СОМ — «Common» — «общий», «C» — «Closed» — нормально замкнутый, «O» — «Open» — нормально открытый
<img class="wp-image-133469 size-full" src="https://kit-e.ru/wp-content/uploads/158p4.png" alt="Рис. 10. Входной каскад типа D. Для источника сигнала типа «сухой контакт». !вх
Рис. 10. Входной каскад типа D. Для источника сигнала типа «сухой контакт». !вх < +1,5 мА
<img class="wp-image-133471 size-full" src="https://kit-e.ru/wp-content/uploads/158p5.png" alt="Рис. 11. Входной каскад типа С. Увх < ~250 В; !вх
Рис. 11. Входной каскад типа С. Увх < ~250 В; !вх < ~4 мА
<img class="wp-image-133473 size-full" src="https://kit-e.ru/wp-content/uploads/158p6.png" alt="Рис. 12. Входной каскад типа Т. Увх = 0…+40 В; !вх
Рис. 12. Входной каскад типа Т. Увх = 0…+40 В; !вх < 2 мА
Рис. 13. Входной каскад типа R. Увх = -30...+30 В; !вх = 10 мА...+10 мА
Рис. 13. Входной каскад типа R. Увх = -30…+30 В; !вх = 10 мА…+10 мА

Входные каскады модулей могут иметь различную электрическую схему. Каскад типа D (рис. 10) предназначен для подключения источников сигнала «сухой контакт», то есть обычных механических переключателей, например, концевых выключателей. Его особенностью является наличие внутреннего изолированного источника питания «сухих» контактов, который гальванически изолирован от источника питания модуля.

Входной буфер типа С (рис. 11) предназначен для подключения источников сигнала с переменным напряжением 220 В. Буфер типа Т (рис. 12) имеет входное сопротивление, которое возрастает при увеличении входного напряжения, что позволило добиться очень малого потребления тока (не более 2 мА при напряжении 40 В) от источника входного сигнала. Входной каскад типа R (рис. 13) является типовым, его особенностью является двуполярность, то есть возможность подачи как положительных, так и отрицательных напряжений дискретных сигналов. 3.2. Погрешность измерений Модули аналогового ввода непосредственно измеряют только напряжение. Измерение тока выполняется косвенным методом — по падению напряжения на измерительном резисторе (рис. 14). Однако калибровка модуля в режиме измерения тока выполняется при подключенном измерительном резисторе. Это позволяет скомпенсировать погрешность, вызванную технологическим разбросом сопротивления, и, таким образом, погрешность измерения тока становится равной погрешности измерения напряжения. Для ввода сигналов 0-20 мА или 4-20 мА используют измерительный резистор сопротивлением 125 Ом (рис. 14). При этом току 0 мА будет соответствовать напряжение 0 В, току 20 мА — напряжение 2,5 В, току 4 мА — напряжение 0,5 В. Аналогично можно вводить ток любой величины, выбрав соответствующую величину измерительного резистора.

При наличии прецизионного измерительного резистора калибровку в режиме измерения тока можно не проводить. В этом случае предельная погрешность измерений будет равна сумме погрешности модуля AV/V ипо-грешности измерительного резистора AR/R:

Среднеквадратическое суммирование в данном случае неприменимо, поскольку в силу особенностей технологической разбраковки резисторов разброс их сопротивлений обычно не является случайным.

Аналогично, погрешность измерения температуры с помощью модуля, калиброванного только по напряжению, является суммой погрешности термопары ATTC/TTO погрешности датчика температуры холодного спая ATtjc/Ttjc, погрешности модуля AV/V и погрешности линеаризации характеристик термопары

Рис. 14. Подключение резистора 125 Ом для измерения тока Iin
Рис. 14. Подключение резистора 125 Ом для измерения тока Iin

Выше рассмотрена основная погрешность измерения. Для учета температурной погрешности, вызванной влиянием температуры окружающей среды, следует учитывать дополнительную погрешность, величина которой пропорциональна отклонению температуры от 20 °С: где 8-доп — дополнительная погрешность.

Следует подчеркнуть, что кроме понятия точности, модуль характеризуется разрешающей способностью (16 бит). Это означает, что даже при низкой точности датчика температуры можно наблюдать изменения температуры с дискретностью 1/216 = 0,0015%. Например, при измерении температуры платиновым датчиком 100П (Pt 100) на пределе измерений 0…100°C можно регистрировать изменения температуры на 0,001 °C. Высокая разрешающая способность полезна, когда требуется определить тенденцию изменения температуры во времени (например, для регистрации момента начала химической реакции), для измерения разности температур (при измерении теплового потока), для обнаружения температурных колебаний (например, в инкубаторе), когда величина изменений температуры меньше погрешности измерений.

3.3. Схемы включения модулей Подсоединение модуля к промышленной сети на основе интерфейсов RS-485 выполняется экранированной витой парой. Такой провод уменьшает наводки на кабель и повышает устойчивость системы к сбоям во время эксплуатации.

Рис. 16. Подключение термопары к каналу 4 модуля
Рис. 16. Подключение термопары к каналу 4 модуля
Рис. 18. Трехпроводное подключение резистивного термопреобразователя
Рис. 18. Трехпроводное подключение резистивного термопреобразователя
Рис. 15. Подключение модуля к порту RS-232 компьютера
Рис. 15. Подключение модуля к порту RS-232 компьютера

К компьютеру модуль подключается через преобразователь интерфейса RS-232 в RS-485

(рис. 15).

Термопара или резистивный датчик температуры подключаются к входным зажимам модуля непосредственно (см. рис. 16). Резис-тивные медные, платиновые или никелевые термопреобразователи (термопреобразователи сопротивления) подключаются к модулю NL-4RTD по одному из трех вариантов (рис. 17-19). Для измерения сопротивления из модуля в датчик задают ток с помощью «идеальных» источников тока Iex0+ и Iex0-и снимают величину падения напряжения на датчике с помощью потенциальных входов модуля Sense+ и Sense- (рис. 17). При фиксированном токе падение напряжения прямо пропорционально сопротивлению датчика, которое затем пересчитывается в значения температуры по табличным данным, взятым из ГОСТ 6651-94 и хранимым в ЭППЗУ модуля.

Однако такой простейший путь может быть использован только в случае, когда длина проводов, идущих к датчику, не превышает нескольких метров. В общем случае необходимо учитывать их сопротивление, которое может быть сравнимо с сопротивлением датчика (обычно 50-100 Ом). Для этого используют трехпроводную или четырех-проводную схему включения. Особенность трехпроводной схемы (рис. 18) состоит в том, что она основана на принципе взаимной компенсации падений напряжений на проводах, по которым текут одинаковые токи в противоположных направлениях. Поэтому эта схема компенсирует только среднее значение сопротивлений проводов, но не их разность. Кроме того, в погрешность измерения добавляется погрешность рассогласования токов источников тока Iex0+ и Iex0-. Достоинством этой схемы по сравнению с четырехпро-водной является 30-процентная экономия соединительных проводов.

Рис. 17. Двухпроводное подключение резистивного термопреобразователя
Рис. 17. Двухпроводное подключение резистивного термопреобразователя
Рис. 19. Четырехпроводное подключение резистивного термопреобразователя
Рис. 19. Четырехпроводное подключение резистивного термопреобразователя

Четырехпроводная схема (рис. 19) использует только один источник тока. Поэтому исключается погрешность рассогласования токов Iex0+ и Iex0-. Четырехпроводная схема не использует принцип компенсации сопротивлений и поэтому позволяет исключить влияние проводов независимо от величины рассогласования их сопротивлений. Для этого напряжение измеряется непосредственно на выводах датчика. Эта схема измерения является наиболее точной.

Выходные каскады модулей выполнены по схеме с открытым стоком, что позволяет получить логические уровни любой величины (до +47 В) в зависимости от напряжения источника питания выходных каскадов (рис. 20).

Выходные каскады модулей имеют максимальное рабочее напряжение 47 В и ток нагрузки не более 0,75 А. Однако их можно использовать для переключения нагрузок любой мощности, если подключить к выходным каскадам модуля электромагнитное или полупроводниковое реле, тиристор или си-мистор. Соответствующие схемы включения приведены на рис. 20-22.

3.4. Пример применения модуля для регулирования температуры

Модули имеют встроенный алгоритм релейного и ПИД регулирования. Это позволяет использовать их в качестве локального технологического контроллера для выполнения функции стабилизации температуры. В качестве примера на рис. 23 показана структурная схема системы поддержания стабильной температуры в емкости с нагревательным элементом.

Рис. 20. Получения логических уровней напряжения на выходах модулей
Рис. 20. Получения логических уровней напряжения на выходах модулей

Термопара является нелинейным преобразователем температуры в напряжение. Для компенсации нелинейности в модулях используется поправочная таблица, взятая из ГОСТ Р 8.585-01 для термопар типа K, J, B, L, E, S, R, N, T и занесенная в ЭППЗУ модуля. Микроконтроллер, имеющийся в модуле, вносит поправки в результат измерения, пользуясь этой таблицей. Поэтому модуль выдает через порт RS-485 значение температуры.

Напряжение на зажимах термопары зависит не от абсолютного значения температуры, а от разности температур горячего и холодного спая. Температура холодного спая в модуле измеряется линейным полупроводниковым датчиком температуры.

3.5. Промышленная сеть на основе интерфейса RS-485

Модули серии NL могут быть включены в промышленную сеть на основе интерфейса RS-485, которая использует передачу сигналов в обоих направлениях по двум проводам. RS-485 является стандартным интерфейсом, специально спроектированным для передачи цифровых данных в условиях индустриального окружения. Он широко используется для построения промышленных сетей, связывающих устройства с интерфейсом RS-485 на расстоянии до 1,2 км (ретрансляторы позволяют увеличить это расстояние). Линия передачи сигнала в стандарте RS-485 является дифференциальной, симметричной относительно «земли». Один сегмент промышленной сети может содержать до 32 устройств. Передача сигнала по сети является двунаправленной, инициируемой одним ведущим устройством, в качестве которого обычно используется офисный или промышленный компьютер (контроллер). Если управляющий компьютер по истечении некоторого времени не получает от модуля ответ, обмен прерывается и инициатива вновь передается управляющему компьютеру. Любой модуль, который ничего не передает, постоянно находится в состоянии ожидания запроса. Ведущее устройство не имеет адреса, ведомые — имеют.

Рис. 21. Подключение симистора к выходу модуля
Рис. 21. Подключение симистора к выходу модуля

Удобной особенностью сети на основе стандарта RS-485 является возможность отключения любого ведомого устройства без нарушения работы всей сети. Это позволяет делать «горячую» замену неисправных устройств.

Применение модулей серии NL в промышленной сети на основе интерфейса RS-485 позволяет расположить модули в непосредственной близости от контролируемого оборудования и таким образом уменьшить общую длину проводов и величину паразитных наводок на входные цепи.

Рис. 22. Применение модуля для управления электромагнитным реле
Рис. 22. Применение модуля для управления электромагнитным реле

Размер адресного пространства модулей позволяет объединить в сеть 256 устройств. Однако при использовании для адресации кода скорости обмена можно адресовать 2048 устройств. Поскольку нагрузочная способность интерфейса RS-485 модулей составляет 32 стандартных устройства, для расширения сети до 256 единиц необходимо использовать RS-485 ретрансляторы между фрагментами, содержащими до 32 модулей. Конвертеры и ретрансляторы (репитеры) сети не являются адресуемыми устройствами и поэтому не уменьшают предельную размерность сети.

Управляющий компьютер, имеющий порт RS-485, подключается к сети непосредственно. Компьютер с портом RS-232 подключается через преобразователь интерфейса RS-232 в RS-485, например, Ж-232С (рис. 15). Для построения сети рекомендуется использовать экранированную витую пару проводов.

Любые разрывы зависимости импеданса линии от пространственной координаты вызывают отражения и искажения сигналов. Чтобы избежать отражений на концах линии, к ним подключают согласующие резисторы (рис. 24). Сопротивление резисторов должно быть равно волновому сопротивлению линии передачи сигнала. Если на конце линии сосредоточено много приемников сигнала, то при выборе сопротивления согласующего резистора надо учитывать, что входные сопротивления приемников оказываются соединенными параллельно между собой и параллельно согласующему резистору. В этом случае суммарное сопротивление приемников сигнала и согласующего резистора должно быть равно волновому сопротивлению линии. Поэтому на рис. 24 показано сопротивление R = 120 Ом, хотя волновое сопротивление линии равно 100 Ом. Чем больше приемников сигнала на конце линии, тем большее сопротивление должен иметь терминальный резистор.

Рис. 23. Применение модуля для стабилизации температуры. Управляющий компьютер и преобразователь интерфейса после конфигурирования модуля могут быть исключены из системы
Рис. 24. Соединение нескольких модулей в сеть на основе интерфейса RS-485
Рис. 24. Соединение нескольких модулей в сеть на основе интерфейса RS-485

Наилучшей топологией сети является длинная линия, к которой в разных местах подключены адресуемые устройства (рис. 24). Структура сети в виде звезды не рекомендуется в связи со множественностью отражений сигналов и проблемами ее согласования.

4. ОРС-сервер

Модули управляются посылкой команд в ASCII-кодах через порт RS-232 любого компьютера. Например, чтобы получить из модуля все напряжения на его входах, посылают команду #AA, для компенсации напряжения нуля при калибровке посылают команду $AA1, где АА — адрес модуля в сети. Посылать такие команды можно, например, с помощью программы Hyper Terminal, которая входит в стандартную поставку Windows. Однако для упрощения управления модулями разработан ОРС-сервер, который позволяет управлять модулями из широко известных программ LabView, MATLAB, Excel, Word, Access. Для самостоятельного программирования на Visual C++, Visual Basic и VBA кроме ОРС-интерфейса разработан более простой в изучении интерфейс EasyAccess c сокращенным набором функций.

ОРС-сервер NLopc для модулей RealLab! соответствует международной спецификации OPC Data Access 2.0. Сервер обеспечивает доступ к переменным модулей неограниченному числу клиентских программ. Сервер NLopc имеет следующие особенности:

  • возможность задания различных прав доступа к тегам (входным переменным) для различных клиентов сервера;
  • возможность добавления новых устройств в расширяемую библиотеку драйверов;
  • содержит встроенный скрипт VBScript для описания пользовательских конверторов входных переменных;
  • поддерживает пользовательские DLL-библиотеки для описания сложных конверторов входных переменных;
  • кроме стандартного ОРС-интерфейса имеет дополнительный упрощенный COM-ин-терфейс EasyAccess для управления устройствами;
  • одержит объект, служащий для интеграции сервера NLopc и OPC-серверов сторонних производителей с программами, не поддерживающими OPC, но поддерживающими

OLE, например MS Excel, MATLAB.

OPC (OLE for Process Control) — стандартизованные интерфейсы для технологии OLE от Microsoft, предназначенные для применения в области компьютерной автоматизации [2]. Стандарт ОРС разработан международным фондом OPC Foundation, который был создан фирмами Fisher-Rosemount, Intellution, Intuitive Technology, Opto22, Rockwell и Siemens в 1995 году. В 1996 году появилась первая версия спецификации ОРС.

ОРС в настоящее время является общепризнанным стандартом. Сегодня практически все производители программного и аппаратного обеспечения средств автоматизации разрабатывают продукты, соответствующие этому стандарту.

За последние несколько лет ОРС-серверы полностью вытеснили серверы DDE (Dynamic Data Exchange) и специализированные драйверы для аппаратных средств автоматизации. DDE — самый старый (время появления — 1989-1991 годы) и очень медленный способ динамического обмена данными между Windows-приложениями был со временем заменен (преобразован) в OLE (Object Linking and Embedding). OLE первоначально и до середины 90-х годов использовался исключительно Microsoft для обмена данными между ее офисными приложениями. Во время разработки Windows NT появилась технология DCOM (Distributed Componet Object Model) как продолжение технологии COM. DCOM была разработана для распределенных клиент-серверных приложений. Один клиент мог одновременно использовать несколько серверов, установленных на разных компьютерах в сети, и каждый сервер одновременно мог обслуживать несколько клиентов. В настоящее время ОРС базируется практически исключительно на технологии DCOM фирмы Microsoft для распределенных систем. Главным понятием DCOM является понятие интерфейса, посредством которого объекты DCOM обслуживают клиентов.

Главное окно программы NLopc показано на рис. 25. В левой половине отображается дерево представления устройств, которые подключены к компьютеру или для которых созданы их «образы», а также логические группы тегов (то есть входных или выходных сигналов модулей). В правой половине отображается список тегов устройства или список тегов логической группы тегов, которые выбраны в левой половине окна. При нажатии кнопки обновления значений тегов принимаемые ОРС-сервером величины отображаются в графе «Значение».

Рис. 25. Главное окно программы NLopc
Рис. 25. Главное окно программы NLopc

4.1. Конвертирование входных величин с помощью VBSCRIPT

При подключении к модулям нестандартных датчиков может потребоваться особая, задаваемая пользователем линеаризация характеристик или компенсация погрешностей. Конвертор полезен, когда, например, устройство передает данные от терморезистив-ного преобразователя в омах, а требуется иметь данные в градусах, или когда датчик выдает частотный сигнал от анемометра, аего надо преобразовать в скорость ветра. Другим примером может быть применение линейной коррекции мультипликативной и аддитивной погрешности датчиков или измерительных преобразователей при их калибровке, а также применение нелинейных функций линеаризации (как, например, для термопар или термопреобразователей сопротивления). Для решения этой задачи ОРС-сервер NLopc снабжен библиотекой конверторов. Библиотека конверторов сервера NLopc представляет собой динамически подключаемую библиотеку (DLL), которая при необходимости может быть написана пользователем на любом языке программирования. Однако для оперативного преобразования сигналов, поступающих от модулей, в ОРС-сервер встроен скрипт VBScript, который позволяет задать любую функцию конвертирования непосредственно из окна ОРС-сервера (рис. 26).

Рис. 26. Окно редактора VBScript
Рис. 26. Окно редактора VBScript

Конвертор, написанный на языке VBScript, представляет собой реализацию функции вида:

Здесь value — входная конвертируемая величина; Convert — результат конвертирования; f(value) — некоторая функция, например, sin(value), 2*valueA2 и т. п. Апострофом в VBScript помечаются комментарии. Возвращаемое функцией значение будет передано клиентам ОРС-сервера как преобразованное значение тега.

При нажатии кнопки «Принять» (рис. 26) происходит проверка скрипта на отсутствие синтаксических ошибок интерпретатором VBScript. Корректный скрипт принимается, и в окне свойств тега появляется график передаточной функции конвертора.

Полное описание встроенного VBScript можно найти в описании Windows или на вэб-узле компании Microsoft.

ОРС-сервер NLopc позволяет управлять подключением и правами доступа к тегам для различных пользователей в пределах локальной сети.

4.2. Интерфейс к MATLAB, LABVIEW, MS EXCEL

Описываемый ниже интерфейс служит для интеграции серверов стандарта ОРС Data Access с клиентами, не поддерживающими стандарт ОРС, но поддерживающими OLE. Он является буфером, преобразующим стандартные вызовы OPC в стандартные вызовы автоматизации OLE. Например, он может быть использован для получения данных от ОРС-сервера для программ MATLAB, LabView, MS Office.

Интерфейс объекта состоит из четырех функций:

  • OpcOpenServer() — для создания соединения с ОРС-сервером;
  • OpcReadItem() — для чтения данных на входе устройства;
  • OpcWriteItem() — для записи данных в устройство;
  • OpcCloseServer() — разрыв связи с сервером.

Функция OpcOpenServer() создает соединение с выбранным OPC-сервером на выбранном компьютере. Она имеет следующий синтаксис (на языке Visual Basic): где servername — имя сервера (NLopc.Server) serverlocation — имя компьютера в сети на котором расположен ОРС-сервер. Возвра щается значение True в случае успеха, False — в случае неудачи.

Рис. 27. Окно для выбора конвертора входной переменной
Рис. 27. Окно для выбора конвертора входной переменной

Функция OpcReadItem() предназначена для чтения данных из указанного тега сервера, соединенного с объектом OPCWrapper.Service. Прототип функции на языке Visual Basic имеет вид:

Здесь tagname — полное имя тега сервера ОРС. Полное имя тега состоит из перечисления родительских групп тега, разделенных точкой, и имени тега. Так, например, для тега «Vin1» группы «NL-8AI» имя тега будет NL-8AI.Vin1. Возвращаемое значение — прочитанное значение тега.

Функция OpcWriteItem() предназначена для записи данных в указанный тег сервера, соединенного с объектом OPCWrapper.Service. Прототип функции на языке Visual Basic:

Приведем пример использования функции в Visual Basic и VBA:

5. MS Excel и объекты ActiveX

Широко известная программа MS Excel является превосходной средой для реализации алгоритмов управления экспериментом, обработки и визуализации его результатов [3, 4]. При этом используются не только вычисления в ячейках, но и встроенный в MS Excel язык Visual Basic for Application (VBA). Ниже предлагается набор дополнительных объектов ActiveX, которые позволяют еще более упростить и ускорить процесс достижения цели для людей, не имеющих навыков программирования.

Каждый объект ActiveX позволяет выполнить поиск ОРС-серверов в локальной сети с помощью браузера тегов (рис. 29). В левой части окна Tag Browser выбирается ОРС-сер-вер, находящийся на любом компьютере локальной сети. При выборе сервера происходит считывание его «пространства имен» (набора тегов) в правую часть окна. Пользователь должен выбрать требуемые ему теги и нажать кнопку «ОК». Выбранные теги будут добавлены в ActiveX-объект, из которого был вызван браузер тегов.

5.1. ACTIVEX-объект NLDIGI

Наиболее часто используемым ActiveX-объектом является цифровое табло (рис. 28).

Оно предназначено для динамического отображения входной величины в цифровом виде. Входной может быть также величина, заданная из программы на VBA, входящей в состав MS Excel.

Рис. 28. Внешний вид цифрового табло NLdigi
Рис. 28. Внешний вид цифрового табло NLdigi

При задании в качестве входной величины тега OPC-сервера объект NLdigi может осуществлять циклическое (динамическое) чтение значения тега с задаваемым периодом. При этом данные, получаемые из устройства ввода, будут обновляться на табло по мере их поступления.

ActievX-объект NLdigi позволяет также задавать с клавиатуры значения, выводимые из компьютера через модули вывода.

Рис. 29. Окно объекта Tag Browser
Рис. 29. Окно объекта Tag Browser

5.2. ACTIVEX-объект NLGRAPH Внешний вид объекта NLgraph представлен на рис. 30. Он предназначен для динамического отображения входной величины в виде «столбика». Объект может принимать как горизонтальное положение, так и вертикальное, в зависимости от соотношения его ширины и высоты.

Рис. 30. Внешний вид объекта NLgraph
Рис. 30. Внешний вид объекта NLgraph

Входной может быть величина, устанавливаемая из VBA или непосредственно из тега. В последнем случае объект может осуществлять циклическое чтение значения тега. Окно свойств объекта NLgraph изображено на рис. 31.

Рис. 31. Окно свойств объекта NLgraph
Рис. 31. Окно свойств объекта NLgraph

В окне Tag name задается имя тега, служащего входной величиной объекта. Имя тега может задаваться как вручную, так и при помощи объекта Tag Browser (рис. 29). В окнах Min value и Max value задаются минимальная и максимальная величина, отображаемая на шкале объекта. В поле Updating задается период обновления значения тега ОРС-сер-вера в миллисекундах. В полях Levels at percent задаются цветовые уровни в процентах от ширины шкалы. Окно Data bar предназначено для задания цвета столбика данных.

При щелчке по цветному окну Data bar появляется стандартное диалоговое окно выбора цвета. Задания параметров через окно свойств объекта NLgraph вполне достаточно для работы объекта с ОРС-серверами.

5.3. ACTIVEX-объект NLVIEW Объект NLview предназначен для динамического отображения данных на графике в виде зависимости Y = f(x). На одном ActiveX-объекте можно построить практически неограниченное количество кривых. Ось абсцисс графика может быть представлена в формате «время/дата» или в обычном формате вещественного числа. Поле построения графиков поддерживает функцию прокрутки при помощи перемещения мыши (правая кнопка при этом должна быть нажата) и функцию «электронной лупы» для увеличения выбранного участка графика.

Для удобной настройки объекта имеется окно свойств, позволяющее задавать теги, диапазон их изменения, цвет линии. По умолчанию цвета линий задаются автоматически случайным образом. Задаются также глубина буфера данных, частота обновления тегов, цвет заднего фона, сетки, линеек и цвет обозначений на осях.

Для задания собственных линий, не связанных с тегами ОРС-серверов, а также для вывода любых графиков из VBA объект имеет набор методов и свойств, которые можно использовать при программировании на VBA.

5.4. издание других органов управления средствами EXCEL

Примеры типовых органов управления, функционирующих в MS Excel, представлены на рис. 32. Это «оживленные» рисунки, выполненные в любом пиксельном формате и вставленные на лист Excel. При нажатии мышкой на правую стрелку переключателя пределов измерения (рис. 32а) белая точка, указывающая предел измерения, перемещается на один шаг по часовой стрелке; при нажатии на левую кнопку точка движется в обратном направлении. При этом в заранее заданной ячейке Excel (например, A3) появляется число, указывающее номер позиции переключателя. Этот номер можно использовать, например, для масштабирования данных, принятых от датчика.

Точка, указывающая положение переключателя на рис. 32а является овалом, нарисованным средствами Excel. Она не может быть рисунком в пиксельном формате, поскольку VBA, входящий в состав Excel, не позволяет выполнять поворот растровых рисунков.

Важно отметить, что код, управляющий движением рассматриваемых ниже органов управления и контроля, можно не писать, а включить режим записи макроса и в это время произвести нужные операции над создаваемым объектом. В результате Excel автоматически создаст код, выполняющий то, что вы делали вручную. Это избавляет вас от изучения языка VBA. Конечно, желательно понимать смысл того, что создал вместо вас мастер макросов MS Excel, но для этого достаточно знать английский язык, который помогает угадать смысл отдельных команд записанного макроса.

Рис. 32. Примеры типовых элементов виртуальных приборов, созданных в MS Excel
Рис. 32. Примеры типовых элементов виртуальных приборов, созданных в MS Excel

Макрос, перемещающий точку по часовой стрелке (на рис. 32а), выглядит следующим образом:

Здесь первая строка считывает начальную позицию переключателя, которая хранится в ячейке A3 на листе «Gauge». Вторая строка выполняет поворот точки «Point» относительно центра вращения на угол 22°. Для создания центра вращения в нужном месте следует создать вторую точку симметрично относительно центра ручки, сделать ее невидимой и сгруппировать с видимой точкой. Такая группа в нашем примере названа «Point». Третья строка представляет собой стандартный счетчик с приращением 1, четвертая строка записывает значение счетчика в ячейку A3. Переменную GaugePosition можно использовать в дальнейшем для масштабирования принятых данных.

Слайдер (рис. 32$) является стандартным элементом Excel, мы добавили к нему лишь шкалу. Позиция указателя записывается в ячейку, которую вы выбираете сами. Кнопки «СТОП» и «ПУСК» (рис. 323) являются стандартными кнопками MS Excel, мы только изменили их цвет. Оригинальная кнопка (рис. 32е) является растровым рисунком, а зеленый «светодиод» на ней — векторным рисунком, выполненным средствами Excel. При нажатии кнопки светодиод «гаснет», то есть его цвет изменяется на серый. При этом в ячейку А6 записывается значение «False», при повторном нажатии светодиод загорается, и в ячейку записывается значение «True»:

Третья строчка кода делает «светодиод» видимым (Fill.Visible = msoTrue), а шестая — «гасит» его.

MS Excel позволяет «закрепить» каждый элемент на листе, защитить его от случайного удаления и защитить весь рабочий лист. Ввод данных можно выполнять непосредственно в ячейки рабочего листа Excel, в текстовые поля или в специальные элементы управления, поставляемые в составе MS Excel.

Отметим некоторые общие особенности создания программ автоматизации эксперимента с помощью MS Excel. После отладки программы ее следует защитить от случайной порчи исходного текста. Для этого используется пункт меню «Сервис/Защита». Перед защитой в свойствах каждого элемента следует указать, должен ли он быть защищен после защиты всего листа. Если некоторые элементы должны изменяться программно, сначала нужно снять их защиту, а после модификации элемента вновь защитить его. Однако есть более простой способ: поверх изменяемого элемента можно положить «стекло» — прозрачный растровый рисунок — и защитить его. Тогда пользователю лежащие под «стеклом» объекты будут недоступны, а программа cможет их модифицировать.

При передаче такой программы заказчику ее текст можно скрыть с помощью пункта меню VBA «Tools/VBA Project Properties)) и назначить пароль, который не позволит пользоваться исходным текстом программы без санкции поставщика.

6. Пример стенда для приемо-сдаточных испытаний

Рассмотрим реализованный нами по описанной выше методике стенд для приемосдаточных испытаний электронных модулей, аттестованный органами государственной метрологической службы и используемый в серийном производстве. В состав стенда входит камера тепла, камера холода, термостат, модули серии NL производства RLDA, вольтметр HP34401A. Стенд позволяет выполнить в автоматическом режиме измерения следующих параметров:

  • основная и дополнительная погрешность измерения напряжения;
  • основная и дополнительная погрешность измерения тока;
  • основная и дополнительная погрешность измерения сопротивления;
  • основная и дополнительная погрешность измерения частоты следования импульсов;
  • погрешность компенсации температуры холодного спая термопары;
  • временная нестабильность источника опорного напряжения;
  • зависимость погрешности измерения от уровня входного напряжения;
  • взаимное влияние входов;
  • взаимное влияние выходов;
  • ток утечки закрытых выходных ключей;
  • напряжение логического нуля на входе;
  • напряжение логической единицы на входе;
  • напряжение логического нуля на выходе;
  • ток утечки дискретных выходов;
  • ток утечки потенциальных входов;
  • скорость передачи информации в порт

RS-232.

Стенд позволяет также строить разнообразные графики, примеры которых представлены ниже. Для управления камерой холода с сосудом Дюара использован модуль NL-4RTD, который измеряет температуру с помощью датчика ТСМ-50 и поддерживает ее путем управления клапаном подачи жидкого азота. Модуль закреплен непосредственно на камере холода. Аналогичный модуль, управляющий нагревательными элементами, закреплен на камере тепла. Модули NL-8AI [1] считывают показания датчиков влажности воздуха в камерах.

Модули, обеспечивающие подачу на испытуемый прибор сигналов и считывание результатов, помещены в общий шкаф (рис. 33).

Все модули стенда объединены в сеть на основе интерфейса RS-485 и включены в офисную сеть Ethernet, что позволяет главному инженеру, начальнику отдела НИОКР и разработчикам системы наблюдать за процессом испытаний со своих рабочих мест.

Рис. 33. Часть испытательного стенда, смонтированная в шкафу
Рис. 33. Часть испытательного стенда, смонтированная в шкафу

Измеряемые стендом параметры записаны на листе MS Excel (рис. 34). При нажатии кнопки «Автоматическая проверка» происходит синтаксический анализ имен проверяемых параметров и вызов соответствующего макроса VBA, который выполняет измерение данного параметра. Полученные значения записываются в колонку «Измерено» и сравниваются со значениями, указанными в ТУ. Результат сравнения указывается в столбце «Годен/Негоден».

Весь список параметров проверяется автоматически, без участия оператора. Оператору остается только посмотреть, нет ли среди записей в столбце «Годен/Негоден» записи, выделенной красным цветом.

Рис. 34. Измеряемые в процессе приемосдаточных испытаний параметры записываются на лист Excel непосредственно из порта RS-485 модулей серии NL и сравниваются с данными из ТУ
Рис. 34. Измеряемые в процессе приемосдаточных испытаний параметры записываются на лист Excel непосредственно из порта RS-485 модулей серии NL и сравниваются с данными из ТУ

Отдельный параметр может быть проверен в ручном режиме путем нажатия кнопки «Проверка команды выделенной курсором», для чего клетку с именем проверяемого параметра нужно сначала выделить курсором.

Применение компьютера позволяет не только автоматизировать испытания, но и выполнить уникальные измерения, например, получить гистограмму плотности распределения случайной величины — напряжения на выходе источника опорного напряжения (рис. 35), построенную на основе 1700 измерений, или построить зависимость абсолютной погрешности измерения температуры датчиком температуры холодного спая термопары от величины температуры ее холодного спая (рис. 36). Резкие скачки температуры на графике (на 0,2 °С) получаются, когда в термостат со льдом подбрасывают лед.

На рис. 37 представлена зависимость абсолютной погрешности измерения испытуемого прибора от величины входного напряжения, построенная за 15 мин. Эту зависимость вручную можно построить только за несколько дней. На рис. 38 представлена зависимость напряжения опорного источника напряжения от времени, необходимая для оценки его временной стабильности. По оси абсцисс указан номер отсчета, что эквивалентно времени, полученному из условия, что измерения происходят с периодичностью 2 раза в секунду. Описанные графики получены с помощью ActiveX-объекта NLView в реальном времени, то есть данные отображаются на графике по мере их поступления из устройства ввода, без сбора в промежуточный файл. Это позволяет остановить или скорректировать проводимый эксперимент по мере его проведения.

Рис. 35. Плотность распределения отклонений напряжения на выходе источника опорного напряжения стенда от линии среднеквадратической регрессии (1700 отсчетов), полученная в автоматическом режиме
Рис. 35. Плотность распределения отклонений напряжения на выходе источника опорного напряжения стенда от линии среднеквадратической регрессии (1700 отсчетов), полученная в автоматическом режиме
Рис. 36. Зависимость абсолютной погрешности датчика температуры холодного спая термопары от температуры холодного спая. По оси абсцисс — 8 град/дел., по оси ординат температура указана в сантиградусах, 0,13 град/дел.
Рис. 36. Зависимость абсолютной погрешности датчика температуры холодного спая термопары от температуры холодного спая. По оси абсцисс — 8 град/дел., по оси ординат температура указана в сантиградусах, 0,13 град/дел.

Следует обратить внимание, что на оси абсцисс графиков на рис. 36-37 отложено не время, а напряжение или температура, хотя вновь поступившие данные отображаются на графике по мере их получения. Аналогичным способом можно снять зависимость, например, коэффициента усиления транзистора от температуры или его вольт-амперную характеристику, АЧХ четырехполюсника, зависимость частоты вибрации от амплитуды смещения, зависимость температуры пара от давления в котле, зависимость относительного растяжения образца от усилия растяжения и т. п.

Рис. 37. Зависимость абсолютной погрешности измерения модуля NL-8TI для диапазона измерений ±15 мкВ от величины входного измеряемого напряжения
Рис. 37. Зависимость абсолютной погрешности измерения модуля NL-8TI для диапазона измерений ±15 мкВ от величины входного измеряемого напряжения
Рис. 38. Зависимость напряжения опорного источника от номера отсчета; отсчеты взяты с частотой 2 Гц
Рис. 38. Зависимость напряжения опорного источника от номера отсчета; отсчеты взяты с частотой 2 Гц

7. Выводы

В статье рассмотрены основные принципы построения автоматизированных испытательных стендов с помощью модулей RealLab!, ОРС-сервера и программы MS Excel. Использование этих универсальных компонентов позволяет планировать испытания различной сложности при низкой стоимости разработки программного обеспечения и аппаратной части системы.

Литература

  1. www.RLDA.ru.
  2. Frank Iwanitz, Jurgen Lange. OPC Fundamentals, Implementation, and Application. — 2 rev. ed. Heidelberg: Huting, 2002.
  3. Sanchez P. M., Cruz P. J. Real time connection of programmable logic controllers to Excel spreadsheets // Proc. of the 2002 IEEE Int. Symposium on Industrial Electronics. 2002. Vol. 1.
  4. Денисенко В. В. Применение MS Excel в качестве SCADA системы для лабораторной и промышленной автоматизации // Компоненты и технологии. 2001. № 6.
  5. Закон об обеспечении единства измерений. № 4871-1 от 27 апреля 1993 г.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *