Дана структурная схема, представленная на рис. 3.1. Обозначим переменные модели:
– x – входные воздействия;
– y – сигналы, для которых будут составлены дифференциальные уравнения в форме Коши (выходные звенья динамических звеньев, имеющих оператор Лапласа в знаменателе передаточной функции);
– z – сигналы, для которых будут записаны алгебраические уравнения (выходные сигналы статических звеньев, а также динамических, не имеющих оператор Лапласа в знаменателе передаточной функции).
2
Рис. 3.1. Структурная схема
Составим систему уравнений.
Уравнение для вычитателя: z1 = x1 − y1 .
Передаточная функция интегрирующего звена:
W( ) .
Выразим операторное изображение выходного сигнала звена:
y.
Умножив на оператор Лапласа, получим выражение для производной выходного сигнала звена в операторной форме:
p.
Перейдя к функциям времени получим дифференциальное уравнение в форме Коши:
ddyt1 = T11 ⋅ z1.
Передаточная функция апериодического звена:
W( ) .
Выразим операторное изображение выходного сигнала звена: y2 ( ) .
Умножим на знаменатель передаточной функции и раскроем
скобки в левой части уравнения:
y2 ( )p ⋅(T2 ⋅ p +1) = K2 ⋅ y1(p),
T2 ⋅ p ⋅ y2 (p)+ y2 (p) = K2 ⋅ y1(p).
Перенеся второе слагаемое из левой части в правую и разделив на постоянную времени T2 , получим выражение для производной выходного сигнала звена в операторной форме:
T2 ⋅ p⋅ y2 (p) = K2 ⋅ y1(p)− y2 (p),
p.
Перейдя к функциям времени, получим дифференциальное
уравнение в форме Коши:
d .
Для выходного сигнала звена с ограничением запишем алгебраическое выражение по табл. 1.2 с учетом выбранных обозначений сигналов и параметров звеньев.
z2 = K3 ⋅ y2,
z2 = Y−0Y3,03 ,при при z2z>2 <Y03−,Y03.
Таким образом получим систему уравнений:
z1 = x1 − y1,
ddyt1 = T11 ⋅ z1,
ddyt2 = T12 ⋅(K2 ⋅ y1 − y2 ),
z2 = K3 ⋅ y2,
z2 = Y−0Y3,03 ,при при z2z>2 <Y03−,Y03.
Составим подпрограмму расчета правых частей дифференциальных уравнений и алгебраических уравнений по составленной системе. При этом выделим в отдельную подпрограмму расчет значений входных воздействий. В рассматриваемом примере входное воздействие одно. Пусть вид входного воздействия – скачок
= 0, при t < 0≥,0. x1 xm1, при t
В строках 3, 4 приведенного ниже фрагмента программы производится объявление типа переменной – одномерного массива. Без объявления типа передавать в подпрограммы переменные массивы нельзя. В строках 6…13 объявлены глобальные переменные программы. В строке 8 объявлены массивы для хранения параметров звеньев и входных воздействий (назначение остальных переменные рассмотрим позже):
lK – коэффициенты передачи звеньев; lT – постоянные времени звеньев; ly0 – уровни ограничения звеньев; xm – амплитуда входных воздействий.
В строках 15…19 находится подпрограмма расчета значений входных воздействий. Параметры подпрограммы: t – значение текущего времени; x – рассчитываемые значения входных воздействий.
В строках 21…32 находится подпрограмма, написанная по составленной системе уравнений. Параметры подпрограммы: Y, Z – массивы значений переменных; F – массив рассчитываемых значений правых частей дифференциальных уравнений (dydt ); t – значение текущего времени. Внутренняя переменная x – значения входных воздействий.
01 Program Example;
02
03 Type
04 DArray = array [1..10] double;of
05
06 Var
07 Y, Yp, Z,
08 lK, lT, ly0, xm: DArray;
09 tk, dt, t: double;10 i,
111312 f: text; filename: N: integer;string; x1 =0x,m1 ,при при t <t 0≥,0.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.