2013-02-18 3 views
3

Modelica 표준 라이브러리의 두 가지 구성 요소를 결합한 모델의 아이콘을 만들고 싶습니다. 이 두 가지 구성 요소는 Modelica.Blocks.Sources.Sine 및 Modelica.Electrical.Analog.Sources.SignalVoltage입니다.Modelica - 아이콘 만들기

model test 
Modelica.Blocks.Sources.Sine sine1(freqHz = 5, amplitude = 1, offset = 10) annotation(Placement(visible = true, transformation(origin = {-51.0325,-0.884933}, extent = {{-12,-12},{12,12}}, rotation = 0))); 
Modelica.Electrical.Analog.Sources.SignalVoltage signalvoltage1 annotation(Placement(visible = true, transformation(origin = {-4.12979,-1.17994}, extent = {{12,-12},{-12,12}}, rotation = 90))); 
equation 
connect(sine1.y,signalvoltage1.v) annotation(Line(points = {{-37.8325,-0.884933},{-12.9794,-0.884933},{-12.9794,-1.17994},{-12.5298,-1.17994}})); 
end test; 

주석이 OMEdit에 의해 자동으로 수행됩니다 코드는 다음과 같습니다 그래서 나는 두 개의 구성 요소를 연결했다.

는 이제 다음을 달성하고자 : 나는

  • 더블 클릭하여 sine1의 속성에 액세스 할 수 있습니다 signalvoltage1
  • 의 핀을 포함하는 아이콘을 만들려고합니다.

주석 (아이콘 (...)) 및 주석 (배치 (...)) 명령에 대해 알고 있지만 signalvoltage1.p 및 signalvoltage1.n을 아이콘 계층에 가져 오는 방법을 알지 못합니다. . 예를 들어, OMEdit을 사용하여 쉽게 그릴 수있는 사각형을 두 번 클릭하여 sine1의 속성에 액세스하는 방법을 알지 못합니다.

미리 감사드립니다.

답변

4

는 이제 다음을 달성하고자 : 나는

더블 클릭하여 sine1의 속성에 액세스 할 수 있습니다 signalvoltage1 의 핀을 포함하는 아이콘을 만들려고합니다.

일반적으로 그래픽 편집기는 기존 커넥터에서 다이어그램의 빈 자리까지 루트를 지정할 때마다 자동으로 피팅 커넥터를 만들 수 있도록 선택해야합니다. 그러나 OMEdit은 그렇게하지 않습니다 (아직?). 따라서 MSL의 각 커넥터를 모델의 다이어그램보기로 끌어서 놓아야합니다. 귀하의 경우에 Modelica.Electrical.Analog.Interfaces.NegativePinModelica.Electrical.Analog.Interfaces.PositivePin을 입력 한 다음 적절히 연결하십시오. 커넥터 유형의 구성 요소가 다이어그램 AND 아이콘 계층에 자동으로 표시되어 "외부에서"연결할 수 있습니다.

액세스 권한. 모델 레벨에서 새 매개 변수를 작성하고 새 모델의 구성 요소가 해당 매개 변수를 사용하게하십시오. 아마 가장 위에서 당신의 예를 취함으로써 설명 :

model Test 
    parameter Real myfreqHz = 5 "Frequency of the sinewave"; 
    parameter Real myamplitude = 1 "Amplitude of the sinewave";  
    parameter Real myoffset = 1 "Offset of the sinewave"; 
    Modelica.Blocks.Sources.Sine sine1(freqHz = myfreqHz, 
           amplitude = myamplitude, offset = myoffset); 
    Modelica.Electrical.Analog.Sources.SignalVoltage signalvoltage1; 
equation 
... 
end Test; 
+0

@Diemtar 윈 클러 멋진 대답! 그게 내가 찾고 있었던거야, 고마워! 실제로, OMEdit이 언급 한 기능을 지원하여 더미 핀을 삽입 할 필요가 없으면 좀 더 우아해질 것입니다. – user2083291

+0

"전파"라는 용어는 종종이 프로세스를 설명하는 데 사용됩니다. 아이디어는 구성 요소의 하위 시스템을 구축 할 때 하위 시스템의 정보 중 일부 * (커넥터 및 매개 변수)를 계층의 다음 상위 수준까지 전파해야한다는 것입니다. Dietmar가 지적했듯이, 이것은 대부분의 도구가 이러한 전파를 돕는 어떤 종류의 "지름길"을 가지고있는 일반적인 프로세스입니다. –