Статья: Исследование быстродействия комбинированных моделей систем автоматического регулирования

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Виртуальный контроллер, вариант В

Интервал обновления OPC-сервера первоначально был установлен равным 5 мс, позже уменьшен до 2 мс без каких-либо негативных последствий. Запустить Simulink-модель в режиме, не допускающем нарушения псевдореального времени, не удалось. Установлено, что система стабильно работает, если интервал обмена Simulink-модели с сервером составляет 10 мс. При уменьшении этого показателя до 5 мс наблюдались значительные, хотя и самоликвидирующиеся, нарушения псевдореального времени (до нескольких секунд) при любой «внешней» активности, - такой, например, как переключение между окнами программ.

Двойное снижение интервала обмена по сравнению с вариантом А позволило примерно в два раза увеличить допустимый частотный диапазон сигналов (до 15 рад/с) и коэффициент к (до 45, что соответствует постоянной времени 22 мс).

Реальный контроллер

Основной вклад в задержку при передаче информации в данном случае, очевидно, вносит обмен между OPC-сервером и ПЛК, который по- прежнему производится по протоколу TCP/IP, но теперь уже посредством физического канала связи.

Исследования проводились на платформе A. Интервал обновления OPC-сервера был установлен равным 10 мс. Интервал пересчета программы ПЛК первоначально оставлен минимально возможным - 1 мс.

При запуске системы были обнаружены сообщения об ошибках записи, генерируемые блоком Simulink-модели OPC Write при работе в «асинхронном» режиме обмена (который, однако, успешно применялся во всех предыдущих вариантах). Ошибки появлялись нерегулярно, но связь их появления с таким фактором как включение мониторинга ПЛК со стороны CoDeSys была вполне очевидной. Согласно справочной системе Matlab [5], «synchronous writes are generally more reliable than asynchronous, but have slightly more overhead» - «синхронная запись, как правило, более надежна, чем асинхронная, но требует несколько больше накладных расходов». Следуя этой «рекомендации», в дальнейшем все эксперименты проводились в «синхронном» режиме.

Предельное значение интервала обмена между моделью и сервером составило 70 мс - меньшие значения дают необратимое нарушение псевдо- реального времени. Столь большой интервал, очевидно, и послужил причиной заметных амплитудных и фазовых отклонений отклика комбинированной системы от откликов систем, полностью реализованных в контроллере и Simulink, даже на небольших частотах (рис. 6).

Выходные колебания комбинированной системы имеют большую амплитуду, отстают по фазе от колебаний контроллерной модели и, наоборот, опережают колебания модели в Simulink. Отклонения возрастают с ростом частоты и уменьшаются с увеличением коэффициента k системы (т.е. снижением ее постоянной времени). Предельное значение коэффициента k составило около 7,5 (постоянная времени 0,13 с). Предельное значение частоты - 5 рад/c. Несколько улучшить достигнутые показатели можно, увеличивая интервал вызова программы ПЛК. Так, при увеличении интервала вызова до 10 мс интервал обмена можно уменьшить до 50 мс.

Масштабирование линейных динамических моделей во времени

Сопоставляя полученные выше результаты с параметрами вычислительных экспериментов [1,2], можно сделать однозначный вывод, что воспроизвести эти эксперименты на базе комбинированной модели принципиально невозможно.

Чтобы сохранить «контроллерную» реализацию алгоритмов управления в модели, можно пойти тремя путями:

1) перенести реализацию алгоритмов со всеми ее особенностями в Simulink-модель. Фактически это означает выделение в модели отдельной подсистемы, работающей в квазиреальном времени (т.е. пересчитываемую с постоянным и известным шагом и упрощенно выполняющую интегрирование). Это вполне реально, но о языках программирования контроллера придется забыть;

2) перенести модель объекта в реальный (высокопроизводительный) контроллер, который будет ее пересчитывать в реальном времени;

3) масштабировать время, искусственно замедляя одновременно динамику объекта и регулятора. В этом случае можно использовать имеющуюся технологию, а аппаратная реализация потребует лишь несложного пересчета коэффициентов регулятора.

Подробно рассмотрим последний из подходов, представляя любую передаточную функцию n-го порядка следующим образом:

где щ0 - так называемый среднегеометрический корень - параметр, влияющий исключительно на скорость протекания переходного процесса и ни на что более. Этот параметр определить достаточно просто. Зная 00, легко найти коэффициенты b'n...К0 и a'n-1...a^.

Для автоматизации расчетов была написана Matlab-функция, принимающая в качестве входного параметра произвольную передаточную функцию и возвращающая векторы коэффициентов числителя и знаменателя передаточной функции вида

и сам параметрщо.

Также была написана Matlab-функция, решающая обратную задачу: нахождение передаточной функции по заданным векторам [b'n…b'0], [1 a'n-1…a'1 1] и среднегеометрическому корню ш0. Коды функций приведены в приложениях 3, 4.

Разработанные функции позволяют масштабировать динамику моделей по времени таким, например, образом, чтобы получать процессы, протекающие в заданное число раз быстрее или медленнее. Для этого достаточно в это же число раз изменять параметр ш0. Ниже приведен код тестовой программы, в которой относительно исходной передаточной функции W(s)=(s2+2s+3)/(2s3+6s2+6s+8) получена передаточная функция Wi{s)={s1+4s+12y(s3+6s1+12s+32), описывающая объект с удвоенным быстродействием:

Результат выполнения программы показан на рис. 7. Отношение параметров SettlingTime (времени переходного процесса) для исходной и полученной передаточных функций составило ровно 2.

Рис. 7. Результаты тестирования функций.

Заключение

В результате исследований определены ориентировочные значения ограничений на динамику процессов в комбинированных моделях с обменом по протоколу OPC. На имеющихся аппаратных и программных средствах получены предельное значение постоянной времени простейшего контура регулирования (около 20 мс) и допустимый частотный диапазон сигналов в нем (до 15 рад/c).

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

Приложение 1

Программа ПЛК для определения производительности контроллера, язык ST

PROGRAM PLC_PRG VAR

timer:TON;

counter:DWORD:=0;

count:DWORD;

a:DWORD;

b:REAL:=1;

END_VAR

timer(IN:=TRUE, PT:=T#1s);

IF NOT timer.Q THEN

counter:=counter+1;

ELSE

count:=counter;

counter:=0;

timer(IN:=FALSE);

b:=1;

END_IF

FOR a:=1 TO 1000000 BY 1 DO b:=b*1.0000001;

END_FOR

Приложение 2

Программа ПЛК для определения производительности ввода-вывода, язык ST

PROGRAM PLC_PRG VAR

t1: DWORD:=0; t: REAL; (*время*) g: REAL; (*задание*)

u,y: REAL; (^управление и выход объекта*) w: REAL:=1; (*частота*)

x: REAL:=0; (*выход внутренней модели*) k:REAL:=1; (*коэффициент обратной связи*) integ: INTEGRAL;

END_VAR

IF t1=0 THEN

t1:=TIME_TO_DWORD(TIME());

END_IF

t:=DWORD_TO_REAL(TIME_TO_DWORD(TIME())-t1)/1000;

g:=SIN(w*t);

u:=k*g-k*y;

integ(IN:=k*g-k*x,TM:=2,out=>x); (*для реального ПЛК TM:=1 или TM:=10*)

Приложение 3

Код функции Matlab для определения коэффициентов W*(s) и среднегеометрического корня 00.

function [num, den, w0] = num den w0 of W(W)

[num,den]= tfdata(W); num=num{:}; den=den{:}; d = length(den);

num=num/den(1); den=den/den(1); w0 = abs(den(d))A(1/(d-1));

w0 = w0; for i=2:d

num(i) = num(i)/w0; den(i) = den(i)/w0; w0 =w0 *w0;

end

end

Приложение 4

Код функции Matlab для определения W(s) по коэффициентам W(s) и среднегеометрическому корню 00

function W = W of num den w0(num, den, w0) d = length(den); w0 = w0; for i=2:d

num(i) = num(i)*w0; den(i) = den(i)*w0; w0 = w0 *w0;

end

W = tf(num,den);

End

Литература

1. Еремин Е.Л. Метод большого коэффициента усиления в задаче самоорганизации систем управления структурно неопределенными линейными объектами с переключениями. I // Информатика и системы управления. - 2021. - №4(70). - С.95-109.

2. Еремин Е.Л. Метод большого коэффициента усиления в задаче самоорганизации систем управления структурно неопределенными линейными объектами с переключениями. II // Информатика и системы управления. - 2022. - №2(72). - С.60-73.

3. Рыбалев А.Н., Николаец Ф.А. Разработка и эмулирование АСУ ТП с использованием программ разных производителей и типов // Вестник АмГУ. - 2014. - Вып. 65. - С. 7382.

4. Рыбалев А.Н. Реализация алгоритма адаптивного управления с эталонной моделью для программируемых логических контроллеров // Информатика и системы управления. - 2021. - №4(70). - С.30-38.

5. OPC Write. Write data to OPC server // MathWorks ® Help Center [Электронный ресурс]. Режим доступа: https://www.mathworks.com/help/icomm/ug/opcwrite.html.