2017-01-16 3 views
1

모델 오류가 시뮬링크 :내가이 사진에 대한 시뮬링크 다이어그램을 생성 했어

Diagram

내 대답은 이것이다 :

Simulink image

나는 몇 가지 값을 준 것 a, bc (3, 4, 5 등)이지만 실행하려고하면 다음과 같은 경고가 표시됩니다.

Warning: The model 'ex2_2' does not have continuous states, hence Simulink is using the solver 'VariableStepDiscrete' instead of solver 'ode45'. You can disable this diagnostic by explicitly specifying a discrete solver in the solver tab of the Configuration Parameters dialog, or by setting the 'Automatic solver parameter selection' diagnostic to 'none' in the Diagnostics tab of the Configuration Parameters dialog

Warning: 'ex2_2/Unit Delay' is discrete, yet is inheriting a continuous sample time; consider replacing unit delay with a memory block. When a unit delay block inherits continuous sample time, its behavior is the same as the memory block. Unit delay block's time delay will not be fixed and could change with each time step. This might be unexpected behavior. Normally, a unit delay block uses discrete sample time. You can disable this diagnostic by setting the 'Discrete used as continuous' diagnostic to 'none' in the Sample Time group on the Diagnostics pane of the Configuration Parameters dialog box. "

내가 잘못 여기있어 어디 그냥 단계 신호의 출력 (범위) ...

나도 몰라.

답변

1

모델을 올바르게 작성했지만 올바르게 구성하지 않았습니다. 있는 그대로

모델을 실행하는 경우, 어떤 일어날 것은 다음과 같다 :

  1. 단계 블록은 기본적으로 연속 시간 소스 (그것의 Sample Time 설정 0입니다).
  2. 시뮬는 documentation on sample times에 따르면 단계
  3. (메모리 블록 달리) 단조 공정 동안에 일정한 출력을 보장하는 단위 지연 블록에 접속되는 것을 본다 :

    [...] Simulink sets [Fixed-in-Minor step] as either an inherited sample time or as an alteration to a user specification of 0 (continuous). This setting is equivalent to, and therefore converted to, the fastest discrete rate when you use a fixed-step solver.

    연속 샘플 시간은 가변 단계 솔버의 컨텍스트에서 Discrete-time이 아닌 Fixed-Minor-Step으로 저하됩니다. 변수 단계 크기는 시뮬레이션 속도를 높이는 데 사용됩니다 (정확도가 허용 될 때 더 큰 단계가 수행됩니다). 그러나 단계가 트리거되는 정확한 시간 (예 : 단계 블록의 "Enable zero-crossing detection"틱 상자)과 같이 계산하기 위해 속임수가 필요합니다. 옵션). 따라서이 특정 상황에서 Simulink의 가장 좋은 방법은 단계 블록의 샘플 시간을 고정 소수점 단계로 변환하는 것입니다.이 단계는 앞으로 전파되고 모델의 다른 모든 블록에 의해 상속됩니다.

  4. 이것은 대개 불규칙한 유형의 샘플 시간입니다. 실제로는 연속 시간이 아니지만 모든 블록에서 계속 볼 수 있습니다. 따라서 본질적으로 이산 시간 유닛 지연은 연속 시간 신호 (사용자의 2 nd 경고)로 인해 불만을 토로하고 Simulink는 "실제"연속 시간 블록이 전혀없는 것에 대해 불평 할 것입니다. 연속 시간 솔버 인 ode45 (귀하의 1 st 경고)을 사용하도록 지시하는 동안. 소프트웨어 개발에서 평소

: 항상 가장 명시하는 약 모든입니다.이 경우 가장 간단한 방법은 모델 구성 대화 상자에 이산 시간, 고정 단계 솔버를 명시 적으로 지정하는 것입니다. 이렇게하면 계단에서 연속 시간은 단위 지연에 대한 이산 시간으로 자동 변환됩니다.

+0

모델 구성 대화 상자에서 이산 시간, 고정 단계 솔버를 어떻게 지정할 수 있습니까? 죄송합니다. 시뮬 링크에 익숙하지 않습니다. –

+0

@LaurentiuAdrianParaschiv 크게 변경되지 않은 한 (R2010a에 있음) 모델 구성 대화 상자 (Ctrl + E)를 엽니 다. 왼쪽에서 구성 범주를 선택할 수 있습니다. '해 찾기 '를 선택하십시오. 그런 다음 오른쪽의 '솔버 옵션'에서 '고정 스텝'** 유형 ** 및 '이산 시간'** 솔버 **를 선택하십시오. 또한 샘플 시간을 명시 적으로 지정할 수도 있습니다. '자동'으로 설정하면 Simulink는 총 50 단계를 취할 수 있도록 샘플 시간을 선택합니다. 더 나은 스코프 출력을 위해 더 많은 것을 원할 수 있습니다. –

+0

이제 다음과 같은 오류가 발생합니다. 'ex2_2'모델의 샘플 시간을 기준으로 고정 된 단계 크기를 결정할 수 없습니다. 모델에 개별 샘플 시간이 없기 때문에 가능합니다. 시뮬레이션 시작 및 정지 시간을 기준으로 고정 된 단계 (0.2) 크기를 선택합니다. 구성 매개 변수 대화 상자의 해결 프로그램 창에서 고정 된 단계 크기를 명시 적으로 지정하거나이 매개 변수의 진단 창의 해 찾기 그룹에서 '자동 해결 매개 변수 선택'진단을 '없음'으로 설정하여 진단을 해제 할 수 있습니다. 구성 매개 변수 대화 상자. –