关于此问题,我已在“找答案”栏目中回答。如下:
quote:1、SFC51系统功能块的作用是读取PLC系统状态列表代码(Reading a System Status List or Partial List);
2、在 SFC51系统功能块中,有一OUT参数“DR”,用于存放IN参数中“SSL_ID”指定的系统状态编码值(SSL-ID of the system status list or partial list to be read.)
3、“DR”参数是ANY数据类型。在使用SCL工具中初始化ANY数据类型确实比较复杂,需要使用AT函数(方法参见dcount107提供的地址链接)。
4、对于SFC51系统功能块,除了要正确初始化“DR”参数的ANY据类型外,还要注意正确填写好“REQ”、“SSL_ID”、“INDEX”这3个IN参数。其中“REQ”是通讯时的心跳(脉冲Pulse)参数,通常上升沿↑触发SFC51系统功能块读取一次“SSL_ID”参数中的数据,存放至OUT参数“DR”中。
5、因此,你还要检查一下“REQ”参数设置,是否是时钟脉冲Pulse变量!
6、另外,对于SFC51系统功能块的使用时,数据通讯状态可观察OUT参数“BUSY”变化;数据接收状态可观察OUT参数“RET_VAL”的返回值代码是否正确!
7、SFC51系统功能块使用复杂,即便是获取的“DR”存储中存放的系统状态列表(System Status List)也是编码形式。通常在PCS 7中,是系统编译后自动调用它,很少由用户手动使用。
另外,还应多看系统提供的在线帮助文件(Online Help)。