Re: Help with zero crossing problem



On Jun 30, 5:31 am, "Charles Alleman" <calle...@xxxxxxxxxx> wrote:
I need some help with an updated model that has several zero crossing
that are not being evaluated. I have an older model that worked
correctly, but it used an embedded function to perform some logic.
The updated model removed the embedded function and used 'if' and
'while' blocks to perform the logic. However, when running the
updated model, several zero crossing are not being evaluated. The
blocks being used are Detect Change and Hit Crossing blocks. One
Detect Change block works in the updated model but another one does
not. The following is a zero crossing listing with the old model and
with the updated model from both R2006b and R2007a.

Any help to get the zero crossings work would be appreciated.

Old Model with R2007a>> zclist

0 0:5:0 R,F RelationalOperator
'RouteProfileVer2_01/PowerMode/DelayTimer/Detect Change'
1 0:9:0 R,F RelationalOperator
'RouteProfileVer2_01/BrakeMode/DelayTimer/Detect Change'
2 0:42:0 R,F RelationalOperator
'RouteProfileVer2_01/PowerMode/PowerRateLimiter/Relational Operator'
3 0:48:0 R,F Switch
'RouteProfileVer2_01/BrakeMode/SpeedTaper/Switch1'
4 0:61:0 R,F RelationalOperator
'RouteProfileVer2_01/BrakeMode/BrakeRateLimiter/Relational Operator'
5 0:64:0 R,F MinMax 'RouteProfileVer2_01/BrakeMode/MinMax'
7 0:77:0 R,F RelationalOperator
'RouteProfileVer2_01/ModeSelector/Detect Change'
8 0:79:0 R,F RelationalOperator
'RouteProfileVer2_01/ModeSelector/Detect Change1'
9 0:80:0 R,F HitCross 'RouteProfileVer2_01/ModeSelector/Hit
Crossing'
10 0:80:1 R,F

Updated Model with R2006b>> zclist

0 0:6:0 R,F RelationalOperator
'RouteProfileVer2_02b/BrakeMode/DelayTimer/Detect Change'
1 0:21:0 R,F RelationalOperator
'RouteProfileVer2_02b/PowerMode/DelayTimer/Detect Change'
2 0:55:0 R,F If
'RouteProfileVer2_02b/ModeSelector/ModeDetermination/Station
Check/StationBraking Status/If'
3 0:115:0 R,F RelationalOperator
'RouteProfileVer2_02b/PowerMode/PowerRateLimiter/Relational Operator'
4 0:120:0 R,F Switch
'RouteProfileVer2_02b/BrakeMode/SpeedTaper/Switch1'
5 0:134:0 R,F RelationalOperator
'RouteProfileVer2_02b/BrakeMode/BrakeRateLimiter/Relational Operator'
6 0:137:0 R,F MinMax 'RouteProfileVer2_02b/BrakeMode/MinMax'
7 0:176:0 R,F RelationalOperator
'RouteProfileVer2_02b/ModeSelector/Detect Change'
8 52:4:0 R,F If
'RouteProfileVer2_02b/ModeSelector/ModeDetermination/Station
Check/StationBraking Status/If Action Subsystem1/If'
9 52:7:0 R,F If
'RouteProfileVer2_02b/ModeSelector/ModeDetermination/Station
Check/StationBraking Status/If Action Subsystem1/If1'
10 41:2:0 R,F If
'RouteProfileVer2_02b/ModeSelector/ModeDetermination/Speed Limit
Check/DistanceToSpeedLimit Determination/If Action Subsystem1/If'

Updated Model with R2007a>> zclist

0 0:6:0 R,F RelationalOperator
'RouteProfileVer2_02b/BrakeMode/DelayTimer/Detect Change'
1 0:21:0 R,F RelationalOperator
'RouteProfileVer2_02b/PowerMode/DelayTimer/Detect Change'
2 0:55:0 R,F If
'RouteProfileVer2_02b/ModeSelector/ModeDetermination/Station
Check/StationBraking Status/If'
3 0:115:0 R,F RelationalOperator
'RouteProfileVer2_02b/PowerMode/PowerRateLimiter/Relational Operator'
4 0:120:0 R,F Switch
'RouteProfileVer2_02b/BrakeMode/SpeedTaper/Switch1'
5 0:134:0 R,F RelationalOperator
'RouteProfileVer2_02b/BrakeMode/BrakeRateLimiter/Relational Operator'
6 0:137:0 R,F MinMax 'RouteProfileVer2_02b/BrakeMode/MinMax'
8 0:176:0 R,F RelationalOperator
'RouteProfileVer2_02b/ModeSelector/Detect Change'
11 52:4:0 R,F If
'RouteProfileVer2_02b/ModeSelector/ModeDetermination/Station
Check/StationBraking Status/If Action Subsystem1/If'
12 52:7:0 R,F If
'RouteProfileVer2_02b/ModeSelector/ModeDetermination/Station
Check/StationBraking Status/If Action Subsystem1/If1'
13 41:2:0 R,F If
'RouteProfileVer2_02b/ModeSelector/ModeDetermination/Speed Limit C

I can't follow what you are talking about.
Detecting zero crossings is a one-liner:
indx=find(y(1:end-1).*y(2:end) < 0);
It's what you do after finding them that gets complicated.......

.



Relevant Pages

  • Help with zero crossing problem
    ... I need some help with an updated model that has several zero crossing ... 0:9:0 R,F RelationalOperator ... Check/StationBraking Status/If Action Subsystem1/If' ... Check/DistanceToSpeedLimit Determination/If Action Subsystem1/If' ...
    (comp.soft-sys.matlab)
  • Re: Help with zero crossing problem
    ... several zero crossing are not being evaluated. ... 0:5:0 R,F RelationalOperator ... Check/StationBraking Status/If Action Subsystem1/If' ...
    (comp.soft-sys.matlab)