
Ayuda Colegas con este codigo
Publicado por favian (1 intervención) el 04/09/2017 04:08:19
Que tal estimado
Solicito de su apreciable apoyo para entender este código.
Ya que soy nuevo en el tema de Texto Estructurado.
Gracias
Solicito de su apreciable apoyo para entender este código.
Ya que soy nuevo en el tema de Texto Estructurado.
Gracias
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//PORT OF: STORE_FEED_FACTOR STRUCTURED_TEXT SECTION//
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
(* Accept a forced feed factor from the Quantum *)
IF CTL_ST.cmd_feed_factor_force AND NOT PROC_ST.echo_feed_factor_force THEN
FEEDFACT := CTL_ST.config_data.feedfact_force_value;
END_IF;
(* Triggered when the pull is done and a new feed factor may have been calculated *)
IF store_new_feed_factor AND (current_feed_factor <> 0.0) THEN
(* Sanity check on calculated feed factor *)
IF (current_feed_factor > 0.0) AND (current_feed_factor < CTL_ST.config_data.feedfact_max_check) THEN
IF (next_ff_value < 0) OR (next_ff_value > 4) THEN
next_ff_value := 0;
END_IF;
ff_store_array[next_ff_value] := current_feed_factor;
next_ff_value := next_ff_value + 1;
IF next_ff_value >= 5 THEN
next_ff_value := 0;
(* Sort the feed factors to find the median *)
FOR i := 1 TO 4 DO
stop := 4 - i;
FOR j := 1 TO stop DO
IF ff_store_array[j] > ff_store_array[j+1] THEN
temp_ff := ff_store_array[j+1];
ff_store_array[j+1] := ff_store_array[j];
ff_store_array[j] := temp_ff;
END_IF;
END_FOR;
END_FOR;
(* Change the feed factor to the new median. Median is in location 2 after sorting. *)
FEEDFACT := ff_store_array[2];
FOR i := 0 TO 4 DO
ff_store_array[i] := 0.0;
END_FOR;
END_IF;
END_IF;
END_IF;
store_new_feed_factor := False;
Valora esta pregunta


0