江苏省南京市溧水区秦淮人家下位机
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

635 lines
11 KiB

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
LIESB1C04_CO : REAL;
LIESB1C01_CO : REAL;
LIESB1C02_CO : REAL;
LIESB1C03_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#0B; **)
(* assign - Stmt *)
LD 16#0B
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#0C; **)
(* assign - Stmt *)
LD 16#0C
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#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
(** **)
(** **)
(** end_case; **)
(* case - End *)
ODK_SKIP_000000000000006_000000000000004:
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#0B then **)
(* if - Cond *)
LD commandsend1
EQ 2
AND ( recvf1[00]
EQ 16#0B
)
JMPCN ODK_SKIP_000000000000007_000000000000001
(* then - Stmts *)
(** LIESB1C01_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 LIESB1C01_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#0C then **)
(* if - Cond *)
LD commandsend1
EQ 4
AND ( recvf1[00]
EQ 16#0C
)
JMPCN ODK_SKIP_000000000000008_000000000000001
(* then - Stmts *)
(** LIESB1C02_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 LIESB1C02_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 *)
(** LIESB1C03_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 LIESB1C03_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#02 then **)
(* if - Cond *)
LD commandsend1
EQ 8
AND ( recvf1[00]
EQ 16#02
)
JMPCN ODK_SKIP_00000000000000A_000000000000001
(* then - Stmts *)
(** LIESB1C04_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 LIESB1C04_CO
JMP ODK_END_IF_00000000000000A
(** end_if; **)
(* if - End *)
ODK_SKIP_00000000000000A_000000000000001:
ODK_END_IF_00000000000000A:
(** **)
END_PROGRAM