Электронные компоненты
Приборы, оборудование, материалы
Информационная поддержка

Unit - модуль управления и автоматизации

Версия для печати
Главная >> Unit - модуль управления и автоматизации

Unit - модуль управления и автоматизации


Данный модуль предназначен для управления и автоматизации процесса измерений при построении различных технологических программно-аппаратных комплексов на базе модулей АЦП ЦАП и анализаторов спектра.

Пользователю предоставляется возможность реализации любого алгоритма работы программ средств измерений. На любом удобном объектно-ориентированном языке программирования (MS Visual Basic, MS Visual C++, Borland Delphi, Borland C++ Builder *) пользователь создает графическую оболочку, обеспечивающую требуемый интерфейс. Затем, используя модуль управления и автоматизации Unit активизируются необходимые виртуальные приборы, и посредством команд пользовательская программа получает полный доступ к операциям, функциям и данным используемого виртуального прибора.

* При программировании на Borland Delphi и Borland C++ Builder обеспечивается ограниченная функциональность по причине особенностей данных языков программирования.

Т.о., определив сценарий работы измерительной системы и сформировав его в виде команд, пользователь имеет возможность автоматизировать процесс получения и обработки входных/выходных данных с модулей АЦП ЦАП и анализаторов спектра.

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

Примеры использования модуля управления и автоматизации (написаны на MS Visual Basic 6.0):

  • Программа "Три вольтметра - в одном";
  • Программа "Омметр".

 

Во время запуска данной программы параллельно в скрытом режиме запускаются еще 3 программы: вольтметр постоянного тока, вольтметр переменного тока и селективный вольтметр переменного тока. Пользователь выбирает канал модуля АЦП или анализатора спектра и в реальном времени в окне программы отображаются показания всех вольтметров по выбранному каналу.

Последовательность действий при создании программы:

  1. Создаем новый проект "Standart EXE";
  2. Через меню "Project -> Components" добавляем в проект два компонента: "SRV ActiveX Control Module" и "Unit ActiveX Control Module";
  3. Размещаем на форме один компонент "SRV ActiveX Control Module" и три компонента "Unit ActiveX Control Module";
  4. Добавляем и размещаем на форме необходимые элементы (Label, TextBox, ComboBox, EditBox, Button) (см. рисунок);
  5. Обрабатываем нажатие клавиши и сообщения от модуля управления:

Option Explicit

Dim error As Long

Dim p(1) As Long

Dim NumChannels As Integer                  ' Количество включенных каналов модулей АЦП

-------------------------------------------------------------------------------------------

' ==================== Кнопка "Выход"

Private Sub CmdExit_Click()

Unload MainForm

End Sub

-------------------------------------------------------------------------------------------

' ==================== Изменение канала измерения

Private Sub ComboChannels_Click()

error = Unit1.SetParam(0, ComboChannels.ListIndex) ' Устанавливаем выбранный канал в программе Вольтметра переменного тока

error = Unit2.SetParam(0, ComboChannels.ListIndex) ' Устанавливаем выбранный канал в программе Вольтметра постоянного тока

error = Unit3.SetParam(0, ComboChannels.ListIndex) ' Устанавливаем выбранный канал в программе Селективного вольтметра переменного тока

' Добавим в заголовки Caption'ов единицу измерения выбранного канала

LabelVoltMeter.Caption = "Вольтметр переменного тока, " & SRV1.Conversion(ComboChannels.ListIndex)

LabelVoltMeterDC.Caption = "Вольтметр постоянного тока, " & SRV1.Conversion(ComboChannels.ListIndex)

LabelVoltMeterSel.Caption = "Селективный вольтметр, " & SRV1.Conversion(ComboChannels.ListIndex)

End Sub

-------------------------------------------------------------------------------------------

' ==================== Загрузка главной формы программы (начало работы)

Private Sub Form_Load()

Dim i As Integer

error = Unit1.Activate("VoltMeter")                ' Активируем программу Вольтметра переменного тока

Sleep (500)                                        ' Подождем пока программа запустится

error = Unit1.ShowUnit(0)                          ' Убираем программу вольтметра с экрана

error = Unit2.Activate("VoltMeterDC")              ' Активируем программу Вольтметра постоянного тока

Sleep (500)                                        ' Подождем пока программа запустится

error = Unit2.ShowUnit(0)                          ' Убираем программу вольтметра с экрана

error = Unit3.Activate("VoltMeterSel")             ' Активируем программу Селективного вольтметра переменного тока

Sleep (500)                                        ' Подождем пока программа запустится

error = Unit3.ShowUnit(0)                          ' Убираем программу вольтметра с экрана

SRV1.Connect                                       ' Подключение к серверу

NumChannels = SRV1.QuanChan                        ' Узнаем количество включенных каналов

For i = 0 To NumChannels - 1

ComboChannels.AddItem (SRV1.Commentary(i))         ' Заполняем ComboBox названиями включенных каналов

Next i

ComboChannels.ListIndex = 0                        ' Устанавливаем канал по умолчанию

error = Unit1.SetParam(0, ComboChannels.ListIndex) ' Устанавливаем канал в программе Вольтметра переменного тока

error = Unit2.SetParam(0, ComboChannels.ListIndex) ' Устанавливаем канал в программе Вольтметра постоянного тока

error = Unit3.SetParam(0, ComboChannels.ListIndex) ' Устанавливаем канал в программе Селективного вольтметра переменного тока

' Добавим в заголовки Caption'ов единицу измерения выбранного канала

LabelVoltMeter.Caption = "Вольтметр переменного тока, " & SRV1.Conversion(ComboChannels.ListIndex)

LabelVoltMeterDC.Caption = "Вольтметр постоянного тока, " & SRV1.Conversion(ComboChannels.ListIndex)

LabelVoltMeterSel.Caption = "Селективный вольтметр, " & SRV1.Conversion(ComboChannels.ListIndex)

End Sub

-------------------------------------------------------------------------------------------

' ==================== Выгрузка главной формы программы (завершение работы)

Private Sub Form_Unload(Cancel As Integer)

error = Unit1.DisActivate           ' Выключаем программу Вольтметра переменного тока

error = Unit2.DisActivate           ' Выключаем программу Вольтметра постоянного тока

error = Unit3.DisActivate           ' Выключаем программу Селективного вольтметра переменного тока

SRV1.Disconnect                     ' Отключаемся от сервера

End

End Sub

-------------------------------------------------------------------------------------------

' ==================== Чтение данных от программы Вольтметра переменного тока

Private Sub Unit1_Ready(ByVal param As Long)

Dim size As Long                                   ' Размер считываемых данных

Dim data As Single                                 ' Данные

error = Unit1.Read(size, data, p(0))               ' Читаем данные

TextVoltMeter.Text = Format(data, "#0.0000")       ' Заполняем значениями TextBox

End Sub

-------------------------------------------------------------------------------------------

' ==================== Чтение данных от программы Вольтметра постоянного тока

Private Sub Unit2_Ready(ByVal param As Long)

Dim size As Long                                   ' Размер считываемых данных

Dim data As Single                                 ' Данные

error = Unit2.Read(size, data, p(0))               ' Читаем данные

TextVoltMeterDC.Text = Format(data, "#0.0000")     ' Заполняем значениями TextBox

End Sub

-------------------------------------------------------------------------------------------

' ==================== Чтение данных от программы Селективного вольтметра переменного тока

Private Sub Unit3_Ready(ByVal param As Long)

Dim size As Long                                   ' Размер считываемых данных

Dim data As Single                                 ' Данные

error = Unit3.Read(size, data, p(0))               ' Читаем данные

TextVoltMeterSel.Text = Format(data, "#0.0000")    ' Заполняем значениями TextBox

End Sub

 

Программа предназначена для измерения сопротивления, подключенного к входным каналам модулей АЦП ЦАП и анализаторов спектра. Во время запуска данной программы параллельно в скрытом режиме запускаются еще 2 программы: вольтметр переменного тока и генератор сигналов различной формы. Подробнее см. описание программы "Омметр".