КОНТР-&-БАСИК

     

Заготовка для исследования переходных
процессов в ПИД-регуляторе

    Это исследовательская программа для изучения  законов регулирования. Регулятор, предназначенный для встраивания, будет содержать намного меньше строк, так как не нужно будет организовывать процедуры возмущения и коммутации звеньев. Данное приложение иллюстрирует возможности контроллера.
        Программа запрашивает коэффициенты для звеньев обратной связи и выводит значение регулируемого параметра на терминал в столбик. На терминале  включался вывод протокола в файл. После записи нескольких периодов переключения задающего параметра, запись останавливалась. Результаты, записанные в файл, были скопированы в таблицу EXCEL, таким образом, были получены графики переходных процессов.

Рис.1

         В данной программе, возмущающее воздействие приложено в виде изменения задающего параметра от 200 до 800 дискретов АЦП – 20 и 80 процентов зоны регулирования.

 

 

  REM ***************************************
REM * Отладочная версия PID регулятора *
REM * коэффициенты P,I,D пронормированы *
REM * как 100 к некоторому знаменателю. *
REM * При выводе сумма сигналов дополни- *
REM * тельно делится на 10. *
REM * Например, необходим коэффициент 0.5 *
REM * тогда *
REM * знаменатель 10 / 0.5 = 20
REM ***************************************
PRINT
print "******************************"
print "* PID-регулятор Версия 1.2 *"
print "* 02.03.2007 UA6ANN *"
print "******************************"
X=800
50 input "PROP=",L
input "INTEG=",M
input "DERIV=",Q
I=0
100 GOSUB 300
SETB 128
ADC Y
Z=(X-Y)
TSTB B,1
IF B=1 THEN GOSUB 800
D=0
TSTB B,2
IF B=1 THEN GOSUB 900
GOSUB 700
C=(P+I+D)/10
PRINT Y
REM PRINT "X=",X;" Z=",Z;" P=",P;" I=",I;" D=",D;" C=";C," O=",O
IF C<0 THEN C=0
IF C>1023 THEN C=1023
DAC C
TSTB A,126
IF A=0 THEN GOTO 100
input "$",A
PRINT
PRINT "PROP=",L;" INTEG=",M;" DERIV=",Q
GOTO 50
REM ******************************************
REM * Переключатель значения задающего *
REM * параметра. Каждые 50 отсчётов *
REM * происходит перепад задающего параметра *
REM * для исследования переходной *
REM * характеристики *
REM ******************************************
300 S=S+1
if S=50 then goto 330
if S=100 then goto 380
return
REM Задающ. параметр на 200 ед.
330 X=200
return
REM Задающ. параметр на 800 ед.
REM и начать отсчёт времени
REM переключения сначала
380 X=800
S=0
return
REM *********************************
REM * Пропорциональноезвено *
REM *********************************
700 P=Z
SCALE P,100,L
RETURN
REM *********************************
REM * Интегрирующее звено *
REM *********************************
800
J=Z
SCALE J,100,M
I=I+J
RETURN
REM *********************************
REM * Дифференцирующее звено *
REM *********************************
900 D=W-Z
W=Z
SCALE D,100,Q
RETURN
 

 

 

 

 

Графики переходных процессов

Масштаб времени в данном эксперименте был 1.5 сек на 50 отсчётов.  

Рис.2 

 
Обновлен 02.03.07