Коммерциялық емес акционерлік қоғам

АЛМАТЫ ЭНЕРГЕТИКА ЖӘНЕ БАЙЛАНЫС УНИВЕРСИТЕТІ

Инженерлік кибернетика кафедрасы

 

 

БАСҚАРУ ОБЪЕКТТЕРІН МОДЕЛЬДЕУ ЖӘНЕ ИДЕНТИФИКАЦИЯЛАУ

 5B070200 - Автоматтандыру және басқару мамандығының

барлық оқу түрінің студенттеріне арналған курстық жұмысты орындауға әдістемелік нұсқаулар

 

 

Алматы 2012 

 ҚҰРАСТЫРУШЫ: Ибраева Л.К. Басқару объектілерді модельдеу және идентификациялау. 5В070200 – Автоматтандыру және басқару мамандыңының барлық оқу түрлеріндегі студенттеріне арналған курстық жұмысты орындауға нұсқаулар – Алматы: АЭжБУ, 2012 -18 б.  

 

 Әдістемелік нұсқалар “Басқару объектілерді модельдеу және идентификациялау” пәні бойынша курстық жұмысты орындауға негізделген. Курстық жұмыста резервуар каскадының динамикасы зерттеледі.

Жұмыс мақсаты: басқару объекттің математикалық моделін құрастыруды дағдылану, объекттің динамикалық сипттамаларын талқылауды, басқару объектті компьютерде модельдеуді үйрену.

Объекттің математикалық моделі модельдеудің аналитикалық әдістері негізінде дифференциалдық теңдеулер жүйесі ретінде құрастырылады. Қарастырылып отырған жүйенің жүріс-тұрысын имитациялық модельдеу үшін және объектті басқаруды модельдеу үшін MatLab жүйесінің динамикалық жүйелерді модельдеу Simuink пакеті және оқиғалы-басқарылатын жүйелерді жобалау Stateflow пакеті қолданылады.

.

Пікір беруші: техн. ғыл. канд., доцент Ни А.Г.

  

“Алматы энергетика және байланыс университет” коммерциялық емес акционерлік қоғамының 2012 ж. баспа жоспары бойынша басылады.

Кіріспе

5В070200 – Автоматтандыру және басқару мамандығының оқу жоспары бойынша «Басқару объектілерін модельдеу және идентификациялау» пәнінде курстық жұмыс орындалады. Курстық жұмысты орындау нәтижесінде студенттер модельдеудің аналитикалық әдістері негізінде басқару объектінің моделін құрастыруды, оның динамикалық сипаттамаларын талқылауды, басқару объекттерді комппьютерде модельдеу дағдыларын үйренеді.

  Курстық жұмыста резервуарлар каскадының динамикасы зерттеледі. Объекттің математикалық моделі дифференциалдық теңдеулер жүйесі ретінде модельдеудің аналитикалық әдістері негізінде жасалады.

Жұмыс мақсаты: басқару объекттің математикалық моделін құрастыруды дағдылану, объекттің динамикалық сипаттамаларын талқылауды, басқару объектті компьютерде модельдеуді үйрену.

  Қарастырылып отырған объектілердің жүріс-тұрысын имитациялық модельдеу үшін MatLab жүйесінің динамикалық жүйелерді модельдеу Simulink пакеті және  оқиғалы-басқару жүйелерді жобалаудың Stateflow пакеті қолданылады.

         Динамикалық жүйелерді модельдеу Simulink пакеті өзінің функционалдық блок-сұлбасымен (модель деп аталатын) көрсетілетін сызықты және сызықты емес динамикалық жүйелер мен құрылғыларды математикалық модельдеуге негізделген. Модельденетін құрылғылардың функционалдық блок-сұлбасын  жасау үшін Simulink-те блоктық компоненттердің үлкен библиотекасы және блок-сұлбалардың ыңғайлы редакторы бар. Блок-сұлбалардың редакторы пайдаланушының графикалық интерфейсін қолдануда негізделіп, визуалды программалау құралы болып табылады. Блок-сұлбалардың компоненттер жиындарын қолданып пайдаланушы қажетті компоненттерді пакеттің жұмыс ортасына орнатып, блоктардың кірістері мен шығыстарын байланыстырады. Нәтижесінде модельдің блок­-сұлбасы жасалады.

          Simulink пакеті модельдеудің келесі ең күрделі кезеңін автоматтандырады: ол берілген функционалдық сұлбаны (модельді) бейнелейтін күрделі алгебралық, дифференциалдық теңдеулер жүйелерін құрастырады және шешеді. Сонымен бірге пайдаланушы жасаған виртуалды құрылғының жүріс-тұрысын ыңғайлы және визуалды бақылауын қамтамасыздандырады. Компоненттер библотекасының көлемінің молдығы  (әртүрлі уақыттық тәуелділіктері бар сигналдар көздері, әртүрлі  беріліс сипаттамалары бар түрлендіргіштер, интегралдау, дифференциалдау блоктары, т.б.) және тіркеу құрылғылардың жиындарының болғандығы Simulink пакетінің ерекшелігі болып табылады.

         Пакеттің тағыда бір артықшылығы – блоктарда кез-келген математикалық өрнектерді орнату мүмкіншілігі. Программалық құрал ретінде Simulink программалаудың визуалды-бағытталған тілінің үлгі-нұсқасы болып табылады. Жұмыстың барлық кезеңдерінде пайдаланушы әдеттегі программалауды қолданбайды. Компоненттер блоктарын таңдап, оларды қосып, параметрлерін орнатқан кезде порграмма коды автоматты түрде жасалады.

 Simulink ортасына маңызды қосымша - оқиғалы басқарылатын жүйелерді жобалауға негізделген Stateflow пакеті. Бұл пакет күрделі басқару жүйелерді жобалаудың графикалық құралы болып табылады және күрделі оқиғалы басқарылатын жүйелердің жүріс-тұрысын модельдеуге мүмкіндік береді.

  Statefiow-диаграммасын жасау алдында біріншіден Simulink-те модельді жасап алу немесе жасалынған модельді ашу қажет. Содан кейін блоктар библиотекасынан Statefiow диаграммасының белгісін модельге көшіру керек. Оны ашқаннан кейін (мышкамен екі рет басып) Statefiow (Сhart) терезесі пайда болады. Осы терезеде менюды және инструменттер панелін пайдаланып күйлерді, олар арасындағы байланыстарды, айнымалыларды, қосылу шарттарды және басқада басқаруға қажетті элементтерді бейнелеуге болады.

 

1 Курстық жұмысқа тапсырма

 

1.1 Зертеу объектісімен танысыңыз. Объекттің математикалық моделінің теңдеулерін дәлелдеңіз.

1.2 Математикалық модельдің кірудегі және шығудағы айнмалыларын анықтаңыз. Объект жұмысының алгоритмін өңдеңіз.

1.3 Қарастырылып отырған динамикалық жүйенің жүріс-тұрысын зерттеу үшін MatLab жүйесінің Simulink пакетін қолданыңыз. Жүйе жұмысының логикасына сәйкес Simulink пактінде модельдің блок-диаграммасын құрастырыңыз.

1.4 Басқару жүйелерді жобалау Statefiow графикалық құралын қолданып, объектті басқаруды модельдеңіз.

1.5 Қарастырып отырған жүйенің жүріс-тұрысын зерттеу үшін имитациялық тәжірибелерді өткізіңіз (нұсқа бойынша). Зерттеу нұсқасын оқытушыдан алыңыз.

1.6 Жұмыс бойынша есеп беру келесілерден тұрады:

- курстық жұмыстың есебінің қойылуы;

- дәлелденген модель теңдеулері;

- модельдің кірудегі және шығудағы айнымалылар тізімі;

- түсініктемелері бар Simulink пакетінде модельдің әр блогының толық блок-диаграммалары;

- контроллердің блок-диаграммасы;

- өткізілген тәжірибелердің нәтижелері және талқылауы.

 

2 Зерттеу объектінің бейнелеуі

 

Зерттелетін жүйе екі цилиндрлік бактен тұрады. Бірінші бактің түбі екінші бактің түбінен H м қашықтықта орнатылған (1 суретін қараңыз). Бактердің биіктіктері бірдей - h м, ал диаметрлері әртүрлі: D1 см – біріншіде, D2 см – екіншіде. Жүйе кірісінде құбыр бар, ол бірінші бактің түбінен h биіктікте орнатылған. Бактер бір-бірімен құбыр арқылы байланысқан, ол құбыр бірінші бактің шығуында ең төменде және екінші бактің кіруінде оның түбінен Н биіктікте орнатылған. Сонымен бірге жүйеде екінші бактің төмен жағында орнатылған шығу құбыры бар.

Жүйенің кірудегі құбырында Vinput  кіріс краны бар, ол демде ашылады және судың кіріс ағынының жылдамдылығы келесі өрнекпен анықталады (л/сағ):

                                  (1)

V1 және V2 крандар ақырын құрылғылар болып табылады, олардың ашылуы мен жабылуы бірдей жылдамдылықпен өтеді және ашылу (жабылу) басталғаннан кейін толығымен ашылуға (жабылуға) дейін 80 с өтеді. Олардың ашылуы және жабылуы ысырмамен бақыланады, ысырма өзінің орнын Р=0-ден (толық жабылу) Р=80-ге (толық ашылу) дейін өзгертеді.

           

1 сурет Зерттелетін жүйе

 

Vinput, V1 и V2 крандардың ашылуы/жабылуы арнайы контроллермен өткізіледі.

Егер де А1 және А2 деп бактердің табандарының аймағын белгілесек, бактердегі h1 және h2  су деңгейлері үшін теңдеулер жүйесі келесідей жазылады:

                                                                          (2)

мұндағы   - судың бактер арасында ағу жылдамдылығы,

 - судың жүйеден ағып шығу жылдамдылығы.

Бактер арасында судың ағу жылдамдылығы h1 және h2 су деңгейлерінен, Н мәнінен және V1 крандағы Р1 ысырманың қалпынан тәуелді:

                                                                        (3)

Подпись:     (4)Судың жүйеден ағып шығу жылдамдылығы екінші бактегі h2 су деңгейінен және V2 кранның Р2 ысырманың қалпынан тәуелді:

                 

Крандардың жекеленген қасиеттері келесі функцияларымен анықталады:

 

 

Подпись:     (5)                    

 

 

   3 Жүйе жұмысының алгоритмі

 

  Жүйе жұмысы келесі алгоритммен бейнеленеді. Алғашқы күйде барлық крандар жабық, бактің екеуіде бос. Бастапқы уақытта контроллер кірудегі Vinput кранға сигнал жібереді, ол сол уақытта тез ашыладыда Time1 [с] уақыт ішінде тек қана бірінші бак толтырылады.

  Time1 уақыттан кейін контроллер V1 кранды ашу сигналын жібереді, су екінші бакке түсе бастайды. Екінші күй Time2 [с] уақыт бойынша сақталады.

  Time2 уақыт өткеннен кейін V2 кранның қалпы бақыланады: егер де  контроллер екінші бактегі су деңгейінің L_min [м] мәнінен төмендегенін білсе, шығудағы кранды жабу бұйрығы түседі, ал егер де екінші бактегі су деңгейі L_plus [м] мәннен жоғары болса – шыгудағы кранды ашу бұйрығы түседі. 

 Егер де бактардің біреуі толып кетсе немесе шығудағы кран бір ашылып, бір жабылып тұрса, осындай жағдайлар авариялық деп есептеледі.

 Барлық крандар ашық болып, су жүйе арқылы тұрақты жылдамдылықпен ағып тұрса, бұл жағдай нормалды жағдай болып есептеледі.

 Екі бактен тұратын жүйеге Vinput, V1 және V2  мәндері туралы сигналдар конроллерден түседі. Бұл айнымалылар модель кірістері болып табылады.

 Сонымен, модельдің бастапқы сұлбасын келесі түрде көрсетуге болады (2 cуретін қараңыз). Бұл ішкі жүйені Tank_System_Block деп атаймыз.

 

 

 

 

 

 2 сурет – Судың денгейлерін анықтаудың Tank_System_Block ішкі жүйесі

 

 Келешекте модельдің барлық блоктары ішкі жүйе ретінде орнатылатынын ескертеміз.

 Шығудағы h1 және h2 айнымалыларын анықтауға негізделген бірінші ретті дифференциалдық теңдеулер жүйесі (2) модельдің негізгі теңдеулері болып табылады.

 Осы теңдеулерді модель блок-диаграммасына түрлендіру үшін келесі идея қолданылады. Біріншіден теңдеулердің оң жақ бөліктері іске асырылады. Алынған өрнекті интегралдап, h1 және h2 мәндерін аламыз. Алынған шамаларды енді теңдеулердің оң жақ бөліктерінде қолдануға болады (кері байланыс көмегімен).

 Сонымен, (2) жүйені шешу үшін теңдеулердің оң жақтарын анықтау керек. Осы теңдеулердің оң жақтағы өрнектерінің құрамдастыру элементтерін талқылайық.

(2) жүйенің бірінші теңдеуінің оң жағындағы  өрнегі контроллерден түскен Vinput сигналының мәніне қарай (1) формулаларының біреуімен есептеледі.

(3) формулалар бойынша  (екі мүмкін болатын оқиғаға сәйкес өрнектердің екі нұсқасы бар) және  (4) формуласы бойынша мәндерін есептеу үшін біріншіден K1(P1) және K2(P2) функцияларды есептеп алу керек. Ішкі жүйе кірісіне контроллерден түскен шаманың мәніне қарай бұл функциялар (5) формулалармен есептеледі.

(3) және (4) өрнектерінде K1(P1) және K2(P2) функцияларымен бірге h1 және h2 ағынды мәндері қолданылады. Басқа сөзбен айтқанда дифференциалды теңдеулерді интегралдағаннан кейін алынған бактердегі денгейдің мәндерін осы теңдеулердің оң жақтағы өрнектерін есептейтін ішкі жүйелерге беру керек.

 

  4 Модельдің блок-диаграммасын жасау

  4.1 Диаграмманың жалпы түрі

  Модельдің блок–диаграммасы MatLab жүйесінің Simulink пакетінде құрастырылады.

  Модель диаграммасының Simulink пакетіндегі соңғы түрі  3 суретте келтірілген.

         

3 сурет - Модель диаграммасының соңғы түрі 

 

 System блогының кірістері жоқ, екі шығысы бар – h1 және h2, олар стандартты Мuх блогымен қосылған. Мuх шығыстарды бір (h1, h2) векторға біріктіреді және стандартты Scope блогымен қосылған.

        

 4.2 System ішкі жүйесінің диаграммасы

 Модельдің блок-диаграммасын жасау үшін біріншіден жүйеде бөлек тәуелсіз элементтерін белгілеп, олар өзара қалай байналысқанын анықтау қажет.

  Қарастырып отырған есепте біріншіден екі негізгі элементті белгілеуге болады: екі бактен тұратын жүйенің өзін және крандардың ашылу/жабылу процесін басқаратын құрылғы, оны контроллер деп атайды.

Екі бактен тұратын жүйеге контроллер Vinput, V1, V2 крандардың жүріс –тұрысын басқаратан сигналдарды жібереді. Бактер жүйесін дұрыс басқару үшін контроллер Time1, Time2 уақыт интервалдарын, L_plus және  L_min деңгейлерін біліп отыруы керек, және шығудағы V2  кранның жүріс –тұрысын басқаруға қажет болатын бактер жүйесінен екінші бактегі су деңгейінің h2 мәнін алып отыруы керек.

Модельдің негізгі ішкі жүйесі (оны System деп атаймыз) құрамды блок болып табылады  (4 суретін қараңыз). Бұл ішкі жүйе бір бірімен функционалдық байланыстармен байланысқан Stateflow диаграммасы (Chart стандартты блок болатын және контроллердің жүріс-тұрысын бейнелейтін Controller блогымен көрсетілген) мен құрамдасқан Tank_System_Block блогынан (бактердегі су деңгейін анықтайтын) тұратын функционалды сұлбадан тұрады.

         Сонымен бірге  System блогында Clock сағаты бар, ол жүйелік уақытты Simulink-тен Stateflow диаграммасына береді. Бұның мәнісі келесіде: кейбір уақыт интервалдарының бітуінен пайда болатын көшулері бар Stateflow блогын қолданатын модельдерді құрастырғанда Stateflow-мен Simulink-тегі ішкі уақыттарын сәйкестіру керек. Ол үшін Stateflow блогына бөлек кіріске Simulink-тен жүйелік уақытты беріп, осы уақытты көшу шарттарын құрастырғанда қолдану керек (мысалы,  екі бак туралы есепте Time1 және Time2 уақыт аралықтарының аяқталуын).

  

            4 сурет – System ішкі жүйенің диаграммасы

 

  Clock және Controller блоктарын қосатын байланысына екі Hit Crossing блоктары қосылады. Тағы екі Hit Crossing блоктарын Controller блогымен Tank_System_Block блогының h2  шығудағы сигналын қосатын байланысқа қосыңыз.

  Hit Crossing блоктарын қолдану үздіксіз интегралдау орындалатын Simulink моделіне еңгізілген Stateflow диаграммасында көшулердің дұрыс орындалуына керек. Hit Crossing блогының кірісіне бір шама беріледі (екі Hit Crossing блогы үшін – жүйелік уақыт, тағы бір екеуіне - h2 шамасы). Hit Crossing блогында бір шама орнатылады, онымен кірістегі шаманың мәні бірдей болса, жүйе интегралдау қадамын азайтады.  Stateflow жүйенің спецификасымен байланысты бұл жағдай көшулердің дұрыс орындалуына әсер етеді, көшу орындалатын уақытын жүйе өтіп кетпеу үшін. Бірінші Hit Crossing блогының ішкі шамасы Time1 уақыт моменті болады, екіншіде - Time1  + Time2, үшіншіде - L_plus, төртіншіде - L_minus мәндері.

 

 4.3 Tank_System_Block ішкі жүйенің құрамдастыру блоктары

 Tank_System_Block құрамдасқан блогы сәйкес функционалдық байланыстарымен қосылған келесідей элементтерден тұрады:

  - Tank_System құрамдасқан блогы (Chart  блогының сәйкес шығуларымен байланысқан үш кірісі және екі h1 мен h2 шығысы  бар);

  - бактердің толып кетуін тексеретін блоктар (стандартты Const, Relational Operator және Stop Simulation блоктарымен іске асырылады).

Tank_System екі бак жүйесі конроллер сигналдарын бақылап, крандардың ашылу/жабылуын басқару керек. Сонымен бірге екінші бактегі су H деңгейінен көтерілген күйді аңдып, осындай оқиға пайда болған кезде судың екінші бакке тұсу жыдамдылығын (3) формула бойынша өзгертіп отыруы керек.  Сонымен бірге жүйе бактердің толып кеткен жағдайларын бақылап, қажетті әрекетті орнатуы керек.

Осы талаптарды есепке алып, жүйені бірнеше бөліктерге бөлуге болады:

- Vinput  кранының ашылу/жабылуын басқаратын элементі, бұл ішкі жүйені Vin_Control деп атаймыз ;

- (5) формулалар бойынша Р1 және Р2 ысырмалардың ашылу/жабылуын басқаратын элементтер; олар K1_Control және K2_Control ішкі жүйелер болады;

- жүйенің үшінші элементі ретінде екі бактің өздерін қарастыруға болады, олар екі бактің толып кету авариялық күйін және екінші бакте су деңгейі H мәнінен асып кеткен жағдайын бақылайды; бұл ішкі жүйені Two_Tanks деп атаймыз.

 

4.3.1     Кірудегі кранды басқару блогы.

  Құрамдасқан Vin_Control блогы құрамындағы функционалды сұлба келесілерден тұрады: Switch стандартты блогы және Const стандартты блогының екі данасы; оларда кірістегі кран ашық немесе жабық болғандағы кіріс ағынның жылдамдылығы орнатылған. Бұл мәндер арасында қайта қосылу контроллерден Vin_Control блогының кірісіне түскен мәнге сәйкес Switch блогында орындалады. Сәйкес Vin мәні шығуға беріледі.

  Vin_Control блогының жалғыз кірісі мен жалғыз шығысы бар.

 

4.3.2     Бактер арасындағы кранды басқару блогы.

  K1_Control және K2_Control құрамдасқан блоктардың ұқсас функционалдық сұлбалары бар, олар тек қана Fcn стандартты блогында орнатылған  теңдеулер коэффициентерімен ((5) формулалары) айырылады. Әр блоктың функционалдық сұлбасы келесі элементтерден тұрады:

-   Switch стандартты блоктарының екі данасы: біріншісі V1/V2 крандардың ашық/жабық  күйелері арасында қайта қосылуды орнату үшін, екіншісі Р параметрі 80­-ге тең болған күйді бақылап, К(р) функциясының мәндері арасында сәйкес қайта қосылуды орнату үшін;

   -   Const стандартты блогының екі данасы V1/V2  крандарының ашылады/жабылады күйлеріне сәйкес 1 және -1 мәндерінен тұрады, және тағы бір Const блогы Р>=80 болған кезде К(р) функциясына 0 мәнін меншіктеуге негізделген;

-         Integrator стандартты блогы, қайта қосқыштан түскен (1 немесе -1) мәнді 0-ден 80-ге дейін интегралдау үшін, интегралданатын шаманың бастапқы мәні 80-ге тең (бұл блоктың шамасы екінші қайта қосқыш кірісіне түседі);

-         Fсn стандартты блогы, мұнда  К1(р)/К2(р) функциялардың мәндері есептеледі.

  Switch блогындағы қайта қосылу K1_Control/K2_ControI блогының кірісіне контроллерден түскен V1/V2 шамаға байланысты орындалады. Сәйкес kl/k2 шамасы шығуға беріледі. K1_Control/K2_Control блоктарында жалғыз кірісі және жалғыс шығысы бар.

 

   4.3.3 Two_Tanks ішкі жүйесі.

   Two_Tanks ішкі жүйесінің kl, k2 және Vin кіру айнымалылары бар. Олар V1 және V2 крандарды басқаратын функциялар мәндері және жүйеге түсетін судың кіріс ағын жылдамдылығы болып табылады. Бұл айнымалылар қарастырылып отырған ішкі жүйеге есептелген блоктардың шығыстарынан түседі.

  Шығудағы айнымалылар – бірінші және екінші бактердегі h1 және h2 су денгейлері. Бұл айнымалылардың мәндері (2) формулалар бойынша есептелген. Бұл теңдеулердің оң жақтарында өзгеру заңдары (3) және (4) формулалармен берілетін Vout және V12 шамалары бар. Сондықтан, біріншіден осы айнымалыларды есептейтін ішкі жүйелерді құру керек, оларды Vout_calc, V12_calcl және V12_calc2 деп атаймыз (екі блок, себебі (3) формуланың екі тармағы бар).

 Vout_calc блогының кірісіне k2 және h2 мәндер түседі. Оларды бір векторға біріктіру үшін стандартты Мuх блогы қолданылады. Бұл блоктан вектор стандартты Fсn блогына түседі, мұнда шығудағы Vout шаманың мәні есептеледі ((4) формуласы).

 Сол сияқты шығудағы V12 шығудағы шаманы есептеуге екі блок құрастырылады ((3) формуласы). Құрамдасқан V12_calcl блогының функционалдық сұлбасында стандартты Мuх блогы бар, ол оның кірісіне түсетін kl және h1 мәндерін бір векторға біріктіріп, оны стандартты Fсn блогының кірісіне береді, онда V12 шығу шаманың мәні есептеледі. V12_calc1 блогының екі кірісі және жалғыз шығысы бар.

 Құрамдасқан V12_calc2 блогының функционалдық сұлбасында стандартты Мuх блогы бар, ол оның кірісіне түсетін kl, hl және h2 мәндерін бір векторға біріктіріп, оны стандартты Fсn блогының кірісіне береді, онда V12 шығу шаманың мәні есептеледі. V12_calc2 блогының үш кірісі және жалғыз шығысы бар.

  Құрамдасқан Two_Tanks блогының функционалды сұлбасы келесі элементтерден тұрады:

-   құрамдасқан Vout_calc, V12_calcl және V12_calc2 блоктары;

-   стандартты Switch блогы;

-         Vin (Two_Tanks блогының кірісіне Vin_Control блогынан түсеті) және V12, Vout және V12 сигналдарының сәйкес мәндерін векторларға біріктіретін стандартты Мих блогының екі данасы;

-  теңдеулердің оң жақтары есептелетін ((2) формулалар) Fcn блоктары;

- стандартты Integrator блогының екі данасы, олардың шығулары модель шығуына түсетін h1 және h2 мәндері болып табылады.  

  Switch блогындағы қайта қосылу интегратордан Switch блогының кірісіне түсетін h2 мәніне сәйкес орындалады. Сол кезде V12 мәнін есептейтін блоктардың біреуі жұмысқа қосылады.

 

4.3.4     Зерттеу объекттің соңғы диаграммасы.

  Өзара функционалдық байланыстарымен байланысқан Two Tanks, Vin Control, K1_Control және K2_Control блоктары Tank_System блогын құастырады.  Tank_System блогының контроллерден түсетін сигналдарға негізделген үш кірістері (Vinput, V1, V2) және екі – h1 мен h2 шығысы бар.

    Өзара функционалдық байланыстармен байланысқан құрамдасқан Tank_System блогы, стандартты Constant, Relational Operator және  Stop Simulation блогының екі данасы (бактердің толып кетуін тексеретін) Tank_System_Block ішкі жүйесін құрады.

 Tank_System_Block блогының үш кірісі бар (оларға контроллерден сигналдар беріледі) және екі шығысы бар (h1мен h2). Осы ішкі жүйе біздің зерттеу объектіміздің блок-диаграммасы болып табылады.

         

5 Объектті басқару

5.1 Simulink пакетінің Statefiow ішкі жүйесі

Жүріс-тұрыстары сыртқы оқиғалардан (ситуациялардан) тәуелді болатын жүйелерді модельдеу оқиғалық немесе ситуациялық модельдеу деп аталады. MatLab жүйесінің Simulink пакетінде осындай модельдеу арнайы Stateflow кеңейту пакеті көмегімен жасалады. Statefiow пакетінде басқару жүйенің моделін жасау процесі әдетте келесі кезеңдерден тұрады:

  - басқарылатын объекттің жаңа моделін Simulink-те жасау немесе бар болатын моделді қолдану;

- Statefiow-да диаграмманы жасау;

- Statefiow блогына оқиғалар мен мәліметтер интерфейстерін қосу;

- моделді жөндеу;

- кодты генерациялау.

Statefiow пакетінің пайдаланушыға арналған SF-диаграмма деп аталатын графикалық диаграммаларды жасауға негізделген өзінің графикалық интерфейсі бар. Бұл диаграммалар мделденетін жүйенің жұмысын визуалды көріп отыруға мүмкіндік береді. Оған қол жеткзу үшін ағынды уақыттағы активті немесе пассивті болатын блоктар мен олар арасындағы кей-бір шарттар себептерінен пайда болатын көшулерді орнатып, жүйе жұмысының барлық кезеңдерін талқылау қажет. Stateflow құралдарына қол жеткізу Simulink пакетінің библиотекасының бөліктеріне қол жеткізуге ұқсас. Stateflow пакетінің библиотека терезесінде жалғыз Chart блогы бар, оны модель терезесінде мышка көмегімен орнатамыз. Осы блокта меню және құралдар панелін қолданып күйлерді, олар арасындағы байланыстарды бейнелеуге, айнымалыларды, қайта қосу шарттарын, және тағыда басқаруға қажетті элементтерді анықтауға болады.

Statefiow негізінде жүйені көрсетудің арнайы түрі – жүйе жағдайларының диаграммасы қолданылады. Күйлер диаграммасының негізгі элементтері – күй (state)  және көшу (transition).

  Әрбір күй оқиғалы-басқарылатын жүйенің жұмысының бір режимін бейнелейді. Егер де күйге келтіретін көшу шарты “ақиқат ” мәнін қабылдаса (яғни көшу жұмысқа қосылса) немесе бұл күй бастапқы болса, күй активті болады. Statefiow диаграммасында әр күйдің «анасы» бар, келісім бойынша Statefiow диаграммасының өзі «ана» болып табылады. Графикалық бейнені жасау үшін, құралдар панелінен сәйкес батырманы таңдап, орнатылатын орынға мышка батырмасын басамыз. Күй активті болған кезде олар орындалатын әрекеттерді анықтайтын күйдің мәтіндік белгілері болады. Күйдің атауы бірінші еңгізіледі.

Екі күйді өзара байланыстыратын объект көшу деп аталады. Stateflow диаграммасында ол стрелкамен көрсетіледі, оның басы көз болатын күйде, ал соңы – адресат болатын күйде орнатылады. Көшуді сызу үшін мышканы көз болатын күйде орнатып, мышка батырмасын басып, пайда болған стрелканы адресат күйге дейін созамыз. Көшудің көшу шарттарын бейнелейтін және көшу кезде орындалатын белгілері бар. Белгі мәтінінің форматы:

                          Event [condition] {condition_action}/transition_action

мұнда

- Event – көшуді бастайтын оқиғаны анықтайды; егер де оқиға аталмаған болса, көшу логикалық өрнегі орындалған кезде басталады; егер де көшуді бастайтын оқиғалар бірнеше болса, бір бірінен OR операторымен бөлініп, олардың барлығы аталады;

         - condition – ақиқат болып, көшуді бастайтын логикалық өрнек;

         - condition_action – көшу шарты ақиқат болғаннан кейін, бірақ көшудің өзі әлі ақиқат болып анықталмаған кезде (адресат-күй анықталмаған) орындалатын әрекет;

  - transition_action – алдында бейнеленген шарттардың барлығы ақиқат болғанда және адресат-күй анықталған болған кезде, орындалатын әрекетті анықтайды.

Сандық мәліметтерді сақтауға Stateflow диаграммасының графикалық емес объекттері - айнымалылар негізделген. Айнымалыларды иерархияның кез-келген денгейінде қолдануға болады. Айнымалылардың келесі түрлері бар: кірудегі; шығудағы: жергілікті; тұрақтылар; белгілі уақыт аралығында пайда болатын; Matlab жұмыс ортасында анықталған; Stateflow мен Simulink диаграммаларға сыртқы көздерінен еңгізілетін; Stateflow және Simulink диаграммаларлардан сыртқа берілетін.

  Stateflow блогында кірудегі немесе шығудағы айнымалыларды жасау үшін Stateflow диаграммасының терезесінде келесі меню таңдалынады: Add/Data/Input from Simulink (кірудегі айнымалыны жасау), Add/Data/Output to Simulink (шығудағы айнымалыны жасау) және Add/Data/Local (жергілікті айнымалыны жасау) және пайда болған Data диалогты терезесінде айнымалы аты мен басқада сипаттамаларын еңгізу керек.

 Диаграмманы басқаратын графикалық емес объекттер оқиғалар болып табылады. Stateflow диаграммасына қатысты оқиғалардың барлығы анықталған болуы керек. Оқиғалардың келесі түрлері бар: кірудегі; шығудағы: жергілікті; Stateflow мен Simulink диаграммаға сыртқы көздерінен еңгізілетін; Stateflow және Simulink диаграммалардан сыртқа берілетін.

   Stateflow блогында кірудегі немесе шығудағы оқиғаларды жасау үшін Stateflow диаграммасының терезесінде келесі меню таңдалынады: Add/ Event /Input from Simulink (кірудегі айнымалыны жасау), Add/Event /Output to Simulink (шығудағы айнымалыны жасау) және Add/Data/Local (жергілікті айнымалыны жасау) және пайда болған Event диалогты терезесінде айнымалы аты мен басқада сипаттамаларын еңгізу керек.

 

5.2 Контроллер диаграммасын жасау

  Диаграмма Contoller блогының жүріс-тұрысының логикасын қамтып көрсетеді. Бастапқы нүктеден процесс лезде state1 күйге көшеді, бұл күйдің кірудегі әрекеті Vinput кірудегі кранды ашатын сигналды жіберу болып табылады.

  Time1 уақыт өткеннен кейін state2 күйге көшу орындалады, бұл күйдің кірудегі әрекеті бактер арасындағы кранды ашу сигналды жіберу болып табылады.

 Time2 уақыт өткеннен кейін state3 күйге көшу орындалады, бұл күйдің кірудегі әрекеті V2 шығудағы кранды ашу сигналды жіберу болып табылады. Екінші бактегі су деңгейі  L_min мәнінен төмендеуін білдіретін h2 < L_min шарты ақиқат болғанша жүйе осы күйде болады. Егер де шарт орындалса, жүйе state4 күйге көшеді, бұл күйдің кірудегі әрекеті V2 шығудағы кранды жабу сигналды жіберу болып табылады. Екінші бактегі су деңгейі  L_plus мәнінен өскенін білдіретін h2 > L_plus шарт орындалғанша жүйе осы күйде болады. Шарт орындалған кезде жүйе қайтадан state3 күйге көшеді.

 

   6 Модельде имитациялық тәжірибелерді өткізу

   6.1 Жүйе жұмысында пайда болатын келесі келтірілген оқиғаларды модельдеу үшін Timel, Time2, L_plus және L_min жүйе параметрлерін табыңыз:

  а) жүйенің нормалды режимде жұмыс істеуі;

  б) бірінші бактің толып кетуі;

  в) екінші бактің толып кетуі;

  г) шығудағы кранның бір ашылуы, бір жабылуы. Осы жағыдай үшін бірінші және оныншы қайта қосылу уақыттарын және осы уақыттардағы h2 денгей мәндерін белгілеңіз.

  6.2 Тәжірибелер нәтижесінде келесі кестені толтырыңыз:

Ситуация

Timel [с]

Time2 с]

L_plus [м]

L_min |м]

а

 

 

 

 

б

 

 

 

 

в

 

 

 

 

г

 

 

 

 

 

  

 

7 Тапсырма нұсқалары

Нұсқа

h

H

D1

D2

Vinput

1

0,7

0,27

8,4

3,5

280

2

0,5

0,2

6

2,5

200

3

0,625

0,25

7,5

3,125

250

4

0,8

0,48

9,6

4

320

5

0,875

0,34

10,5

4,375

350

Нұсқа

h

H

D1

D2

Vinput

6

0,75

0,29

9

3,75

300

7

1,25

0,48

15

6,25

500

8

1,125

0,44

1,5

5,625

450

9

1,5

0,58

18

7,5

600

10

1,375

0,54

16,5

6,875

550

11

1,1

0,585

13,2

5,5

440

12

1,2

0,42

14,4

6

480

13

0,6

0,27

8,0

4,5

270

14

0,5

0,3

5,6

2,8

200

15

0,65

0,35

7,0

3,5

250

16

0,8

0,5

9,5

4,2

300

17

0,85

0,35

10,0

4,75

320

18

0,75

0,25

9.5

3,5

310

19

1, 5

0,5

10

6,5

400

20

1,15

0,45

8.0

5,5

250

21

1,5

0,5

15

7,0

200

22

1,35

0,5

14,5

6,75

50

23

1,3

0,55

12,2

5,8

420

24

1,4

0,4

14,0

6,2

430

25

1,2

0,3

7.0

5,0

230

26

1,8

0,5

17

6,0

210

27

1,25

0,7

14,0

6,5

70

28

1,35

0,50

12,0

5,9

400

29

1,5

0,6

14,6

6,3

470

30

0,75

0,4

9,0

5,0

315

 

8 Бақылау сұрақтары

8.1 Модельдеудің аналитикалық және тәжірибелік әдістерінің айырмашылығы неде?

8.2 Модель теңдеулерін жазу үшін қандай сақтау заңдары қолданылды?

8.3 Модель түрінен оның динамикалық болатынын қалай білуге болады?

8.4 Simulink пакетін қандай есептерді шешуге қолдануға болады?

8.5 Объектіні басқаруды модельдеу үшін MatLab жүйесінің қандай құралы қолданылады?

8.6 Тәжірибе нәтижелерін визуалдау үшін Simulink-тің қандай құралдары қолданылады, олардың ерекшеліктері неде?

8.7 Көшуді орындау үшін Stateflow-ның қандай блоктары қолданылады?

8.8 Mux, Switch, Fcn блоктарының міндетін түсіндіріңіз.

8.9 Simulink-тің библиотекасының негізгі бөліктерін атаңыз.

8.10 Модельдің блок-диаграммасын құрастыру үшін Simulink библиотекасының қандай блоктарын қолдандыңыз?

 

Әдебиет тізімі

1.     Ибраева Л.К., Хисаров Б.Д. Моделирование и идентификация объектов управления. Учебное пособие. – Алматы: АИЭС, 2009.

2.     Ибраева Л.К., Хисаров Б.Д. Басқару объекттерді модельдеу және идентификациялау. Оқу құралы. – Алматы: АИЭС, 2009.

3. MATLAB 6.5 SP1/7.06 Simulink 5/6 в математике и моделировании. – М.: СОЛОН-Пресс6 2005.

4. Дьяконов В. П. MatLab 6/6.1/6.5 + Simulink 4/5. Основы применения. –М.: Солон-ПРЕСС,  2004.

5. Сыздықов Д.Ж., Сақбаев Н.К. Басқару объектілерін моделдеу және идентификациялау. – Шымкент, 2008.

 

 Мазмұны

 

Кіріспе

3

1 Курстық жұмысқа тапсырма

4

2 Зерттеу объектіні бейнелеу

4

3 Жүйе жұмысының алгоритмі

6

4 Модельдің диаграммасын жасау

8

   4.1 Диаграмманың жалпы түрі

8

   4.2 System ішкі жүйенің диаграммасы

8

   4.3 Tank_System_Block ішкі жүйенің құрамдастыру блоктары

10

         4.3.1 Кірудегі кранды басқару блогы

10

         4.3.2 Бактер арасындағы кранды басқару блогы

10

         4.3.3 Two_Tanks ішкі жүйесі

11

         4.3.4 Зерттеу объект моделінің соңғы диаграммасы

12

5 Объектті бвсқару

12

   5.1 Simulink пакетінің Stateflow ішкі жүйесі

12

   5.2 Контроллер диаграммасын жасау

14

6 Модельде имитациялық тәжірибелерді өткізу

15

7 Тапсырма нұсқалары

15

8 Бақылау сұрақтары

16

Әдебиет тізімі

17

  

 

                                                                          2012 ж. жалпы жоспары,  реті 99