wHeadHolding:=0;(*寫入字首地址*)
WritePoints:=10;(*寫入多少個字*)
wSedDateSet[0]:=20;(*寫入多少個字節*)
wReHeadHolding:=10;(*讀取字首地址*)
ReadPoints:=10;
wReDataSet[0]:=20;
wECPRTCLDateSet[2]:=1; (*指定第1個執行的協議的協議編號 ; *)
wECPRTCLDateSet[3]:=2; (*指定第2個執行的協議的協議編號 ; *)
(*----------------------數據發送部分--------------------------*)
(*端口打開*)
SP_SOCOPEN(bOpenStatus AND NOT bOpenStatusOld AND
NOT SD1282.1 AND(*打開完成信號*)
NOT SD1284.1 AND(*打開請求信號*)
SD1288.A , (*存儲內置以太網端口的連接狀態 1:與集線器或對象設備連接中*)
U0, k2,wSocOpenSet , bSocOpenComplete);
IF bSocOpenComplete[0] THEN
bOpenNormalComplete:=NOT bSocOpenComplete[1];
bOpenAbnormaComplete:=bSocOpenComplete[1];
ELSIF bCloseStatus THEN
bOpenNormalComplete:=FALSE;
bOpenAbnormaComplete:=FALSE;
END_IF;
(*執行協議發送*)
SP_ECPRTCL(bSedStart AND SD1282.1 , U0 , K2 , K2 , wECPRTCLDateSet,bECPRTCLComplete );
(*執行 SP_ECPRTCL 命令*)
IF bSedStart THEN
IF bECPRTCLComplete[0] THEN
bSedStart :=FALSE;
END_IF;
ELSE
IF SD1282.1 THEN
bSedStart :=TRUE;
END_IF;
END_IF;
(*關閉端口*)
SP_SOCCLOSE(bCloseStatus AND NOT bCloseStatusOLD ,"U0", k2,wSocCloseSet,bSocCloseComplete );
IF wECPRTCLDateSet[1]<>0 THEN
wErrorCode:=wECPRTCLDateSet[1];
ELSE
wErrorCode:=0;
END_IF;
bSedStatusOld:=bSedStatus ;
SM413OLD:=SM413;
bOpenStatusOld:=bOpenStatus;
bCloseStatusOLD:=bCloseStatus;