Научная статья на тему 'ПРОЕКТИРОВАНИЕ СИСТЕМ АВТОМАТИЧЕСКОГО УПРАВЛЕНИЯ С ИСПОЛЬЗОВАНИЕМ ДОПОЛНИТЕЛЬНЫХ МОДУЛЕЙ В PYTHON'

ПРОЕКТИРОВАНИЕ СИСТЕМ АВТОМАТИЧЕСКОГО УПРАВЛЕНИЯ С ИСПОЛЬЗОВАНИЕМ ДОПОЛНИТЕЛЬНЫХ МОДУЛЕЙ В PYTHON Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
18
9
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
Python / системы автоматического управления / mathlab / Python / automatic control systems / mathlab

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — А.С. Елпатов, Т.Г. Орешенко

Рассмотрен синтаксис и особенности модуля библиотеки Python, который позволяющий решать задачи по проектированию систем автоматического управления теми способами, которые используются в программном обеспечении Mathlab.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — А.С. Елпатов, Т.Г. Орешенко

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

DEVELOPING AUTOMATIC CONTROL SYSTEMS WITH USING MODULES IN PYTHON

The syntax and features of the Python library module, which allows you to solve problems in the design of automatic control systems in the ways that are used in the Mathlab software, are considered.

Текст научной работы на тему «ПРОЕКТИРОВАНИЕ СИСТЕМ АВТОМАТИЧЕСКОГО УПРАВЛЕНИЯ С ИСПОЛЬЗОВАНИЕМ ДОПОЛНИТЕЛЬНЫХ МОДУЛЕЙ В PYTHON»

УДК 004.942

ПРОЕКТИРОВАНИЕ СИСТЕМ АВТОМАТИЧЕСКОГО УПРАВЛЕНИЯ С ИСПОЛЬЗОВАНИЕМ ДОПОЛНИТЕЛЬНЫХ МОДУЛЕЙ В PYTHON

А. С. Елпатов Научный руководитель - Т. Г. Орешенко

Сибирский государственный университет науки и технологий имени академика М. Ф. Решетнева Российская Федерация, 660037, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31

E-mail: norcivx@gmail.com

Рассмотрен синтаксис и особенности модуля библиотеки Python, который позволяющий решать задачи по проектированию систем автоматического управления теми способами, которые используются в программном обеспечении Mathlab.

Ключевые слова: Python, системы автоматического управления, mathlab

DEVELOPING AUTOMATIC CONTROL SYSTEMS WITH USING MODULES IN

PYTHON

A. S. Elpatov Scientific Supervisor-T. G. Oreshenko

Reshetnev Siberian State University of Science and Technology 31, Krasnoyarskii rabochii prospekt, Krasnoyarsk, 660037, Russian Federation

E-mail: norcivx@gmail.com

The syntax and features of the Python library module, which allows you to solve problems in the design of automatic control systems in the ways that are used in the Mathlab software, are considered.

Keywords: Python, automatic control systems, mathlab

Главным преимуществом программного обеспечения Python по сравнению с Mathlab, является его доступность. С тех пор, как в Python появилась библиотека Python Control Systems Library, Mathlab обзавелся довольно крупным конкурентом, поскольку теперь задачи, решаемые в нём, теперь можно решить практически идентично, в Python[1].

Для её использования данной библиотеки требуется загрузить такие модули, как: slycot, control, numpy+mkl [2]. Дополнительные библиотеки требуются для определенных функций, которые используют методы, используемые в других модулях. Во избежание конфликта в программе между синтаксисом в разных модулях, его разработчики просто используют синтаксис других библиотек.

Для начала работы требуется импортировать библиотеку control. Начнем с создания систем. Функция control.ss() создает модель непрерывной системы управления в явной форме Коши, её особенность в том, что она может принимать 1, 4 или 5 параметров: control.ss(sys), control.ss(A,B,C,D), control.ss(A,B,C,D,dt). Результат функции идентичен результату функции ss в Mathlab. Функция control.tf() создает систему передаточных функций, может содержать 1, 2 или 3 параметра: control.tf(sys), control.tf(num,den), control.tf(num,den,dt). Также есть функция обратной связи - feedback(), которая позволит вместе с функцией control.tf() моделировать соединения блоков и систем.

Актуальные проблемы авиации и космонавтики - 2021. Том 2

Теперь в качестве примера и проверки используем функции соп1то1л/() и /ееёЪаск() и промоделируем параллельное, рис. 1, и последовательное, рис. 2, соединение, а также соединение с обратной связью, рис. 3 [3].

Рис.1 - Параллельное соединение

Код при параллельном соединении, где элементы являются коэффициентами d

передаточных функцих:

from control.matlab import * f = tf(a1, [a2, a3]);

g = tf(a4, [a5 ,a6]); w = f + g

print (w)

Рис.2 - Последовательное соединение

Код при последовательном соединении: from control.matlab import * f = tf(a1, [a2, a3]); g = tf(a4, [a5 ,a6]); w = f* g print (w)

Рис.3 - Контур с отрицательной обратной свзяью

Код при контуре с отрицательной обратной свзяью: from control.matlab import * f = tf(a1, [a2, a3]);

g = tf(a4, [a5 ,a6]); w = feedbackf, g) print(w)

Исходя из результатов, следует отметить, что некоторые функции библиотеки Python Control Systems Library для языка программирования Python, промоделированы различные соединения и контура звеньев, которые позволили сделать вывод, что функции control.tf() и feedback() могут реализовывать модель данных звеньев в Python. Данная библиотека значительно увеличивают возможности Python и позволяют реализовывать функции Mathlab, однако данная библиотеки нуждаются в адаптации к реальным задачам, после чего станет возможен её широкое использование.

Библиографические ссылки

1. Python Control Systems Library [Электронный ресурс] URL: https://python-control.readthedocs.io/en/0.9.0/ (Дата обращения 30.03.2021)

2. Типовые звенья САУ и их характеристики [Электронный ресурс] URL: https://helpiks.org/8-26327.html (Дата обращения 30.03.2021)

3. Python [Электронный ресурс] URL: https://www.python.org/ (Дата обращения 30.03.2021)

© Елпатов А. С., 2021

i Надоели баннеры? Вы всегда можете отключить рекламу.