近来我在用SCL语言编写读取西门子PLC序列号的程序,程序编译没有错误,但是监控(直接在SCL源文件中监控的)时却没有得到结果,请各位高手帮忙看看,现在急用,万分谢谢!!
我的SCL程序如下:
DATA_BLOCK DB10//
// Block Comment...
//
STRUCT
SZL_HEADER:STRUCT
LENTHDR:WORD:=w#16#22;
N_DR:WORD:=w#16#0;
END_STRUCT;
seriennummer:STRING[24]:='';
END_STRUCT;
BEGIN
END_DATA_BLOCK
FUNCTION FC30:VOID
VAR_TEMP
// Temporary Variables
RET_SFC51:INT;
Busy:BOOL;
REL:INT;
a:WORD;
b:WORD;
c:WORD;
e:DWORD;
f:DWORD;
g:DWORD;
h:DWORD;
i:DWORD;
END_VAR
BEGIN
// Instruction Section
IF M0.0=FALSE THEN
M0.0:=TRUE;
END_IF;
REL:=RDSYSST(REQ :=M0.0 // IN: BOOL
,SZL_ID :=w#16#011C // IN: WORD
,INDEX :=w#16#0005 // IN: WORD
,BUSY :=Busy // OUT: BOOL
,SZL_HEADER :=DB10.SZL_HEADER // OUT: STRUCT
,DR := DB10.seriennummer// OUT: ANY
); // INT
IF ENO THEN
a:=DB10.SZL_HEADER.LENTHDR;
b:=DB10.SZL_HEADER.N_DR;
c:=DB10.DBW4;
e:=DB10.DBD6;
f:=DB10.DBD10;
g:=DB10.DBD14;
h:=DB10.DBD18;
i:=DB10.DBD22;
END_IF;
END_FUNCTION