본문 바로가기
Autonomous Vehicle/Additional studies

모델리카를 이용한 모델링 및 시뮬레이션 2 [모델리카 기초 : 컴포넌트간 연결]

by kim.jeff 2020. 11. 15.

Connectors and Connector Classes

connector Pin // connector class, electrical connector
	voltage 	v; 
    flow Current i; // keyword flow : indicates that currents of connected pins sum to zero.
end Pin; 

Pin pin; //an instance pin of class pin

 

Flow 의 경우 부호와 관련이 깊다. 방향에 상관이 있는 계수의 경우 Flow로 지정해 준다.

 

connector Flange // connector class
	Position s;
    flow Force f;
end Flange;

Flange flange; // an instance flange of class Flange

 

Flow 변수와 비Flow 변수가 있다. 

Non Flow variables : potential or temperature ...

Flow variables : 

 

Couping

Equality coupling for non-flow variables.

온도같은 경우 하나의 물체에서 다른 연결된 물체의 온도와 같아지는것과 같음. 

Sum-to-zero coupling, for fow variables.

열적인 시스템에 있어서 한 시스템에서의 나가는 온도와 들어오는 온도가 같을때 0 이 되는것을 보았을때 sum-to-zero 라고 볼 수 있다.

 

모델리카에서의 여러가지 시스템

connect (connector1, connector2)
// 두개의 connect 식은 connectors에 참조되어야 하며, 같은 클래스나 멤버로써 선언되어야 한다.

/*

connect(pin1, pin2);

pin1.v = pin2.v;
pin1.i + pin2,i = 0;

*/

Connector간의 연결

 

- 여러개의 연결 가능

- non-flow 의 경우 v1 = v2 = v3 = .... = vn

- flow 의 경우 i1 + i2 + ... + in = 0

 

전기적인 시스템에 있어서 대부분 positive pin과 negative pin 을 가지고 있다 ( +, -)

두개의 핀을 갖고 있는 시스템을 base로 만들어 놓고, 다른 컴포넌트 시스템을 만들 때, base를 가지고 와서 만들 수 있다. 작동 메커니즘이 p와 n사이의 현상들이 각각 다르겠지만, base를 만들어놓고 식만 대입하면 되기때문에 base를 만들어 놓는다고 말할 수 있다.

 

partial model TwoPin // partial class (cannot be instantiated)
	Voltage v
    Current i
    Pin p;
    Pin n;
equation
	v = p*v - n*v;
    0 = p*i + n*i;
    i = p*i;
end TwoPin;
    

본 TwoPin을 가져오는 코드는 다음과 같다.

 

model Resistor "Ideal electrical resistor"
	extends TwoPin;
    parameter Real R;
equation
	R*i = v;
end Resistor;

 

 위의 모델의 경우 저항기의 equation을 적용시킬 수 있었지만 추가적으로 Inductor 및 Capacitor등의 equation을 적용시킨다면 p와 n의 사이의 관계에 대한 적용 모델을 쉽게 만들 수 있다. 

ex) inductor의 경우 : L*der(i) = v; / capacitor의 경우 : i = C*der(v);