Выбор технических средств для системы сбора данных и управления и разработка программы на базе 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енарий содержит все необходимое для получ