2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Реализация передаточных функций в системах управления
Сообщение23.03.2008, 22:28 


27/11/05
183
Северодонецк
Существует ли какая-то простая методика перевода законов регулирования,
определенных своими передаточными функциями, в обычную программу?
Скажем, эта программа циклически вызывается с каким-то определенным периодом. Или необходимо обязательно вникать в операционное исчисление
для такого перевода в программу, даже если передаточные функции уже
кем-то определены?

 Профиль  
                  
 
 
Сообщение24.03.2008, 09:42 


21/03/06
1545
Москва
ПИД и прочие регуляторы. Там надо примерно знать передаточную функцию, а, зачастую, можно вообще ничего не знать о системе. Естественно, при переходных процессах будут отклонения от оптимального закона управления.

 Профиль  
                  
 
 
Сообщение24.03.2008, 19:51 


27/11/05
183
Северодонецк
Может я не совсем ясно выразился: проблема не в нахождении передаточной функции, а в ее реализации. Передаточные функции, как правило, уже заданы, и необходима методика их реализации: ведь формула передаточной функции - это не есть арифметическое выражение, которое надо вычислять циклически?

 Профиль  
                  
 
 
Сообщение26.03.2008, 20:51 


24/03/08
26
Новосибирск
Всё это с успехом реализуется в системе MatLAB. Если тебе надо регулировать какой-то объект через порт, MatLAB также позволяет это делать. Программу для этого писать не обязательно. Достаточно использовать стандартные средства модуля Simulink - там блоксхемой всё что нужно сделать можно .

 Профиль  
                  
 
 
Сообщение26.03.2008, 22:13 


27/11/05
183
Северодонецк
Проблема немного сложнее - в нашей конторе мною разработан язык технологического программирования а-ля Си (так называемый ТехноСи), в котором реализованы стандартные ПИД-алгоритмы (функции их реализации были написаны другим человеком до меня). Однако читая литературу по системам технологического управления, я убедился, что существует довольно много других более оптимальных законов регулирования (для которых известны и описаны передаточные функции). И так как я далек от теории систем управления (т. е. чистый программист, способный без проблем реализовать систему компиляции, скажем, для Windows CE промышленных контроллеров, но не способный адекватно превратить теоретическую передаточную функцию в реальную программу на Си), то и хотелось бы услышать рекомендации знающих людей по такому адекватному превращению - именно в программу на языке Си...

 Профиль  
                  
 
 
Сообщение26.03.2008, 22:24 


24/03/08
26
Новосибирск
Передаточную функцию можно представить в виде отношения многочленов. После этого можно перейти к дифференциальному уравнению, к которому применить какую-нибудь разностную схему по-удачнее, чтобы сходилась, и получить СЛАУ, которую и решать в режиме реального времени с разными правыми частями. Математику написать могу, а что до программы, так я уже не писал лет 5 на сях и иже с ними ничего серьёзного, только матлаб.

 Профиль  
                  
 
 
Сообщение26.03.2008, 22:31 


27/11/05
183
Северодонецк
Метод решения СЛАУ не подходит (когда в задаче сотни регуляторов - будут сплошные тормоза). Если посмотреть на доставшуюся мне реализацию ПИД - так там есть пара значений для хранения состояний регулятора от предыдущего цикла задачи и идут самые обычные арифметические выражения (но по своему виду очень далекие от вида передаточной функции, заявленной в комментариях), реализующие как раз разностную схему - но никаких СЛАУ.

 Профиль  
                  
 
 
Сообщение26.03.2008, 22:40 


24/03/08
26
Новосибирск
Разностная схема неявно подразумевает решение СЛАУ ) Просто там структура матрицы очень приятная - 3 или 5 диагоналей, смотря какой порядок схемы брать (выше 2-го смысла нет). Если СЛАУ решать приближенными методами типа GMRES или BCGStab, то проще её сразу предобусловить как следует, чтобы вообще 3 диагонали осталось (по этой теме много есть статей с готовыми алгоритмами, как вариант Шурина, Баландин "Методы решения СЛАУ больший размерностей" или что-то в этом духе). Так что никаких тормозов не будет.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group