![](/user_photo/2706_HbeT2.jpg)
- •2. Выбор аппаратных средств
- •2.1 Функциональные возможности и технические характеристики аппаратных средств
- •3.1 Настройка устройств
- •3.3 Настройка сети
- •3.4 Описание рабочей программы в среде Genie
- •3.5 GenieDaq
- •3.5.1 Краткая характеристика среды GenieDaq
- •3.5.2 Настройка сети в GenieDaq
- •3.5.3 Описание рабочей программы в среде GenieDaq
- •3.6 Описание программы – модели
- •3.7 Пояснение к экранным формам интерфейса оператора рабочей программы
- •3.8 Пояснение к экранным формам интерфейса оператора программы-модели
- •3.9 Краткое описание функциональных блоков стратегии, элементов отображения и управления
- •Заключение
- •Список использованных источников
3.5.3 Описание рабочей программы в среде GenieDaq
ПК Объект№1 |
ПК Объект№2 |
|
|
ПК Объект№3 | |
| |
ПК Объект№4 | |
|
Рисунок 14 – Схема задач рабочей программы в среде GenieDAQ
genie программа сбор данное
Реализация рабочей программы в среде GenieDAQ полностью аналогична реализации ее в среде Genie, за исключением механизма приема и передачи данных между объектами, в среде GenieDAQ используется современный протокол передачи данных TCP/IP и отсутствуют блоки NETOUT, так как нет необходимости указывать объект пересылки,
поскольку изначально все значения тэгов стратегии доступны для передачи по сети, а для получения конкретного значения удаленного объекта (тэга) служит блок NETIN.
3.6 Описание программы – модели
ПК Объект№1 |
ПК Объект№2 |
|
|
ПК Объект№3 | |
| |
ПК Объект№4 | |
|
Рисунок 15 – Схема задач программы-модели в среде Genie
В стратегии-модели ввод значений аналоговых и дискретных параметров объектов осуществляется, через элементы форм интерфейсов оператора (инкрементные регуляторы – для ввода значений параметров, кнопки с двумя состояниями – для моделирования дискретных выходных сигналов объектов).
Передача сигналов производится с помощью механизма динамического обмена данными DDE, реализованного в программной среде Genie при помощи соответствующих блоков DDES – сервер и DDEC – клиент.
Работа Basic-сценариев осуществляется с учетом режима моделирования.
Рисунок 16 – Задача 1
В данной задаче выполняется передача дискретного сигнала x1.1 с объекта №1, эмулируемого посредством нажатия кнопки BBTN4 на объекте №1. Передача сигнала производится с помощью механизма динамического обмена данными DDE.
Рисунок 17 – Задача 2
В данной задаче выполняется передача дискретных сигналов х2.1, х2.2,
х3.2 с объекта №2 на дискретные входы объекта №2 и прием дискретного сигнала х1.1 с объекта №1 на один из дискретных входов объекта №2. Передача реализована с помощью DDE механизма.
Рисунок 18 – Задача 3
В данной задаче производится Аналоговое ПИД регулирование соотношения двух параметров х3.1ан и х3.2ан объекта №3.
Задание
К
Рисунок
19 –Cхема
ПИД–регулирования соотношения
Задание параметра х3.1ан производится при помощи ручки регулятора и поступает в бейсик сценарий SCR2, откуда направляется в ПИД – регулятор PID1 на вход «Задание». Выход с ПИД – регулятора PID1
считывается в бейсик сценарии SCR3, откуда направляется на вход «обратная связь» ПИД – регулятора PID1. Сигнал с выхода AO1 умножается на коэффициент, который задается при помощи ручки регулятора вручную, после этого поступает на вход «Задание» ПИД – регулятора PID2. Выход с ПИД – регулятора PID2 считывается в бейсик сценарии SCR6 и поступает на вход «Обратная связь» ПИД – регулятора PID2.
Листинг basic-сценария SCR3 модели стратегии ПК объекта №3 (TASK3)
Public stopped as integer
Public manual as integer
Sub SCR3()
Set pid_reg1 = GetTag("TASK3","PID1") 'vixod PID x3.1
Set koef1 = GetTag("DISP3", "SPIN4") 'pomexa na vixode PID1
if stopped = 0 then // Проверка условия остановки задачи
outputf pid_reg1+koef1 // Выход =сигнал+помеха
else //Если получен сигнал остановки, то
stop //Остановка выполнения сценария
end if
End Sub
Данный сценарий используется для получения сигнала с выхода PID1 и добавления к нему помехи, для проверки качества регулирования.
Листинг basic-сценария SCR2 модели стратегии ПК объекта №3 (TASK3)
Public stopped as integer
Public spd as integer
Sub SCR2()
set a = gettag("disp3","SPIN1") 'zadat4ik x3.1
set b = gettag("disp3","nctl1") 'koef P
set c = gettag("disp3","nctl2") 'koef D
set d = gettag("disp3","nctl3") 'koef E
if stopped = 0 then
outputf a
outputf 1,b
outputf 2,c
outputi 3,d
end if
End Sub
Данный сценарий используется для получения всех необходимых параметров для блока PID1: Задание, коэффициенты P, I, D, задаваемые при помощи регуляторов на соответствующей экранной форме.
Листинг basic-сценария SCR5 модели стратегии ПК объекта №3 (TASK3)
Public stopped as integer
Public manual as integer
Sub SCR5()
set a = gettag("task3","AO1")
set b = gettag("disp3","nctl4")
set c = gettag("disp3","nctl5")
set d = gettag("disp3","nctl6")
set f = gettag("DISP3","SPIN1")
set g = gettag("DISP3","SPIN6")
Set koef = GetTag("DISP3", "SPIN2")
if stopped = 0 then
outputf a*koef
outputf 1,b
outputf 2,c
outputi 3,d
end if
if manual = 0 then
outputf 5, f*koef
else
outputf 5, g*koef
end if
End Sub
Этот бейсик сценарий, используется для получения необходимых сигналов для PID – регулятора PID2, а также для остановки обработки данных.
Листинг basic-сценария SCR6 модели стратегии ПК объекта №3 (TASK3)
Public stopped as integer
Public manual as integer
Sub SCR6()
Set koef2 = GetTag("DISP3", "SPIN5") 'Pomexa na vixode PID2
Set x3_1 = GetTag("DISP3", "SPIN1") 'zadat4uk x3.1
Set x3_2_max = GetTag("DISP3", "SPIN3") 'maximum x3.2
Set pid_reg2 = GetTag("TASK3","PID2") 'vixod PID x3.2
Set pid_reg1 = GetTag("DISP3","SPIN6") 'zadat4ik X3.1
Set koef = GetTag("DISP3", "SPIN2") 'koefficient K
if stopped = 0 then
outputf 0, pid_reg2+koef2
else
stop
end if
End Sub
Данный бейсик сценарий содержит все необходимое для получения сигнала с выхода PID – регулятора PID2, добавления к нему помехи, для проверки качества регулирования, а также для остановки выполнения обработки данных.
Для проверки условия активизации ручного управления используется бейсик сценарий SCR4:
Public stopped as integer
Public manual as integer
Sub SCR4()
dim do_5 as Tag
Set do_5 = GetTag("TASK3","DO5") 'stop? task3
Set a_m = GetTag("DISP3","CBTN1") 'manual or auto?
if do_5 = 1 then
stopped = 1
else
stopped =0
end if
if a_m = 1 then
manual = 1
else
manual =0
end if
End Sub
Бейсик сценарии SCR7 и SCR8 используются для включения ручного, либо автоматического управления, в зависимости от значения переменной manual, определяемой в бейсик сценарии SCR4.
Листинг basic-сценария SCR7 модели стратегии ПК объекта №3 (TASK3)
Public manual as integer
Sub SCR7()
Set pid_reg1 = GetTag("VIRTASK","VT1") 'vixod PID x3.1
Set pid1_manual = GetTag("DISP3", "SPIN6") 'ry4noe ypravlenie
if manual=0 then 'manual or auto?
outputf pid_reg1
else
outputf pid1_manual
end if
End Sub
Листинг basic-сценария SCR8 модели стратегии ПК объекта №3 (TASK3)
Public manual as integer
Sub SCR8()
Set pid_reg2 = GetTag("VIRTASK","VT2") 'vixod PID x3.2
Set koef = GetTag("DISP3", "SPIN2") 'koefficient K
Set pid_reg1 = GetTag("DISP3","SPIN6") 'zadat4ik X3.1
if manual = 0 then 'manual or auto?
outputf pid_reg2
else
outputf pid_reg1*koef
end if
End Sub