Главная страница  Программы проектирования 

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [ 95 ] [96] [97] [98] [99] [100]

Пример 3. Структурная схема автоматической системы преДставлена иа рнс. 12.6. Требуется определить эиачеиия параметров К\, Кг, Г таким "Зраэюм, чтобы удовлетворялись следующие требования: /

при ступенчатом входном воздействии ц(/) =0,1-il (/) впемя переходного процесса (время входа ошибки слежения в трубку ±0,03) м должно превышать 0,3 с, а перерегулирование - 30"/о;

при гармоническом входном воздействии и (/) =0,5 sin ошибка слежения должна быть минимальной.

Решение задачи начнем с исследования линеариэоваино системы без учета влияния сухого трения и ограничения. Предварительный пс/дбор значений оптимизируемых параметров удобно производить в диалогоиом режиме по логарифмической АЧХ (ЛАЧХ) 1И фазочастотной характеристике (ФЧХ) разомкнутой системы. Проектировщик должен быть знаком с частотными методами синтеза систем [13], чтобы иметь представление о том, как (жфши выбранные критерии качества с расположением ЛАЧХ и ФЧХ.

Работая в диалоговом режиме и контролируя ктивые ЛАЧХ и ФЧХ иа экране дисплея, проектировщик должен сначала подабЬать такие параметры К2, Т, чтобы участок кривой ЛАЧХ с единичным наклоном имел протяжеииость около декады и располагался как можно правее на «си часчгот. Затем, изменяя Ki, следует обеспечить максимальный запас устойчивости по фазе при выбранных /Сг, Т. Не следует стреметься к тщательному подбору параметров, поскольку этот этап оптимизации является предвари-гельным н определяет лишь начальные значения оптимизируемых параметров. jB результате получаем Ki = = 50, 2=2, 7"=0,4. Частотные характеристики при этих значениях параметров представлены на рис. 12.6,6. Предварительный подбор парамеггроо потребовал около 10 мин работы проектировщика за экраном дисплея и около 20 с времени ЭВМ ЕС1033.

Теперь замкнем обратную связь, введем нелинейности и произведем оптимизацию, задав выбранные значения параметров в качестве начальных. В результате оптимизации получаем /С]=48,5; /Сг=2,03; Т=0,49. Переходный процесс на воздействие u{t) =0,1 • l{t) при этих значениях параметров удовлетворяет предъявленным требованием и изображен на рис. 12.6,в. Ошибка слежения при воздействии и(/) =0,5 sin / не превышает 0,0276. В ходе оптимизации система моделировалась ,28 раз при обоих видах вхзодного воздействия, что потребовало около 3 мин времени на ЭВМ ЕОЮЗЗ.

12.4. ПОДПРОГРАММЫ ВВОДА ДАННЫХ И ВЫВОДА РЕЗУЛЬТАТОВ

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

Читатель, имеющий опыт программирования на Фортране, знает, как часто причиной ошибок является несоответствие входных данных спецификациям формата. Каждое число входных данных должно находиться в строго определенных позициях на перфокартах или на экране дисплея. Сдвиг числа на несколько позиций приводит к тому, что ЭВМ воспримет его как совершенно 288



с ПадПРОГРЛЙ»» RDR

SUBROUTINE RCR<A) DIMENSION L<14),M<80) DATA L/1H»,1H1,1H2,1H3,1H4,1H5,1H6,1H7, ,1HB,1H9,1H-,1H.,1IC,1H»-/,L1/1H /,1С/1НС/ ПАТА !•/•/ A»*=». I»=l IP=* IS=1 Il=»

IF(I*.EQ.*) GO TO 25i

2 DO 2» 1=1,9» K=15

DO 5 >1,14 IF<rt<n,EQ.L<J)) K=J

5 COMTINUE

rt<I)=Ll «

IF<I1.EQ.*.AND.K.EQ.13) GO TO 2»

IF<K.LT.15) GO TO 6

IF(I1.EQ.») GO TO 2» , IFdrt.LT.*) AM=-AH \ P-1*.»»IP \ IF<IS.LT.*) P=l./P

RETURN

6 IF<I1.EQ.») 11=1 IF<K.GT.l*) GO TO 1* 00 T0<7,8,9),I1

7 A»*=1*.»A(HFL0AT(K)-1. GO TO 2»

3 <*H*HO»(FLOAT(K)-1.) G3«.1«G

GO TO 2»

9 IP=1»»IP+K-1

GO TO 2» I» K=«-l*

GO TO (11,12,13,2»),К U IF(Il.EQ.l) IM=-1

IF(I1.EQ.3) IS=-*

GO TO 2» i? 11=2

G=«.l

GO TO 2» 13 11=3 2» CONTINUE 25 READ 3»,M

PRINT 35,rt

IF<rt<l).EQ.IC) GO TO 25

I»=l

GO TO 2 3» FORmT(aeAl) 35 F0RmT(2X,9»Al)

ПОДПРОГРАММА RDI

.SUBROUTINE RDKN)

CALL RSR<A)

RETURN



SUBROUrriNE IW>LIN<N,L,M,A,B,C,D)

DIMENSION А(1),В(1),С<1),В<1)

CALL RDKN)

CALL RDKL)

CALL RBKM)

BO 15 1=1,N

DO 5 >1,N

K=(J-1)»NH 5 CALL гаЖ(А(К))

DO 1* J=1,L

K=(J-1)»NH 1» CALL Rm(B(K)> 15 CONTINUE

DO 3» 1=1,M

DO 2» J=1,N

K=<J-1)»M*-I 2» CALL RDR<C(K))

BO 25 J=1,L

K=<J-1)»M*-I 25 СШ. RSR<D(K)) 3» CONTINUE

RETURN

другое число. Гораздо удобнее было бы вводить данные в свободном формате, не регламентирующем расположение чисел в списке входных данных.

В стандартном Фортране нет операторов бесформатного ввода чисел, однако, используя возможности Фортрана, нетрудно составить подпрограммы ввода чисел в свободном формате. Ниже приведены две такие подпрограммы RDR и RDI.

Подпрограмма iRDR

Назначение: бесформатный, ввод вещественных чисел.

Обращение: CALL RDR (А).

Параметры: А - вводимое вещественное число.

Подпрограмма RDI

Назначение: бесформатный ввод целых чисел. Обращение: CALL RDI (N). Параметры: N - вводимое целое число. Используемые подпрограммы: RDR.

При использовании подпрограмм RDR и RDI пользователь может располагать вводимые числа в произвольных позициях. Каждое число записывается в любой форме из предусмотренных для записи целых или вещественных констант обычной точности на Фортране, например 5; -5.2; 6.3Е -2. Числа разделяются пробелами или другими символами, не используемыми для записи чисел. Не допускаются пробелы внутри одного числа. Входные данные могут быть снабжены комментариями, которые начинаются с буквы С в первой позиции.




[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [ 95 ] [96] [97] [98] [99] [100]

0.013