PROGRAM TH4851 VAR_EXTERNAL END_VAR VAR_GLOBAL END_VAR VAR sendf1 : array[0..200] of byte;(*����16����*) recvf1 : array[0..200] of byte;(*������*) calcf1 : array[0..200] of byte;(*������*) recvb4851 :NW_serrecv; sendb4851 :NW_sersend; send_act1 :BOOL; recv_act1 :BOOL; CRC4851 :BS_GETCRC16; t1 :TON; t1_in :BOOL; t1_q :BOOL; t2 :TON; t2_in :BOOL; t2_q :BOOL; t3 :TON; t3_in :BOOL; t3_q :BOOL; timer1 :TON; timer1_run :BOOL; timer2 :TON; timer2_run :BOOL; commandsend1 :int; F_WS1 :int; recv_len :int; recv_len1 :int; recv_len2 :int; recv_len3 :int; recv_len4 :int; recv_CRCH :byte; recv_CRCL :byte; sendp1 :pointer; recvp1 :pointer; i :int; j :int; test_mode1 :bool; END_VAR (*Automatically declared*) VAR_EXTERNAL LIESB1E06_CO : REAL; LIESB1E05_CO : REAL; LIESB1E02_CO : REAL; LIESB1E03_CO : REAL; LIESB1E04_CO : REAL; LIESB1E01_CO : REAL; END_VAR (** t1_in:=not t1.q; **) (* assign - Stmt *) LD t1.q NOT ST t1_in (** t1(IN :=t1_in , PT :=t#600ms ); **) (* call - Stmt *) CAL t1 ( IN := t1_in, PT := t#600ms ) (** t2(IN :=t1_in , PT :=t#350ms ); **) (* call - Stmt *) CAL t2 ( IN := t1_in, PT := t#350ms ) (** **) (** if t2.q=1 and t2_q=0 then **) (* if - Cond *) LD t2.q EQ 1 AND ( t2_q EQ 0 ) JMPCN ODK_SKIP_000000000000001_000000000000001 (* then - Stmts *) (** recv_act1:=1; **) (* assign - Stmt *) LD 1 ST recv_act1 JMP ODK_END_IF_000000000000001 (** else **) (* else *) ODK_SKIP_000000000000001_000000000000001: (* else - Stmts *) (** recv_act1:=0; **) (* assign - Stmt *) LD 0 ST recv_act1 (** end_if; **) (* if - End *) ODK_END_IF_000000000000001: (** **) (** if t1.q=0 and t1_q=1 then **) (* if - Cond *) LD t1.q EQ 0 AND ( t1_q EQ 1 ) JMPCN ODK_SKIP_000000000000002_000000000000001 (* then - Stmts *) (** send_act1:=1; **) (* assign - Stmt *) LD 1 ST send_act1 JMP ODK_END_IF_000000000000002 (** else **) (* else *) ODK_SKIP_000000000000002_000000000000001: (* else - Stmts *) (** send_act1:=0; **) (* assign - Stmt *) LD 0 ST send_act1 (** end_if; **) (* if - End *) ODK_END_IF_000000000000002: (** **) (** if t1.q and t1_q=0 then **) (* if - Cond *) LD t1.q AND ( t1_q EQ 0 ) JMPCN ODK_SKIP_000000000000003_000000000000001 (* then - Stmts *) (** if test_mode1=0 then **) (* if - Cond *) LD test_mode1 EQ 0 JMPCN ODK_SKIP_000000000000004_000000000000001 (* then - Stmts *) (** commandsend1:=commandsend1 + 1; **) (* assign - Stmt *) LD commandsend1 ADD 1 ST commandsend1 (** if commandsend1>12 then **) (* if - Cond *) LD commandsend1 GT 12 JMPCN ODK_SKIP_000000000000005_000000000000001 (* then - Stmts *) (** commandsend1:=0; **) (* assign - Stmt *) LD 0 ST commandsend1 JMP ODK_END_IF_000000000000005 (** end_if; **) (* if - End *) ODK_SKIP_000000000000005_000000000000001: ODK_END_IF_000000000000005: JMP ODK_END_IF_000000000000004 (** end_if; **) (* if - End *) ODK_SKIP_000000000000004_000000000000001: ODK_END_IF_000000000000004: JMP ODK_END_IF_000000000000003 (** end_if; **) (* if - End *) ODK_SKIP_000000000000003_000000000000001: ODK_END_IF_000000000000003: (** **) (** case commandsend1 of **) (** 1,2: **) (* case - Elm *) ODK_SKIP_000000000000006_000000000000000: (* case - Cond *) LD commandsend1 EQ 1 JMPC ODK_CASE_000000000000006_000000000000001 (* case - Cond *) LD commandsend1 EQ 2 JMPC ODK_CASE_000000000000006_000000000000001 JMP ODK_SKIP_000000000000006_000000000000001 (* case - Stmts *) ODK_CASE_000000000000006_000000000000001: (** F_WS1 :=8; **) (* assign - Stmt *) LD 8 ST F_WS1 (** sendf1[0]:=16#02; **) (* assign - Stmt *) LD 16#02 ST sendf1[0] (** sendf1[1]:=16#04; **) (* assign - Stmt *) LD 16#04 ST sendf1[1] (** sendf1[2]:=16#00; **) (* assign - Stmt *) LD 16#00 ST sendf1[2] (** sendf1[3]:=16#00; **) (* assign - Stmt *) LD 16#00 ST sendf1[3] (** sendf1[4]:=16#00; **) (* assign - Stmt *) LD 16#00 ST sendf1[4] (** sendf1[5]:=16#01; **) (* assign - Stmt *) LD 16#01 ST sendf1[5] (** CRC4851(CRC_IN :=sendf1 , CRC_LEN :=6 | sendf1[6]:= CRC16H, sendf1[7]:= CRC16L); **) (* call - Stmt *) CAL CRC4851 ( CRC_IN := sendf1, CRC_LEN := 6 | sendf1[6] := CRC16H, sendf1[7] := CRC16L ) JMP ODK_END_CASE_000000000000006 (** 3,4: **) (* case - Elm *) ODK_SKIP_000000000000006_000000000000001: (* case - Cond *) LD commandsend1 EQ 3 JMPC ODK_CASE_000000000000006_000000000000002 (* case - Cond *) LD commandsend1 EQ 4 JMPC ODK_CASE_000000000000006_000000000000002 JMP ODK_SKIP_000000000000006_000000000000002 (* case - Stmts *) ODK_CASE_000000000000006_000000000000002: (** F_WS1 :=8; **) (* assign - Stmt *) LD 8 ST F_WS1 (** sendf1[0]:=16#08; **) (* assign - Stmt *) LD 16#08 ST sendf1[0] (** sendf1[1]:=16#04; **) (* assign - Stmt *) LD 16#04 ST sendf1[1] (** sendf1[2]:=16#00; **) (* assign - Stmt *) LD 16#00 ST sendf1[2] (** sendf1[3]:=16#00; **) (* assign - Stmt *) LD 16#00 ST sendf1[3] (** sendf1[4]:=16#00; **) (* assign - Stmt *) LD 16#00 ST sendf1[4] (** sendf1[5]:=16#01; **) (* assign - Stmt *) LD 16#01 ST sendf1[5] (** CRC4851(CRC_IN :=sendf1 , CRC_LEN :=6 | sendf1[6]:= CRC16H, sendf1[7]:= CRC16L); **) (* call - Stmt *) CAL CRC4851 ( CRC_IN := sendf1, CRC_LEN := 6 | sendf1[6] := CRC16H, sendf1[7] := CRC16L ) JMP ODK_END_CASE_000000000000006 (** **) (** 5,6: **) (* case - Elm *) ODK_SKIP_000000000000006_000000000000002: (* case - Cond *) LD commandsend1 EQ 5 JMPC ODK_CASE_000000000000006_000000000000003 (* case - Cond *) LD commandsend1 EQ 6 JMPC ODK_CASE_000000000000006_000000000000003 JMP ODK_SKIP_000000000000006_000000000000003 (* case - Stmts *) ODK_CASE_000000000000006_000000000000003: (** F_WS1 :=8; **) (* assign - Stmt *) LD 8 ST F_WS1 (** sendf1[0]:=16#01; **) (* assign - Stmt *) LD 16#01 ST sendf1[0] (** sendf1[1]:=16#04; **) (* assign - Stmt *) LD 16#04 ST sendf1[1] (** sendf1[2]:=16#00; **) (* assign - Stmt *) LD 16#00 ST sendf1[2] (** sendf1[3]:=16#00; **) (* assign - Stmt *) LD 16#00 ST sendf1[3] (** sendf1[4]:=16#00; **) (* assign - Stmt *) LD 16#00 ST sendf1[4] (** sendf1[5]:=16#01; **) (* assign - Stmt *) LD 16#01 ST sendf1[5] (** CRC4851(CRC_IN :=sendf1 , CRC_LEN :=6 | sendf1[6]:= CRC16H, sendf1[7]:= CRC16L); **) (* call - Stmt *) CAL CRC4851 ( CRC_IN := sendf1, CRC_LEN := 6 | sendf1[6] := CRC16H, sendf1[7] := CRC16L ) JMP ODK_END_CASE_000000000000006 (** 7,8: **) (* case - Elm *) ODK_SKIP_000000000000006_000000000000003: (* case - Cond *) LD commandsend1 EQ 7 JMPC ODK_CASE_000000000000006_000000000000004 (* case - Cond *) LD commandsend1 EQ 8 JMPC ODK_CASE_000000000000006_000000000000004 JMP ODK_SKIP_000000000000006_000000000000004 (* case - Stmts *) ODK_CASE_000000000000006_000000000000004: (** F_WS1 :=8; **) (* assign - Stmt *) LD 8 ST F_WS1 (** sendf1[0]:=16#04; **) (* assign - Stmt *) LD 16#04 ST sendf1[0] (** sendf1[1]:=16#04; **) (* assign - Stmt *) LD 16#04 ST sendf1[1] (** sendf1[2]:=16#00; **) (* assign - Stmt *) LD 16#00 ST sendf1[2] (** sendf1[3]:=16#00; **) (* assign - Stmt *) LD 16#00 ST sendf1[3] (** sendf1[4]:=16#00; **) (* assign - Stmt *) LD 16#00 ST sendf1[4] (** sendf1[5]:=16#01; **) (* assign - Stmt *) LD 16#01 ST sendf1[5] (** CRC4851(CRC_IN :=sendf1 , CRC_LEN :=6 | sendf1[6]:= CRC16H, sendf1[7]:= CRC16L); **) (* call - Stmt *) CAL CRC4851 ( CRC_IN := sendf1, CRC_LEN := 6 | sendf1[6] := CRC16H, sendf1[7] := CRC16L ) JMP ODK_END_CASE_000000000000006 (** **) (** 9,10: **) (* case - Elm *) ODK_SKIP_000000000000006_000000000000004: (* case - Cond *) LD commandsend1 EQ 9 JMPC ODK_CASE_000000000000006_000000000000005 (* case - Cond *) LD commandsend1 EQ 10 JMPC ODK_CASE_000000000000006_000000000000005 JMP ODK_SKIP_000000000000006_000000000000005 (* case - Stmts *) ODK_CASE_000000000000006_000000000000005: (** F_WS1 :=8; **) (* assign - Stmt *) LD 8 ST F_WS1 (** sendf1[0]:=16#03; **) (* assign - Stmt *) LD 16#03 ST sendf1[0] (** sendf1[1]:=16#04; **) (* assign - Stmt *) LD 16#04 ST sendf1[1] (** sendf1[2]:=16#00; **) (* assign - Stmt *) LD 16#00 ST sendf1[2] (** sendf1[3]:=16#00; **) (* assign - Stmt *) LD 16#00 ST sendf1[3] (** sendf1[4]:=16#00; **) (* assign - Stmt *) LD 16#00 ST sendf1[4] (** sendf1[5]:=16#01; **) (* assign - Stmt *) LD 16#01 ST sendf1[5] (** CRC4851(CRC_IN :=sendf1 , CRC_LEN :=6 | sendf1[6]:= CRC16H, sendf1[7]:= CRC16L); **) (* call - Stmt *) CAL CRC4851 ( CRC_IN := sendf1, CRC_LEN := 6 | sendf1[6] := CRC16H, sendf1[7] := CRC16L ) JMP ODK_END_CASE_000000000000006 (** **) (** 11,12: **) (* case - Elm *) ODK_SKIP_000000000000006_000000000000005: (* case - Cond *) LD commandsend1 EQ 11 JMPC ODK_CASE_000000000000006_000000000000006 (* case - Cond *) LD commandsend1 EQ 12 JMPC ODK_CASE_000000000000006_000000000000006 JMP ODK_SKIP_000000000000006_000000000000006 (* case - Stmts *) ODK_CASE_000000000000006_000000000000006: (** F_WS1 :=8; **) (* assign - Stmt *) LD 8 ST F_WS1 (** sendf1[0]:=16#05; **) (* assign - Stmt *) LD 16#05 ST sendf1[0] (** sendf1[1]:=16#04; **) (* assign - Stmt *) LD 16#04 ST sendf1[1] (** sendf1[2]:=16#00; **) (* assign - Stmt *) LD 16#00 ST sendf1[2] (** sendf1[3]:=16#00; **) (* assign - Stmt *) LD 16#00 ST sendf1[3] (** sendf1[4]:=16#00; **) (* assign - Stmt *) LD 16#00 ST sendf1[4] (** sendf1[5]:=16#01; **) (* assign - Stmt *) LD 16#01 ST sendf1[5] (** CRC4851(CRC_IN :=sendf1 , CRC_LEN :=6 | sendf1[6]:= CRC16H, sendf1[7]:= CRC16L); **) (* call - Stmt *) CAL CRC4851 ( CRC_IN := sendf1, CRC_LEN := 6 | sendf1[6] := CRC16H, sendf1[7] := CRC16L ) JMP ODK_END_CASE_000000000000006 (** **) (** end_case; **) (* case - End *) ODK_SKIP_000000000000006_000000000000006: ODK_END_CASE_000000000000006: (** **) (** sendb4851(EN :=send_act1 , COM :=1 , DATA :=sendp1 , LENGTH :=F_WS1 ); **) (* call - Stmt *) CAL sendb4851 ( EN := send_act1, COM := 1, DATA := sendp1, LENGTH := F_WS1 ) (** recvb4851(EN :=recv_act1 , COM :=1 , DATA :=recvp1 ); **) (* call - Stmt *) CAL recvb4851 ( EN := recv_act1, COM := 1, DATA := recvp1 ) (** **) (** sendp1:=&sendf1; **) (* assign - Stmt *) LD &sendf1 ST sendp1 (** recvp1:=&recvf1; **) (* assign - Stmt *) LD &recvf1 ST recvp1 (** **) (** t1_q:=t1.q; **) (* assign - Stmt *) LD t1.q ST t1_q (** t2_q:=t2.q; **) (* assign - Stmt *) LD t2.q ST t2_q (** **) (** **) (** if commandsend1=2 and recvf1[00]=16#02 then **) (* if - Cond *) LD commandsend1 EQ 2 AND ( recvf1[00] EQ 16#02 ) JMPCN ODK_SKIP_000000000000007_000000000000001 (* then - Stmts *) (** LIESB1E01_CO :=(BYTE_TO_REAL(recvf1[03])*256.0+BYTE_TO_REAL(recvf1[04])); **) (* assign - Stmt *) LD recvf1[03] BYTE_TO_REAL MUL 256.0 ADD ( recvf1[04] BYTE_TO_REAL ) ST LIESB1E01_CO JMP ODK_END_IF_000000000000007 (** end_if; **) (* if - End *) ODK_SKIP_000000000000007_000000000000001: ODK_END_IF_000000000000007: (** if commandsend1=4 and recvf1[00]=16#08 then **) (* if - Cond *) LD commandsend1 EQ 4 AND ( recvf1[00] EQ 16#08 ) JMPCN ODK_SKIP_000000000000008_000000000000001 (* then - Stmts *) (** LIESB1E02_CO :=(BYTE_TO_REAL(recvf1[03])*256.0+BYTE_TO_REAL(recvf1[04])); **) (* assign - Stmt *) LD recvf1[03] BYTE_TO_REAL MUL 256.0 ADD ( recvf1[04] BYTE_TO_REAL ) ST LIESB1E02_CO JMP ODK_END_IF_000000000000008 (** end_if; **) (* if - End *) ODK_SKIP_000000000000008_000000000000001: ODK_END_IF_000000000000008: (** if commandsend1=6 and recvf1[00]=16#01 then **) (* if - Cond *) LD commandsend1 EQ 6 AND ( recvf1[00] EQ 16#01 ) JMPCN ODK_SKIP_000000000000009_000000000000001 (* then - Stmts *) (** LIESB1E03_CO :=(BYTE_TO_REAL(recvf1[03])*256.0+BYTE_TO_REAL(recvf1[04])); **) (* assign - Stmt *) LD recvf1[03] BYTE_TO_REAL MUL 256.0 ADD ( recvf1[04] BYTE_TO_REAL ) ST LIESB1E03_CO JMP ODK_END_IF_000000000000009 (** end_if; **) (* if - End *) ODK_SKIP_000000000000009_000000000000001: ODK_END_IF_000000000000009: (** if commandsend1=8 and recvf1[00]=16#04 then **) (* if - Cond *) LD commandsend1 EQ 8 AND ( recvf1[00] EQ 16#04 ) JMPCN ODK_SKIP_00000000000000A_000000000000001 (* then - Stmts *) (** LIESB1E04_CO :=(BYTE_TO_REAL(recvf1[03])*256.0+BYTE_TO_REAL(recvf1[04])); **) (* assign - Stmt *) LD recvf1[03] BYTE_TO_REAL MUL 256.0 ADD ( recvf1[04] BYTE_TO_REAL ) ST LIESB1E04_CO JMP ODK_END_IF_00000000000000A (** end_if; **) (* if - End *) ODK_SKIP_00000000000000A_000000000000001: ODK_END_IF_00000000000000A: (** **) (** if commandsend1=10 and recvf1[00]=16#03 then **) (* if - Cond *) LD commandsend1 EQ 10 AND ( recvf1[00] EQ 16#03 ) JMPCN ODK_SKIP_00000000000000B_000000000000001 (* then - Stmts *) (** LIESB1E05_CO :=(BYTE_TO_REAL(recvf1[03])*256.0+BYTE_TO_REAL(recvf1[04])); **) (* assign - Stmt *) LD recvf1[03] BYTE_TO_REAL MUL 256.0 ADD ( recvf1[04] BYTE_TO_REAL ) ST LIESB1E05_CO JMP ODK_END_IF_00000000000000B (** end_if; **) (* if - End *) ODK_SKIP_00000000000000B_000000000000001: ODK_END_IF_00000000000000B: (** if commandsend1=12 and recvf1[00]=16#05 then **) (* if - Cond *) LD commandsend1 EQ 12 AND ( recvf1[00] EQ 16#05 ) JMPCN ODK_SKIP_00000000000000C_000000000000001 (* then - Stmts *) (** LIESB1E06_CO :=(BYTE_TO_REAL(recvf1[03])*256.0+BYTE_TO_REAL(recvf1[04])); **) (* assign - Stmt *) LD recvf1[03] BYTE_TO_REAL MUL 256.0 ADD ( recvf1[04] BYTE_TO_REAL ) ST LIESB1E06_CO JMP ODK_END_IF_00000000000000C (** end_if; **) (* if - End *) ODK_SKIP_00000000000000C_000000000000001: ODK_END_IF_00000000000000C: (** **) (** **) END_PROGRAM