123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340 |
- DATA_BLOCK DB 1
- TITLE =
- AUTHOR : Xaadem
- VERSION : 0.1
- STRUCT
- OUT_FIL : REAL := 2.000000e+001;
- END_STRUCT ;
- BEGIN
- OUT_FIL := 2.000000e+001;
- END_DATA_BLOCK
- FUNCTION FC 170 : WORD
- TITLE =SCALING VALUES
- AUTHOR : SEA
- FAMILY : CONVERT
- NAME : SCALE
- VERSION : 2.0
- VAR_INPUT
- IN : INT ;
- HI_LIM : REAL ;
- LO_LIM : REAL ;
- BIPOLAR : BOOL ;
- END_VAR
- VAR_OUTPUT
- OUT : REAL ;
- END_VAR
- VAR_TEMP
- IN_REAL : REAL ;
- K1 : REAL ;
- K2 : REAL ;
- SPAN : REAL ;
- TEMP1 : REAL ;
- END_VAR
- BEGIN
- NETWORK
- TITLE =
- SET ;
- A #BIPOLAR;
- JC EL01;
- L 0.000000e+000;
- T #K1;
- JU EI01;
- EL01: L -2.764800e+004;
- T #K1;
- EI01: NOP 0;
- L 2.764800e+004;
- T #K2;
- L #IN;
- ITD ;
- DTR ;
- T #IN_REAL;
- L #HI_LIM;
- L #LO_LIM;
- -R ;
- T #SPAN;
- L #IN_REAL;
- L #K1;
- >=R ;
- JC EL02;
- L 8;
- T #RET_VAL;
- L #SPAN;
- L 0.000000e+000;
- <R ;
- JCN EL03;
- L #HI_LIM;
- JU EI03;
- EL03: L #LO_LIM;
- EI03: NOP 0;
- T #OUT;
- JU FAIL;
- EL02: POP ;
- L #K2;
- <=R ;
- JC EI04;
- L 8;
- T #RET_VAL;
- L #SPAN;
- L 0.000000e+000;
- <R ;
- JCN EL05;
- L #LO_LIM;
- JU EI05;
- EL05: L #HI_LIM;
- EI05: NOP 0;
- T #OUT;
- JU FAIL;
- EI04: NOP 0;
- NOP 0;
- L #K2;
- L #K1;
- -R ;
- T #TEMP1;
- L #IN_REAL;
- L #K1;
- -R ;
- L #TEMP1;
- /R ;
- L #SPAN;
- *R ;
- L #LO_LIM;
- +R ;
- T #OUT;
- L 0;
- T #RET_VAL;
- SET ;
- JU SVBR;
- FAIL: CLR ;
- SVBR: SAVE ;
- END_FUNCTION
- FUNCTION FC 185 : VOID
- TITLE =F I L T E R
- { Know_How := '1' }
- AUTHOR : Xaadem
- NAME : FILTER
- VERSION : 0.1
- VAR_INPUT
- XE : REAL ;
- FAC_PERCENT : REAL ;
- INIT : BOOL ;
- END_VAR
- VAR_OUTPUT
- XA : REAL ;
- END_VAR
- VAR_IN_OUT
- AUX : REAL ;
- END_VAR
- VAR_TEMP
- MD232 : REAL ;
- MD204 : REAL ;
- MD208 : REAL ;
- MD212 : REAL ;
- MD216 : REAL ;
- MD220 : REAL ;
- AUX1 : REAL ;
- END_VAR
- BEGIN
- NETWORK
- TITLE =read XE input
- L #XE;
- T #MD232;
- NOP 0;
- NETWORK
- TITLE =
- AN #INIT;
- JC M001;
- NETWORK
- TITLE =Initialisation !!
- M003: L #XE;
- T #XA;
- NOP 0;
- NETWORK
- TITLE =Initialisation !!
- L #MD232;
- T #AUX;
- NOP 0;
- NETWORK
- TITLE =Jump to the end
- A M 20.1;
- JC M002;
- NETWORK
- TITLE =Old and new value are equal
- M001: A( ;
- L #MD232;
- L #AUX;
- ==R ;
- ) ;
- JNB _001;
- L #MD232;
- T #XA;
- _001: NOP 0;
- NETWORK
- TITLE =Old and new value are equal
- L #MD232;
- L #AUX;
- ==R ;
- SAVE ;
- BEC ;
- NETWORK
- TITLE =If Fac_Prozent > 0 ==> XA=Xe
- L #FAC_PERCENT;
- L 0.000000e+000;
- <R ;
- JC M003;
- NETWORK
- TITLE =If Fac_Prozent > 100 ==> XA=Xe
- L #FAC_PERCENT;
- L 1.000000e+002;
- >R ;
- JC M003;
- NETWORK
- TITLE =B=XE-XA
- L #MD232;
- L #AUX;
- -R ;
- T #MD204;
- NOP 0;
- NETWORK
- TITLE =Move factor into temporary word
- L #FAC_PERCENT;
- T #MD212;
- NOP 0;
- NETWORK
- TITLE =B*Factor
- L #MD212;
- L #MD204;
- *R ;
- T #MD216;
- NOP 0;
- NETWORK
- TITLE =B*Factor / 100
- L #MD216;
- L 1.000000e+002;
- /R ;
- T #MD220;
- NOP 0;
- NETWORK
- TITLE =XANew = AUX+(B*Factor% / 100)
- L #AUX;
- L #MD220;
- +R ;
- T #AUX;
- NOP 0;
- NETWORK
- TITLE =XAnew = AUXnew
- L #AUX;
- T #XA;
- NOP 0;
- NETWORK
- TITLE =End of block
- M002: A M 20.1;
- SAVE ;
- BEC ;
- END_FUNCTION
- ORGANIZATION_BLOCK OB 1
- TITLE = "Main Program Sweep (Cycle)"
- AUTHOR : Xaadem
- VERSION : 0.1
- VAR_TEMP
- OB1_EV_CLASS : BYTE ;
- OB1_SCAN_1 : BYTE ;
- OB1_PRIORITY : BYTE ;
- OB1_OB_NUMBR : BYTE ;
- OB1_RESERVED_1 : BYTE ;
- OB1_RESERVED_2 : BYTE ;
- OB1_PREV_CYCLE : INT ;
- OB1_MIN_CYCLE : INT ;
- OB1_MAX_CYCLE : INT ;
- OB1_DATE_TIME : DATE_AND_TIME ;
- Value : REAL ;
- AIXX : REAL ;
- OUTfilter : REAL ;
- END_VAR
- BEGIN
- NETWORK
- TITLE =
- A M 0.0;
- = L 32.0;
- BLD 103;
- CALL FC 170 (
- IN := IW 512,
- HI_LIM := 1.000000e+005,
- LO_LIM := 0.000000e+000,
- BIPOLAR := L 32.0,
- RET_VAL := MW 2,
- OUT := #Value);
- NOP 0;
- NETWORK
- TITLE =
- A M 20.0;
- = L 32.0;
- BLD 103;
- CALL FC 185 (
- XE := #Value,
- FAC_PERCENT := 9.000000e+001,
- INIT := L 32.0,
- XA := #OUTfilter,
- AUX := #AIXX);
- NOP 0;
- NETWORK
- TITLE =
- L #OUTfilter;
- L 2.000000e+001;
- +R ;
- T DB1.DBD 0;
- NOP 0;
- END_ORGANIZATION_BLOCK
|