1 | function err = temporisation_mvt_axis(dev) |
---|
2 | err = 0; |
---|
3 | disp('temporisation_mvt_axis <-') |
---|
4 | while (1) |
---|
5 | % ms = tango_command_inout(dev,'AxisGetMotionStatus'); |
---|
6 | ms = tango_command_inout(dev,'State'); |
---|
7 | % si erreur tango : sortir avec diagnostic |
---|
8 | if (tango_error == -1) |
---|
9 | tango_print_error_stack; |
---|
10 | err = -1; |
---|
11 | break; |
---|
12 | end |
---|
13 | % tant que le moteur est resté en butée (errorstatus à 22, 4 21 ou 3) ou qu'il n'a pas démarré |
---|
14 | % (motionstatus à 0) rester dans la boucle |
---|
15 | if strcmp(ms,'MOVING') |
---|
16 | % if (isequal(ms, 1)) |
---|
17 | break; |
---|
18 | end |
---|
19 | disp('temporisation mvt moteur'); |
---|
20 | Blimitswitch = tango_read_attribute(dev,'backwardLimitSwitch'); |
---|
21 | Flimitswitch = tango_read_attribute(dev,'forwardLimitSwitch'); |
---|
22 | |
---|
23 | % es = tango_command_inout(dev,'AxisGetErrorStatus'); |
---|
24 | if (tango_error == -1) |
---|
25 | tango_print_error_stack; |
---|
26 | err = -1; |
---|
27 | break; |
---|
28 | end |
---|
29 | % if ~Blimitswitch.value&~Flimitswitch.value&~strcmp(ms,'STANDBY') |
---|
30 | % % if ~isequal(es,22)&~isequal(es,4)&~isequal(es,21)&~isequal(es,3)&~isequal(ms,0) |
---|
31 | % disp('probleme') |
---|
32 | % break |
---|
33 | % end |
---|
34 | % if strcmp(ms,'ALARM')|strcmp(ms,'STANDBY') |
---|
35 | % % if ~isequal(es,22)&~isequal(es,4)&~isequal(es,21)&~isequal(es,3)&~isequal(ms,0) |
---|
36 | % disp('arret normal') |
---|
37 | % break |
---|
38 | % end |
---|
39 | pause(2); |
---|
40 | end |
---|
41 | disp('temporisation_mvt_axis ->') |
---|
42 | |
---|