Выбор технических средств для системы сбора данных и управления и разработка программы на базе SCADA "Genie"
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
о для приема данных из локальной сети.
Рисунок 13 - Настройка блока получения данных NETIN
Local node name - имя удаленного узла - сервера, выступающего в роли источника данных.
Task name, Tag name и Channels - задают имя задачи, тэга и его канал на выбранном удаленном узле, откуда будут поступать данные.
Data Type - задает тип данных выбранного тэга, он может быть целым, с плавающей точкой, а также строкой.
Default Value - задает значение по умолчанию, которое будет присвоено, если отсутствует соединение с сервером.
Если удаленная стратегия в данный момент запущена, то кнопка Browse позволяет выбрать имя задачи и тэга на удаленной машине в режиме он-лайн.
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-iенариев осуществляется с учетом режима моделирования.
Рисунок 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ан производится при помощи ручки регулятора и поступает в бейсик iенарий SCR2, откуда направляется в ПИД - регулятор PID1 на вход Задание. Выход с ПИД - регулятора PID1 считывается в бейсик iенарии SCR3, откуда направляется на вход обратная связь ПИД - регулятора PID1. Сигнал с выхода AO1 умножается на коэффициент, который задается при помощи ручки регулятора вручную, после этого поступает на вход Задание ПИД - регулятора PID2. Выход с ПИД - регулятора PID2 считывается в бейсик iенарии SCR6 и поступает на вход Обратная связь ПИД - регулятора PID2.
Листинг basic-iенария SCR3 модели стратегии ПК объекта №3 (TASK3)
Public stopped as integermanual as integerSCR3()pid_reg1 = GetTag("TASK3","PID1") 'vixod PID x3.1koef1 = GetTag("DISP3", "SPIN4") 'pomexa na vixode PID1 stopped = 0 then // Проверка условия остановки задачи
outputf pid_reg1+koef1 // Выход =сигнал+помеха
else //Если получен сигнал остановки, то
stop //Остановка выполнения iенария
end if
End Sub
Данный iенарий используется для получения сигнала с выхода PID1 и добавления к нему помехи, для проверки качества регулирования.
Листинг basic-iенария SCR2 модели стратегии ПК объекта №3 (TASK3)
Public stopped as integerspd as integerSCR2()
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
Данный iенарий используется для получения всех необходимых параметров для блока PID1: Задание, коэффициенты P, I, D, задаваемые при помощи регуляторов на соответствующей экранной форме.
Листинг basic-iенария SCR5 модели стратегии ПК объекта №3 (TASK3)
Public stopped as integermanual as integerSCR5()
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 Sub
Этот бейсик iенарий, используется для получения необходимых сигналов для PID - регулятора PID2, а также для остановки обработки данных.
Листинг basic-iенария SCR6 модели стратегии ПК объекта №3 (TASK3)
Public stopped as integermanual as integerSCR6()koef2 = GetTag("DISP3", "SPIN5") 'Pomexa na vixode PID2x3_1 = GetTag("DISP3", "SPIN1")'zadat4uk x3.1x3_2_max = GetTag("DISP3", "SPIN3") 'maximum x3.2pid_reg2 = GetTag("TASK3","PID2") 'vixod PID x3.2pid_reg1 = GetTag("DISP3","SPIN6")'zadat4ik X3.1koef = GetTag("DISP3", "SPIN2") 'koefficient Kstopped = 0 then
outputf 0, pid_reg2+koef2ifSub
Данный бейсик iенарий содержит все необходимое для получ