Главная страница Программы проектирования [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 |