Автоматизация инженерных расчетов

Автоматизация касается не только процессов управления машинами и другими сложными техническими объектами и комплексами. Автоматизировать можно также методы инженерных расчетов при проектировании машин, предприятий и сложных автоматизированных технологических комплексов. Можно также автоматизировать любые сложные вычисления, связанные с решением системы алгебраических и дифференциальных уравнений при проведении проектных и научно-исследовательских работ.

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

На рис. 1.19 приведена электрическая цепь, содержащая последовательно соединенные катушку индуктивности L и резистор R. Замыканием рубильника Р цепь подключается к источнику постоянного напряжения U, и по цепи начинает протекать ток i. В цепи возникает переходный процесс. Требуется определить ток переходного процесса i [23].

Включение цепи R, L на постоянное напряжение

Рис. 1.19. Включение цепи R, L на постоянное напряжение

Известно, что после замыкания рубильника Р состояние цепи описывается уравнением, составленным по второму закону Кирхгофа: uL + uR =U или

Таким образом, нахождение тока i сведется к решению дифференциального уравнения первого порядка. Покажем интегрирование дифференциального уравнения, записанного в форме Коши,

численным методом Эйлера первого порядка (простым или явным методом Эйлера). Иногда этот метод называют методом Рунге — Кутта первого порядка.

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

Согласно формуле (1.40) при интегрировании с шагом At значение функции на шаге k + 1 находится по известному значению функции на предыдущем шаге k и приращению ее на данном шаге. При решении должны задаваться начальные условия, г.е. значение тока в начальный момент времени. В результате решения получают значения тока в отдельные дискретные моменты времени tk = kAt, где k = 1, 2, 3,..., п.

Сказанное иллюстрирует рис. 1.20, где приведен расчет переходного процесса в цепи R, L в интегрированном пакете MathCad [23]. Постоянная времени цени т = L/R = 0,2 с. Длительность переходного процесса примерно равна 4т = 0,8 с. Время интегрирования выбрано равным 0,9 с. Начальное значение тока по первому закону коммутации принято равным нулю. Кривая, приведенная на рис. 1.19, хорошо совпадает с кривой, построенной по результатам решения дифференциального уравнения аналитическим методом. Установившееся значение тока равно 25 А.

Метод Эйлера прост, но для получения приемлемой точности шаг интегрирования должен быть относительно небольшим. Чем меньше шаг, тем больше точность. Это связано с тем, что значение производной на всем шаге интегрирования принимается неизменным и равным значению производной в начале шага, хотя в действительности оно изменяется и требует уточнения. При большом шаге интегрирования переходный процесс может оказаться неустойчивым. Если взять, например, шаг At = 0,4 с, то можно увидеть, что процесс не приходит к установившемуся току (рис. 1.21). В этом случае получится совершенно неверный результат. Возникают незатухающие колебания относительно среднего значения тока, равного 25 А [23].

Расчет переходного процесса в цепи R, L простым методом Эйлера в пакете MathCad

Рис. 1.20. Расчет переходного процесса в цепи R, L простым методом Эйлера в пакете MathCad

Чтобы решение с малым шагом интегрирования получилось более точным, применяют модифицированный метод Эйлера, когда находят значение производной не только в начале, но и в конце шага интегрирования и берут среднее значение производной на шаге. Еще более точные результаты дает метод Рунге — Кутта четвертого порядка [23].

Анализ двух рассмотренных систем автоматического регулирования показал, что в системах с одним инерционным звеном переходный процесс идет по экспоненте (см. рис. 1.9). В системе с двумя инерционными звеньями возможен колебательный процесс, который может быть незатухающим (см. рис. 1.14 и 1.15). В некоторых случаях колебания могут возрастать, и система регулирования становится неустойчивой (см. рис. 1.18). При автоматизации численных методов расчета дифференциальных уравнений переходный процесс может стать колебательным даже при решении дифференциального уравнения первого порядка (рис. 1.21) [23]. Все это говорит о том, что необходимо тщательно анализировать процессы в системах автоматического управления и регулирования.

Неустойчивый переходный процесс как результат численного решения в пакете MathCad при недопустимом увеличении

Рис. 1.21. Неустойчивый переходный процесс как результат численного решения в пакете MathCad при недопустимом увеличении

шага интегрирования

Таким образом, чтобы проанализировать поведение САР в установившихся и переходных режимах, необходимо уметь составлять математическое описание для каждого звена САР и системы в целом. Кроме этого, необходимо правильно выбирать метод решения дифференциальных уравнений и параметры элементов выбранного метода.

Когда число дифференциальных уравнений, описывающих поведение САР, достаточно велико, то решение их в пакете MathCad вызывает определенные затруднения. В этом случае можно использовать средства визуально-ориентированного программирования — систему MATLAB с пакетом расширения Simulink [18]. Это интерактивный программный комплекс для математического моделирования процессов в линейных и нелинейных системах различного назначения. Пакет Simulink имеет целый ряд библиотек компонентов (блоков). Пользователь выбирает нужные компоненты, переносит их на рабочий стол вновь созданного им файла, соединяет блоки нужным образом и задает параметры элементов моделирования. Программа расчета процессов в составленной пользователем модели в машинных кодах автоматически генерируется самой системой MATLAB по структуре составленной модели. Поэтому мы не будем приводить программу расчета, сконцентрировав внимание на визуальном контроле процессов в созданной модели. Рассмотрим сказанное на следующем примере.

Пример 1.1

Решите в системе MATLAB дифференциальное уравнение (1.12), описывающее поведение простейшей статической системы автоматического регулирования в динамическом режиме при скачкообразном изменении расхода жидкости Qp.

Решение

Воспользуемся операционной средой пакета расширения Simulink системы MATLAB (средой MATLAB + Simulink) [18]. Математическую модель схемы замещения в пакете Simulink будем в дальнейшем называть S-моделью. Для построения S-модели используем модули (блоки), хранящиеся в библиотеках Simulink. Требующиеся блоки перенесем из библиотек в окно вновь создаваемой модели. После установки в окне модели всех блоков выполним нужные соединения. Для этого необходимо указать курсором на выход одного блока, а затем с нажатой левой клавишей мыши провести линию к входу другого блока, после чего отпустить клавишу. Если соединение выполнено правильно, то на входе последнего блока появится изображение черной стрелки. Схема собранной модели показана на рис. 1.22. Поскольку нам известно выражение производной отклонения /г, то мы легко получим само отклонение, если подадим значение производной dh/dt на вход интегратора (на схеме Integrator с обозначением -). Начальное значение выходной величины

5

интегратора (h = 1) задастся в окне задания параметров интегратора. На выходе интегратора получается значение отклонения И.

Замечание 1.5

Символ - аналогичный принятому в российской литературе символу — обознача-

.s р

ющему операцию интегрирования в операторном методе, не следует путать в нашем

примере с коэффициентом усиления — = —— = 0,01 усилителя (Gain), где S = 100 дм2

S 100

площадь резервуара.

На схеме модели Н0 = 10 дм — уровень жидкости при расходе, равном нулю. Следовательно, реальное значение уровня жидкости Н = Н{) - h.

Каждый блок системы должен иметь свои параметры. Чтобы задать нужные параметры блоков, необходимо подвести курсор на изображение нужного блока и дважды щелкнуть левой клавишей мыши. После этого откроется окно редактирования параметров данного блока. Например, изменение расхода Qp во времени задается таймером (па схеме Timer). На рис. 1.23 показано окно задания параметров этого блока. В начальный момент времени (t = 0) расход составляет Qp = 20 дм3/мин, в момент времени t = 30 расход увеличивается и становится равным Qp = 40 дм3/мин. В момент времени t = 60 расход уменьшается и становится равным Qp = 10 дм3/мин (рис. 1.23).

Аналогичным образом устанавливаются параметры и других блоков. Например, на рис. 1.24 показано окно задания параметров моделирования. В данном случае выбрано решающее устройство, или просто решатель (Solver), ode 15s с переменным шагом интегрирования.

Решение в пакете MATLAB дифференциального уравнения (1.12), описывающего работу статического регулятора

Рис. 1.22. Решение в пакете MATLAB дифференциального уравнения (1.12), описывающего работу статического регулятора

Окно задания параметров блока Timer

Рис. 1.23. Окно задания параметров блока Timer

Чтобы получить решение, нужно на панели инструментов окна MATLAB нажать кнопку Simulation и в выпадающем подменю выбрать опцию Start. Можно также пользоваться кнопками Start simulation (Пуск) и Stop simulation (Стоп). Затем на панели инструментов окна Scope (Осциллограф) нажать кнопку Autoscale (Автоматический выбор шкал), после чего на экране осциллографа появятся осциллограммы (рис. 1.22). Как следует из рис. 1.22, осциллограммы переходного процесса совпадают с осциллограммами, представленными на рис. 1.9. Масштаб осциллограмм можно настроить по своему желанию. Для этого необходимо щелкнуть правой кнопкой мыши в окне осциллограммы и в появившемся меню выбрать опцию Axes Properties, которая служит для задания масштаба оси ординат осциллограммы.

Окно задания параметров моделирования

Рис. 1.24. Окно задания параметров моделирования

Таким образом, пакет Simulink автоматизирует наиболее трудоемкий этап моделирования — расчет системы дифференциальных уравнений. Однако за пользователем остается очень важная функция — правильно подобрать параметры для моделирования и протестировать систему, чтобы быть уверенным в результатах расчета.

Продемонстрировать сказанное можно следующим образом. Изменим коэффициент усилителя Gainl, сделав его равным 80. Запустим программу с теми же параметрами моделирования, которые были ранее: Variable-step, odel5s (вычисление с переменным шагом, решающее устройство odel5s реализует метод решения жестких уравнений). Результат решения приведен на рис. 1.25. Еще раз изменим параметры моделирования и установим другой решатель: Fixed-step, odel [Euler] (вычисление с фиксированным шагом, решающее устройство odel реализует метод Эйлера первого порядка). Результат решения приведен на рис. 1.26. Сравнение рис. 1.25 и 1.26 показывает, что результаты моделирования, приведенные на рис. 1.26, не соответствуют истине.

Осциллограмма переходного процесса. Параметры моделирования

Рис. 1.25. Осциллограмма переходного процесса. Параметры моделирования: Variable-step, odel5s

Осциллограмма переходного процесса

Рис. 1.26. Осциллограмма переходного процесса.

Параметры моделирования: Fixed-step, odel [Euler]

Отсюда следует очень важный вывод. Работа по созданию математических моделей требует глубоких знаний предмета и большого труда по отладке этих моделей. Иначе, как считают многие исследователи, можно получить на модели все что угодно, но только не реальную картину. Настоящий учебник главным образом и посвящен этим вопросам, поскольку правильно составленная и протестированная модель во многом облегчает анализ процессов в системах автоматического регулирования. Проиллюстрируем сказанное примером. На рис. 1.27 показана модель решения в пакете MATLAB, Simulink системы дифференциальных уравнений (1.22) и (1.29) астатического регулятора, показанного на рис. 1.12.

Поскольку состояние системы описывается двумя дифференциальными уравнениями, то в модели участвуют два интегратора, на входы которых подаются производные интегрируемых величин. Как и на рис. 1.13, площадь резервуара S = 100 дм2, коэффициент пропорциональности k = 20 дм2/мин. Коэффициенты усилителей указаны на рис. 1.27, связь элементов понятна из схемы модели. Из рис. 1.27 следует, что, как и было показано выше, в системе при скачкообразном изменении расхода возникают незатухающие колебания. Причина этих колебаний — инерционность системы, которая запаздывает при отработке сигнала рассогласования.

Уменьшить инерционность системы можно, если ввести упреждение на отработку сигнала рассогласования, или сигнала отклонения, h регулируемой величины. Для этого на вход интегратора величины подачи Qn следует подать не только значение, пропорциональное отклонению Л, но и значение, пропорциональное его производной в соответствии с формулой dh

(1.34): 20/z + lO—. Сигнал, пропорциональный производной отклонения, at

снижает инерционность системы и демпфирует возникающие колебания (рис. 1.28). Если увеличить коэффициент усиления усилителя Gain3, это увеличит и затухание колебаний.

?рь

СЛ

Модель решения системы дифференциальных уравнений (1.22) и (1.29) астатического регулятора в пакете MATLAB, Simulink

Рис. 1.27. Модель решения системы дифференциальных уравнений (1.22) и (1.29) астатического регулятора в пакете MATLAB, Simulink

Модель решения системы дифференциальных уравнений (1.22), (1.29) и (1.34) астатического регулятора в пакете MATLAB, Simulink

Рис. 1.28. Модель решения системы дифференциальных уравнений (1.22), (1.29) и (1.34) астатического регулятора в пакете MATLAB, Simulink

Схему модели на рис. 1.22 можно упростить, если четыре блока: сумматор, два усилителя и интегратор — сгруппировать или объединить в одну подсистему [18]. При этом сокращается количество блоков, которые выводятся в окне модели. Объединение происходит следующим образом. Выбранные блоки и соединяющие их линии, которые надо включить в состав подсистемы, нужно выделить с помощью мыши прямоугольной рамкой (рис. 1.29). При этом выделенные блоки и соединительные линии будут отмечены черными квадратиками (на рис. 1.29 они не видны).

Выделение блоков, объединяемых в подсистему

Рис. 1.29. Выделение блоков, объединяемых в подсистему

Далее следует нажать кнопку Edit и в выпадающем меню выбрать опцию Greate subsystem (Создать подсистему). После этого щелкнуть левой кнопкой мыши. При этом все выделенные блоки будут заменены одним блоком с названием Subsystem (рис. 1.30).

Модель с созданной подсистемой

Рис. 1.30. Модель с созданной подсистемой

Чтобы посмотреть структуру вновь созданной подсистемы (или субблока), нужно дважды щелкнуть по нему курсором мыши. При этом открывается окно блока Subsystem, и в нем отображается блок-схема подсистемы (рис. 1.31). Как видно, в подсистеме добавились блоки Ini (Вход) и Outl (Выход), которые образуют вход и выход подсистемы.

Подсистема, созданная из выбранных блоков

Рис. 1.31. Подсистема, созданная из выбранных блоков

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

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >