간단한모델만들기
万博1manbetx®를사용하여시스템을모델링한후이시스템의역학적동작을시뮬레이션할수있습니다。이튜토리얼에서간단한모델을만드는데사용하는기본기법은보다복잡한모델에사용하는기법과같습니다。이예제에서는자동차의단순화된움직임을시뮬레이션합니다。자동차는일반적으로가속페달을누르고있는동움직입니다。페달을놓으면자동차가공회전상태가되고정지하게됩니다。
万博1manbetxSimulink블록은입력과출력간의수학적관계를정의하는모델소입니다。이러한간단한모델을만들려면4개의Simul万博1manbetxink블록이필합니다。
블록 이름 | 블록 용도 | 모델 용도 |
---|---|---|
脉冲发生器 | 모델의입력신호생성 | 가속페달을@ @현 |
获得 | 입력신호에상수값곱하기 | 가속페달을누르는것이자동차가속에어떻게향을미치는지를계산 |
积分器,二阶 | 입력신호를두번적분 | 가속으로한위치구하기 |
外港 | 신호를모델의출력으로지정 | 구한위치를모델의출력으로지정 |
이모델의시뮬레이션에서는짧은펄스를두번적분하여램프를구합니다。결과는스코프창에@ @시됩니다。입력펄스는가속페달의누름상태를나타냅니다。가속페달을누른경우1이고누르지않는경우0입니다。출력램프는시작점에서가하는거리입니다。
새모델열기
万博1manbetxSimulink편집기를사용하여모델을구축합니다。
MATLAB®을시작합니다。Matlab툴스트립에서万博1manbetx버튼을클릭합니다。
빈 모델템플릿을클릭합니다。
万博1manbetxSimulink편집기가열립니다。
시뮬레이션탭에서저장>다른이름으로저장을선택합니다。파일 이름텍스트상자에서모델의이름을입력합니다。예를 들면
simple_model
을지정합니다。저장을클릭합니다。파일확장자.slx
로모델이저장됩니다。
万博1manbetx라이브러리브라우저열기
万博1manbetx仿真软件는라이브러리브라우저에서기능별로구성된블록라이브러리세트를제공합니다。대부분의워크플로에공통으로사용되는라이브러리는다음과같습니다。
连续—연속상태를갖는시스템을위한블록
离散-이산상태를갖는시스템을위한블록
数学运算-대수방정식및논리방정식을구현하는블록
sink -자신에게연결되는신호를저장하고시하는블록
资料来源:모델을구동하는신호값을생성하는블록
시뮬레이션탭에서라이브러리브라우저버튼을클릭합니다。
라이브러리브라우저를다른데스크탑창보다위에@ @시되도록설정합니다。万博1manbetxSimulink라이브러리브라우저도구모음에서맨앞에고정버튼을선택합니다。
블록라이브러리를탐색하려면범주를선택한후왼쪽창에서기능역을선택하십시오。사용가능한블록라이브러리를모두검색하려면검색어를입력하십시오。
예를들어,脉冲发生器블록을찾는다고가정해보겠습니다。브라우저도구모음의검색상자에脉冲
를입력한후输入키를누릅니다。万博1manbetxSimulink가라이브러리에서이름또는설명에脉冲
가있는블록을찾아서결과를@ @시합니다。
블록에대한세부정보를가져옵니다。脉冲发生器블록을마우스오른쪽버튼으로클릭한후脉冲发生器블록에대한도움말을선택합니다。도움말브라우저가열리고블록에대한도움말페이지가@ @시됩니다。
블록은일반적으로여러개의파라미터를갖습니다。블록을더블클릭하여모든블록파라미터에액세스할수있습니다。
블록을모델에추가하기
모델구축를시작하려면라이브러리를탐색한후블록을추가하십시오。
来源
라이브러리에서脉冲发生器블록을S万博1manbetximulink편집기로끌어서놓습니다。脉冲发生器블록의복사본이진폭파라미터의값을입력할수있는텍스트상자와함께모델에@ @시됩니다。1
을입력합니다。파라미터값은시뮬레이션이진행되는동유지됩니다。
동일한접근방식을사용하여다음블록을모델에추가합니다。
블록 라이브러리 파라미터 获得 万博1manbetx模型/数学操作
이득:
2
积分器,二阶 万博1manbetx模型/连续
초기조건:
0
外港 万博1manbetx模型/下沉
포트번호:
1
기존外港블록을복사하고바로가기키를사용하여다른지점에붙여넣는방식으로두번째블록을추가합니다。
이제모델에필한블록들이준비되었습니다。
각블록을클릭하고끌어서놓는방식으로블록을배치합니다。블록의크기를변경하려면코너를끌어서놓으십시오。
블록연결하기
출력포트와입력포트간에선을만들어블록을연결합니다。
脉冲发生器블록의오른쪽에있는출력포트를클릭합니다。
이출력포트와연결하기에적합한모든입력포트가파란색갈매기모양기호로@ @시됩니다。
을가리켜연결큐를확합니다。
큐를클릭합니다。万博1manbetxSimulink는신호흐름의방향을나타내는선과화살로블록을연결합니다。
获得块의출력포트를积分器,二阶블록의입력포트에연결합니다。
积分器,二阶블록의두출력을外港블록2개에연결합니다。
모델을저장합니다。시뮬레이션탭에서저장을클릭합니다。
신호뷰어추가하기
시뮬레이션결과를보려면첫번째출력을信号查看器에연결하십시오。
신호를클릭합니다。시뮬레이션탭의준비부분에서뷰어 추가를클릭합니다。스코프를선택합니다。신호에뷰어아이콘이나타나고스코프창이열립니다。
이아이콘을더블클릭하여언제든지스코프를열수있습니다。
시뮬레이션실행하기
구성파라미터를정의한후에는모델을시뮬레이션할수있습니다。
시뮬레이션탭에서툴스트립에있는값을변경하여시뮬레이션중지시간을설정합니다。
디폴트중지시간
10.0
은이모델에적합합니다。이시간값에는단위가없습니다。万博1manbetxSimulink에서시간단위는방정식이생성된방식에따라달라집니다。이예제에서는자동차의단순화된움직임을10초동시뮬레이션합니다。다른모델에서는시간단위가밀리초또는연단위일수있습니다。시뮬레이션을실행하려면실행버튼을클릭합니다。
시뮬레이션이실행되고뷰어에출력이생성됩니다。
모델미세조정하기
이예제에서는기존모델moving_car.slx
를가져와이움직임모델을기반으로하여근접센서를모델링합니다。이시나리오에서는디지털센서가자동차와초기에10米(30英尺)떨어져있는장애물간의거리를측정합니다。모델은다음조건을고려하여센서측정값과자동차의위치를출력합니다。
자동차는장애물에도달하면강제정지(硬停)한다。
실제환경에서는센서가거리를부정확하게측정하여수치적랜덤오차가발생한다。
디지털센서는고정시간간격으로작동한다。
블록파라미터변경하기
먼저moving_car
모델을엽니다。Matlab명령줄에다음을입력하십시오。
open_system (“moving_car.slx”)
첫번째로자동차위치가10
에도달하면발생하는강제정지를모델링해야합니다。二阶积分器블록에이러한용도의파라미터가있습니다。
二阶积分器블록을더블클릭합니다。블록파라미터대화상자가나타납니다。
X의제한을선택하고X의상한에
10
을입력합니다。파라미터의배경색이변경되어모델에적용되지않은수정사항임을나타냅니다。확인을클릭하여변경사항을적용하고대화상자를닫습니다。
새블록및연결추가하기
장애물로부터의거리를측정하는센서를추가합니다。
모델을수정합니다。필한경우새블록을수용하도록모델창을확장합니다。
실제거리를구합니다。장애물위치와차량위치간의거리를구하려면
数学操作
라이브러리에서减去블록을추가하십시오。또한来源
라이브러리에서常数블록을추가하여장애물의위치로상수값10
을설정합니다。실제센서에일반적으로나타나는불완전한측정값을모델링합니다。
来源
라이브러리에있는限带白噪声블록을사용하여잡음을생성합니다。잡음 전력파라미터를0.001
로설정합니다。数学操作
라이브러리에있는添加블록을사용하여측정값에잡음을더합니다。0.1초마다실행되는디지털센서를모델링합니다。万博1manbetxSimulink에서주어진간격으로신호를샘플링하려면샘플앤홀드를수행해야합니다。
이산
라이브러리에서零级举行블록을추가합니다。블록을모델에추가한후샘플 시간파라미터를0.1
로변경합니다。센서출력에연결할外港를하나더추가합니다。포트 번호파라미터의디폴트값을유지합니다。
새블록들을연결합니다。积分器,二阶블록의출력이이미다른포트에연결되어있습니다。해당신호의분기를만들려면신호를마우스왼쪽버튼으로클릭하여연결가능한포트가강조표시되도록한다음,적절한포트를클릭하십시오。
신호에주석달기
신호이름을모델에추가합니다。
신호를더블클릭하고신호이름을입력합니다。
입력을마치려면텍스트상자외부를클릭합니다。
이단계를반복하여아래와같이이름을추가합니다。
여러개의신호비교하기
实际的距离
신호를测量距离
신호와비교합니다。
观众范围를 만들어
实际的距离
신호에연결합니다。신호를마우스오른쪽버튼으로클릭하고뷰어만들기및연결> Simu万博1manbetxlink >스코프를선택합니다。신호의이름이뷰어제목에@ @시됩니다。测量距离
신호를동일한뷰어에추가합니다。신호를마우스오른쪽버튼으로클릭하고뷰어에연결> Scope1을선택합니다。이전단계에서만든뷰어에연결하고있는지확합니다。모델을실행합니다。뷰어에
实际的距离
(노란색)와测量距离
(파란색)라는2개의신호가시됩니다。그래프를확대하여잡음과샘플링의효과를확합니다。확대/축소버튼을클릭합니다。더자세히보려는역주변을마우스왼쪽버튼으로클릭하고끌어서놓습니다。
세부정보를확하기위해반복적으로확대할수있습니다。
이플롯에서측정값이실제값과0.3m까지차이가날수있다는점에주목하십시오。이정보는충돌경고와같은전기능을설계할때유용합니다。