Производительность Simulink с S-функцией

Я пытаюсь запустить файл simulink, в котором pid-контроллер подключен к s-функциональному блоку.

Когда я устанавливаю три значения параметров pid, которые являются пропорциональными, интегральными и производными, выполнение всего процесса занимает слишком много времени. Почему это произошло?

В диалоговом окне моей pid-диаграммы для пропорционального значения оно равно значению, которое соответствует колебанию с постоянной амплитудой.

Тогда для интеграла он равен Kcu/Ti. Ti — предельный период (Pu)/2, а

наконец, для производных он равен tu Kcu*Td, а Td равен Pu/8. Это относится к методу Циглера Николса. и снова мой вопрос: почему запуск этого файла занимает слишком много времени?


person rina    schedule 29.02.2012    source источник


Ответы (2)


S-функции MATLAB работают медленно, потому что они выполняются в интерпретаторе MATLAB. Рассмотрите возможность его реализации с помощью блоков Simulink или блока «Встроенная функция MATLAB» (до версии R2011a) или «Функция MATLAB» (R2011a+).

Прочитайте Парень и Мысли Сета о производительности моделирования.

person Nzbuu    schedule 29.02.2012
comment
Полезный комментарий и очень интересные ссылки. Спасибо! +1 - person Ivan Angelov; 29.02.2012

@Nzbuu прав насчет S-функций Matlab.

Но я думаю, что проблема здесь может быть где-то еще: @Syarina, вы говорите, что симуляция Simulink становится медленнее после, когда вы устанавливаете пропорциональный коэффициент для контроллера? Если вы моделируете только объект, в данном случае S-функцию, заметите ли вы значительную разницу в скорости выполнения? Если это действительно так, я полагаю, что ПИД-регулятор делает систему ODE жесткой. Это означает, что разные состояния системы ОДУ имеют действительно разную динамику — одни очень быстрые, другие очень медленные. Используя решатель оды, который не подходит для жестких уравнений, вы обнаружите, что симуляция намного медленнее (на самом деле вам повезет, если она вообще сойдётся).

Я предлагаю попробовать изменить решатель, например ode15s.

person Ivan Angelov    schedule 29.02.2012
comment
да, сэр. спасибо. до этого я использовал ode45. затем после перехода на ode15 он работает быстрее. спасибо - person rina; 02.03.2012