Ton_Delay_unKeep[0](IN:=Serial.w_Read=0,
PT:=T#100MS);
Ton_Delay_unKeep[1](IN:=ui_Loop=400,
PT:=T#500MS);
Ton_Delay_unKeep[2](IN:=ui_Loop=1200,
PT:=T#500MS);
Ton_Delay_unKeep[3](IN:=ui_Loop=2200,
PT:=T#500MS);
Ton_Delay_unKeep[4](IN:=ui_Loop=3200,
PT:=T#500MS);
r_TRIG_Start(CLK:=b_Start);
CASE ui_Loop OF
0:
IF r_TRIG_Start.Q
THEN
b_Done R= TRUE;
b_Busy S= TRUE;
b_Error_UnConnect R= TRUE;
IF NOT b_Done AND
b_Busy AND
NOT b_Error_UnConnect
THEN
ui_Loop := 100;
END_IF
END_IF
100:
Serial.w_Write_Bit[0]:=16#0301;
Serial.w_Write_Bit[1]:=16#0200;
Serial.w_Write_Bit[2]:=16#0200;
Serial.w_Write_Bit[3]:=16#CB65;
IF Serial.w_Write_Bit[0]=16#0301 AND
Serial.w_Write_Bit[1]=16#0200 AND
Serial.w_Write_Bit[2]=16#0200 AND
Serial.w_Write_Bit[3]=16#CB65
THEN
ui_Loop := 200;
END_IF
200:
Serial.w_Read:= 0;
Serial.w_Read_Bit[0]:= 0;
Serial.w_Read_Bit[1]:= 0;
Serial.w_Read_Bit[2]:= 0;
Serial.w_Read_Bit[3]:= 0;
Serial.w_Read_Bit[4]:= 0;
Serial.w_Read_Bit[5]:= 0;
Serial.w_Read_Bit[6]:= 0;
Serial.w_Read_Bit[7]:= 0;
Serial.w_Read_Bit[8]:= 0;
Serial.w_Read_Bit[9]:= 0;
IF Serial.w_Read=0 AND
Serial.w_Read_Bit[0]=0 AND
Serial.w_Read_Bit[1]=0 AND
Serial.w_Read_Bit[2]=0 AND
Serial.w_Read_Bit[3]=0 AND
Serial.w_Read_Bit[4]=0 AND
Serial.w_Read_Bit[5]=0 AND
Serial.w_Read_Bit[6]=0 AND
Serial.w_Read_Bit[7]=0 AND
Serial.w_Read_Bit[8]=0 AND
Serial.w_Read_Bit[9]=0 AND
Ton_Delay_unKeep[0].Q
THEN
ui_Loop := 300;
END_IF
300:
Serial.w_Write:= 8;
ui_Loop := 400;
400:
IF Ton_Delay_unKeep[1].Q
THEN
ui_Loop := 500;
END_IF
500:
IF Serial.w_Read_Bit[0]=16#0301
THEN
ui_Loop := 2000;
ELSE
b_Error_UnConnect S= TRUE;
b_Busy R= TRUE;
IF b_Error_UnConnect AND
NOT b_Busy
THEN
ui_Loop := 0;
END_IF
END_IF
2000:
Serial.w_Write_Bit[0]:=16#1001;
Serial.w_Write_Bit[1]:=16#0500;
Serial.w_Write_Bit[2]:=16#0100;
Serial.w_Write_Bit[3]:=16#0002;
Serial.w_Write_Bit[4]:=16#6701;
Serial.w_Write_Bit[5]:=16#00C5;
IF Serial.w_Write_Bit[0]=16#1001 AND
Serial.w_Write_Bit[1]=16#0500 AND
Serial.w_Write_Bit[2]=16#0100 AND
Serial.w_Write_Bit[3]=16#0002 AND
Serial.w_Write_Bit[4]=16#6701 AND
Serial.w_Write_Bit[5]=16#00C5
THEN
ui_Loop := 2100;
END_IF
2100:
Serial.w_Write:= 11;
ui_Loop := 2200;
2200:
IF Ton_Delay_unKeep[3].Q
THEN
ui_Loop := 2300;
END_IF
2300:
Serial.w_Read:= 0;
Serial.w_Read_Bit[0]:= 0;
Serial.w_Read_Bit[1]:= 0;
Serial.w_Read_Bit[2]:= 0;
Serial.w_Read_Bit[3]:= 0;
Serial.w_Read_Bit[4]:= 0;
Serial.w_Read_Bit[5]:= 0;
Serial.w_Read_Bit[6]:= 0;
Serial.w_Read_Bit[7]:= 0;
Serial.w_Read_Bit[8]:= 0;
Serial.w_Read_Bit[9]:= 0;
IF Serial.w_Read=0 AND
Serial.w_Read_Bit[0]=0 AND
Serial.w_Read_Bit[1]=0 AND
Serial.w_Read_Bit[2]=0 AND
Serial.w_Read_Bit[3]=0 AND
Serial.w_Read_Bit[4]=0 AND
Serial.w_Read_Bit[5]=0 AND
Serial.w_Read_Bit[6]=0 AND
Serial.w_Read_Bit[7]=0 AND
Serial.w_Read_Bit[8]=0 AND
Serial.w_Read_Bit[9]=0 AND
Ton_Delay_unKeep[0].Q
THEN
ui_Loop := 1000;
END_IF
1000:
Serial.w_Write_Bit[0]:=16#1001;
Serial.w_Write_Bit[1]:=16#0700;
Serial.w_Write_Bit[2]:=16#0100;
Serial.w_Write_Bit[3]:=16#0002;
Serial.w_Write_Bit[4]:=16#E703;
Serial.w_Write_Bit[5]:=16#00E6;
IF Serial.w_Write_Bit[0]=16#1001 AND
Serial.w_Write_Bit[1]=16#0700 AND
Serial.w_Write_Bit[2]=16#0100 AND
Serial.w_Write_Bit[3]=16#0002 AND
Serial.w_Write_Bit[4]=16#E703 AND
Serial.w_Write_Bit[5]=16#00E6
THEN
ui_Loop := 1100;
END_IF
1100:
Serial.w_Write:= 11;
ui_Loop := 1200;
1200:
IF Ton_Delay_unKeep[2].Q
THEN
ui_Loop := 1300;
END_IF
1300:
Serial.w_Read:= 0;
Serial.w_Read_Bit[0]:= 0;
Serial.w_Read_Bit[1]:= 0;
Serial.w_Read_Bit[2]:= 0;
Serial.w_Read_Bit[3]:= 0;
Serial.w_Read_Bit[4]:= 0;
Serial.w_Read_Bit[5]:= 0;
Serial.w_Read_Bit[6]:= 0;
Serial.w_Read_Bit[7]:= 0;
Serial.w_Read_Bit[8]:= 0;
Serial.w_Read_Bit[9]:= 0;
IF Serial.w_Read=0 AND
Serial.w_Read_Bit[0]=0 AND
Serial.w_Read_Bit[1]=0 AND
Serial.w_Read_Bit[2]=0 AND
Serial.w_Read_Bit[3]=0 AND
Serial.w_Read_Bit[4]=0 AND
Serial.w_Read_Bit[5]=0 AND
Serial.w_Read_Bit[6]=0 AND
Serial.w_Read_Bit[7]=0 AND
Serial.w_Read_Bit[8]=0 AND
Serial.w_Read_Bit[9]=0 AND
Ton_Delay_unKeep[0].Q
THEN
ui_Loop := 4000;
END_IF
3000:
Serial.w_Write_Bit[0]:=16#1001;
Serial.w_Write_Bit[1]:=16#0800;
Serial.w_Write_Bit[2]:=16#0200;
Serial.w_Write_Bit[3]:=16#0004;
Serial.w_Write_Bit[4]:=16#0300;
Serial.w_Write_Bit[5]:=16#00E8;
IF Serial.w_Write_Bit[0]=16#1001 AND
Serial.w_Write_Bit[1]=16#0800 AND
Serial.w_Write_Bit[2]=16#0200 AND
Serial.w_Write_Bit[3]=16#0004 AND
Serial.w_Write_Bit[4]=16#0300 AND
Serial.w_Write_Bit[5]=16#00E8
THEN
ui_Loop := 3100;
END_IF
3100:
Serial.w_Write:= 11;
ui_Loop := 3200;
3200:
IF Ton_Delay_unKeep[4].Q
THEN
ui_Loop := 3300;
END_IF
3300:
Serial.w_Read:= 0;
Serial.w_Read_Bit[0]:= 0;
Serial.w_Read_Bit[1]:= 0;
Serial.w_Read_Bit[2]:= 0;
Serial.w_Read_Bit[3]:= 0;
Serial.w_Read_Bit[4]:= 0;
Serial.w_Read_Bit[5]:= 0;
Serial.w_Read_Bit[6]:= 0;
Serial.w_Read_Bit[7]:= 0;
Serial.w_Read_Bit[8]:= 0;
Serial.w_Read_Bit[9]:= 0;
IF Serial.w_Read=0 AND
Serial.w_Read_Bit[0]=0 AND
Serial.w_Read_Bit[1]=0 AND
Serial.w_Read_Bit[2]=0 AND
Serial.w_Read_Bit[3]=0 AND
Serial.w_Read_Bit[4]=0 AND
Serial.w_Read_Bit[5]=0 AND
Serial.w_Read_Bit[6]=0 AND
Serial.w_Read_Bit[7]=0 AND
Serial.w_Read_Bit[8]=0 AND
Serial.w_Read_Bit[9]=0 AND
Ton_Delay_unKeep[0].Q
THEN
ui_Loop := 4000;
END_IF
4000:
b_Busy R= TRUE;
b_Done S= TRUE;
ui_Loop := 0;
END_CASE