Project

General

Profile

Download (1.11 KB) Statistics
| Branch: | Tag: | Revision:
1

    
2

    
3

    
4
node HeadingControl ( HdgCmdMCP  : real ; Heading  : real ; psidot_Out1_39  : real ; Vt_Out1_49  : real ; Roll  : real ; HeadEng  : bool ; rollLimitinput  : real  ) 
5
   returns ( RollCmd  : real  ) ;
6
var right : bool;
7
let
8
  right = ((HdgCmdMCP - Heading > 0) and (HdgCmdMCP - Heading < 180)) or (Heading - HdgCmdMCP > 180);
9

    
10
  -- GUIDE-260
11
  assert 
12
    (HeadEng = false) or
13
    (HdgCmdMCP = Heading) or
14
    ((right = true)  and ((RollCmd > Roll) or (RollCmd = rollLimitinput))) or
15
    ((right = false) and ((RollCmd < Roll) or (RollCmd = -rollLimitinput)));
16

    
17
 tel 
18

    
19

    
20

    
21

    
22

    
23
node top ( HdgCmdMCP: real ; Heading : real ; psidot : real ; Vt : real ; Roll : real ; HeadEng : bool ; rollLimitInput : real  ) 
24
   returns (obs : bool);
25
  var  RollCmd : real;
26
let
27

    
28
  RollCmd =  HeadingControl ( HdgCmdMCP , Heading , psidot , Vt , Roll , HeadEng , rollLimitInput);
29
  
30
  -- Put properties here
31

    
32
  assert (rollLimitInput > 0) and (rollLimitInput <= 30);
33
  assert (HeadEng = true);
34

    
35
  obs = (HdgCmdMCP = Heading) or ((not (HdgCmdMCP = Heading)) and ((not (Roll = 0)) or (not (RollCmd = 0))));
36

    
37
  --!MAIN : true;
38
  --!PROPERTY: obs = true;
39
tel
(22-22/28)