Система управления рис. 12.1 состоит из двух подсистем: бойлера и регулятора (контроллера). В бойлере происходит процесс нагревания, и его переменные т, U и f связаны уравнением:
dT/dt = 1/а *(k*U-F- T),
контроллер выполняет регулирование, процессы в нем описываются двумя другими уравнениями:
U = Ui+Kp*(Tz-T), dUi/dt = Ki*(Tz-T).
Очевидно, что при создании модели более удобно ее структурировать, отдельно задав описание бойлера и контроллера как классов активных объектов, а затем поместить в корневой активный объект по одному их экземпляру, соединив интерфейсные переменные. На рис. 12.6 показаны эти классы активных объектов и собранная модель в корневом классе Main.
Модель controlsystem1 представляет эту систему управления, построенную из соответствующих классов активных объектов. Для удобства переменные Tz, U, f и т продублированы также в корневом активном объекте, |они соединены с соответствующими интерфейсными переменными экземпляров классов controller и boiler. Вследствие этого анимация, построенная в модели controlsystem0_with_animation, может быть использована без изменений и в этой модели. Запустите в одном окне модель ControlSystem0_with_animation, а В другом — модель controlsystem1. Скопируйте анимацию в дереве проекта первой модели и перенесите ее в корневой объект Main второго проекта. Модель будет
демонстрировать то же самое поведение. Это упражнение показывает, что любые объекты, разработанные в одном проекте, можно копировать и переносить в другие проекты (конечно, с соблюдением правил видимости переменных и методов).
Блочный метод реализации моделей динамических систем в среде AnyLogic
При разработке моделей динамических систем в AnyLogic можно использовать блоки соответствующей библиотеки (Dynamic System Library) точно так же, как это делается в пакете Simulink. На рис. 12.7 модель системы управления реализована в виде диаграммы из блоков этой библиотеки.
Эта модель называется controlDynSystem и находится в папке Model Examples. Все разработанные модели системы управления совместимы. Это означает, в частности, что при разработке моделей в AnyLogic можно применять различные стили, повторно использовать уже разработанные модели подсистем. Например, переключение режимов функционирования внешней среды в модели ControlDynSystem можно сделать посредством стейтчарта вместо того, чтобы строить его из четырех блоков библиотеки, можно в эту модель скопировать анимацию, разработанную для модели
ControlSystemO И Т. П.