Разработка верхнего уровня АСУТП в среде SCADA-системы Citect 6.0, страница 11

Аналогично мнемосхеме процесса выщелачивания в вертикальных аппаратах создается страница (PID) ввода настроек ПИД-регуляторов (рисунок 34) в режиме исполнения.

Для отображения составляющих закона регулирования «Kp», «Ki», «Kd» в режиме исполнения используются объекты типа «Number» (рисунок 35).

В окне установки свойств «NumericExpression» страницы «Appearance» объектов «Number» для «Kp», «Ki», «Kd» вводятся соответственно выражения:

- для ПИД-регулятора первого аппарата – «kp_01*200/32000», «ki_01*5/32000», «kd_01*10/32000»;

- для ПИД-регулятора второго аппарата – «kp_02*200/32000», «ki_02*5/32000», «kd_02*10/32000»;

- для ПИД-регулятора третьего аппарата – «kp_03*200/32000», «ki_03*5/32000», «kd_03*10/32000»;

- для ПИД-регулятора четвертого аппарата – «kp_04*200/32000», «ki_04*5/32000», «kd_04*10/32000»;

- для ПИД-регулятора пятого аппарата – «kp_05*200/32000», «ki_05*5/32000», «kd_05*10/32000».

Числа «200», «5» и «10» являются верхними пределами шкалы изменения составляющих закона регулирования.

Рисунок 34-Страница настроек ПИД-регуляторов в режиме разработки

Рисунок 35-Часть страницы настроек ПИД-регуляторов

В поле «Upcommand» окна установки свойств кнопок (рисунок 36) для изменения значений составляющих законов регулирования вводятся выражения соответственно (для пяти аппаратов):

- для кнопок «Kp» – «kp_01=kp_01+32000*0.1/200»,  «kp_02=kp_02+32000*0,1/200», «kp_03=kp_03+32000*0,1/200»,  «kp_04=kp_04+32000*0,4/200», «kp_05=kp_05+32000*0,1/200» (для увеличения значения на 0,1) и «kp_01=kp_01-32000*0,1/200», «kp_02=kp_02-32000*0,2/200», «kp_03=kp_03-32000*0,1/200», «kp_04=kp_04-32000*0,1/200», «kp_05=kp_05-32000* *0,1/200» (для уменьшения значения на 0,1);

- для кнопок «Ki» – «ki_01=ki_01+32000*0.01/5», «ki_02=ki_02+32000*0,01/5», «ki_03=ki_03+32000*0,01/5», «ki_04=ki_04+32000*0,01/5», «ki_05=ki_06+32000*0,01/5» (для увеличения значения на 0,1) и «ki_01=ki_01-32000*0,01/5», «ki_02=ki_02-32000*0,01/5», «ki_03=ki_03-32000*0,01/5», «ki_04=ki_04-32000*0,01/5», «ki_05=ki_05-32000*0,01/5» (для уменьшения значения на 0,1);

- для кнопок «Kd» – «kd_01=kd_01+32000*0,01/10», «kd_02=kd_02+32000*0,01/10», «kd_03=kd_03+32000*0,01/10», «kd_04=kd_04+32000*0,01/10», «kd_05=kd_05+32000*0,01/10», (для увеличения значения на 0,01) и «kd_01=kd_01-32000*0,01/10», «kd_02=kd_02-32000*0,01/10», «kd_03=kd_03-32000*0,01/10», «kd_04=kd_04-32000*0,01/10», «kd_05=kd_05-32000*0,01/10» (для уменьшения значения на 0,01).

Условия, ограничивающие изменение составляющих закона регулирования реализованы с помощью объектов «Cicode»:

if kp_01<0 then kp_01=kp_01*0 end

if kp_01>32000 then kp_01=32000 end

if ki_01<0 then ki_01=ki_01*0 end

if ki_01>32000 then ki_01=32000 end

if kd_01<0 then kd_01=kp_01*0 end

if kd_01>32000 then kd_01=32000 end

/*Для ПИД-регулятора аппарата №1*/

if kp_02<0 then kp_02=kp_02*0 end

if kp_02>32000 then kp_02=32000 end

if ki_02<0 then ki_02=ki_02*0 end

if ki_02>32000 then ki_02=32000 end

if kd_02<0 then kd_02=kp_02*0 end

if kd_02>32000 then kd_02=32000 end

/*Для ПИД-регулятора аппарата №2*/

if kp_03<0 then kp_03=kp_03*0 end

if kp_03>32000 then kp_03=32000 end

if ki_03<0 then ki_03=ki_03*0 end

if ki_03>32000 then ki_03=32000 end

if kd_03<0 then kd_03=kp_03*0 end

if kd_03>32000 then kd_03=32000 end

/*Для ПИД-регулятора аппарата №3*/

if kp_04<0 then kp_04=kp_04*0 end

if kp_04>32000 then kp_04=32000 end

if ki_04<0 then ki_04=ki_04*0 end

if ki_04>32000 then ki_04=32000 end

if kd_04<0 then kd_04=kp_04*0 end

if kd_04>32000 then kd_04=32000 end

/*Для ПИД-регулятора аппарата №4*/

if kp_05<0 then kp_01=kp_01*0 end

if kp_05>32000 then kp_05=32000 end

if ki_05<0 then ki_05=ki_05*0 end

if ki_05>32000 then ki_05=32000 end

if kd_05<0 then kd_05=kp_05*0 end

if kd_05>32000 then kd_05=32000 end

/*Для ПИД-регулятора аппарата №5*/

Рисунок 36-Кнопки для изменения составляющих

закона регулирования на 0,1