700 likes | 1.41k Views
Simulink 강의 노트. 작성 일자 : 2007, 01, 30 저 자 : 임 종수. 강의 순서. -- Section 1. 1. Simulink 의 특징과 install 시 주의사항 . 2. simple simulink model 개발 . 3. simulink 의 계산 방법 . 4. Triggered model concept. 5. Model workspace concept. 6. model parameter settings rule. 7. masking concept
E N D
Simulink 강의 노트 작성 일자 : 2007, 01, 30 저 자 : 임 종수
강의 순서 -- Section 1. • 1. Simulink의 특징과 install시 주의사항. • 2. simple simulink model 개발. • 3. simulink의 계산 방법. • 4. Triggered model concept. • 5. Model workspace concept. • 6. model parameter settings rule. • 7. masking concept • 8. simulink library 개발. -- Section 2. • 1. matlab과 simulink의 연동. • 2. simulink의 third party 소개.
Simulink의 특징. • Simulink는 동적으로 데이터를 분석. -> step size. • 그래픽 언어. -> 알고리즘 개발보다는 구현.(즉, 이론보다는 구현 위주) • 조합회로에 해당. -> model은 하나의 step size에서 동시에 계산. -> 순차회로는 stateflow에서 수행. • 독특한 debugging 방법. • C/C++, Ada, Fortran, M-file과의 link -> S-function
Simulink Install 방법. • Matlab 버전과는 독립적으로 운영. • Install 시 다음 사항에 주의.
Simple Simulink Model(2) • y=ksin(x) model 개발 : • Sources Library에 있는 Sine Wave block. • Sinks Library에 있는 Scope block. • Math Library에 있는 Gain block.
Simple Simulink Model(4) • 주석을 삽입할 수 있다. -> 수학기호 및 다른 특수 문자 삽입가능. • Port Data type 표시 기능. • Storage class 표시 기능. • Sample Time Colors • Signal Dimension 표시 기능.
Simple Simulink Model(5) • 버전에 따라서 GUI 환경이 다름. • install 한 toolbox에 따라서 GUI 환경이 다름. • model에 대한 거의 모든 환경을 setting 할 수 있음.
Simple Simulink Model(7) • >> simplot(ScopeData) • -> simplot 사용 기능. • simulation 결과 2개의 경고문이 발생. • 1) continuous states가 없음. • 2) maximum step size : 0.2
Simulink Model Ex1(1) • Motion Equation : • -> 2계 system이므로 2개의 적분 block이 필요. • damping 계수 c=1.0 lb sec/ft, spring 상수 k=2 lb/ft, cart의 질량 m=5 slugs. • ->
Simulink & Matlab 데이터 교환(1) % 시간 축의 범위는 0∼7초이고, % sampling frequency는 100[Hz]이다. >> XTime=0:0.01:7; >> YData=sin(XTime); >> MatToSim=[XTime' YData']; >> plot(XTime,YData,'k') >> set(gcf,'color','w','pos',[232 326 360 352],'units','pixels') >> axis([min(XTime) max(XTime) min(YData) max(YData)]) >> grid on
Simulink의 계산 방법(1) • 초기화 과정에서 model을 구성하는 blocks의 실행(즉, 갱신) 순서를 정함. • -> Simulink는 모든 inputs에 대한 outputs의 관계에 근거하여 model을 구성하는 block들을 분류. • 1) direct-feedthrough port : • 현재의 input port 값은 곧바로 block의 현재 output port 값을 결정. • 예 : gain, Product. 등등 • 2) non-direct-feedthrough port : • Integrator block의 output port는 입력이 아닌, states의 함수, • Constant block은 입력을 가지고 있지 않으며, • Memory block의 output은 이전 time step에서의 입력 • Simulink는 direct-feedthrough port를 갖지 않는 block을 update 순서의 앞에 놓고, direct-feedthrough port를 갖는 block을 update 순서의 뒤에 놓는 초기화 과정을 수행하고 나서 update를 순서대로 수행.
Simulink의 계산 방법(3) • Computability Model
Triggered Model Comcept(1) • Enabled Subsystem : • control signal이 positive인 경우, 각각의 simulation step에서 실행. • 즉, scalar 또는 vector 형태를 갖는 control signal이 negative에서 • positive로 바뀌는 순간 실행을 시작하여 positive에서 negative로 바뀌는 • 경우 실행을 멈춤. • Triggered Subsystem : • 임의의 trigger event가 발생할 때마다 한번 실행한다. • rising edge 또는 falling edge가 발생한 경우.
Triggered Model Comcept(5) • 실습 : subsystem 안의 unit delay에 주의.
Model Workspace Concept(1) • model workspace에 있는 변수들은 단지, 해당 model의 범위에서만 볼 수 있으며, model이 loading될 때, 이들 변수에 관련된 데이터가 초기화됨. * Model Explorer : Simulink model 또는 Stateflow chart의 elements에 대한 위치를 찾거나, 보거나, 수정할 때 사용.
* Model workspace에 새로운 변수 AmpVar 생성. * Model workspace에 있는 AmpVar를 Model 매개변수로 선언. Model Workspace Concept(3)
Model Parameters Setting(1) • Matlab Handle Graphics System • set.m, get.m • Simulink Parameter based System • set_param, get_param • set_param('obj', 'parameter1', value1, 'parameter2', value2, ...) • get_param('obj', 'parameter')
Model Parameters Setting(4) • sim command : • Model을 matlab command window에서 실행. • sim(‘model name’) • 예 제 :
Masking Concept(1) • Subsystems에 대한 custom user interfaces(즉, masks)를 새롭게 만드는 기법. • Masked subsystem의 요구 사항: • Mask Icon. • Mask Parameters • Mask Initialization Code • Mask Workspace