CALL"FILL"SFC21初始化存储区
BVAL:=#FillValue//什么意思?
RET_VAL:=#RetVal//返回值吧?返回什么呢?
BLK:="DB_XX"P#DB14.DBX0.0//块?
注释内容是我的疑问。另外,SFC是如何初始化的?能给个例子最好了。
求点资料吧,SFC引脚功能的,各个SFC名称的资料已找到。
谢谢!!!
ASs='html_titleimg_p' STyle='text-align:center;'>66b2105018ec4beb7457eb670a565fb2
问题补充:
L0
T#FillValue
CALL"FILL"SFC21初始化存储区
BVAL:=#FillValue//
RET_VAL:=#RetVal//返回值,只返回故障值,没有故障不返回值,是吗?
BLK:="DB_XX"P#DB14.DBX0.0//没写多少个字节,就表示DB14的所有字节,是吗?
这段程序是将DB14内的数据置0,是吗?
感谢你们的指点。
最佳答案
1:按下,F1出来的帮助文件就是最好的资料。
2:CALL"FILL"
BVAL:=#FillValue//
RET_VAL:=#RetVal//
BLK:=P#DB14.DBX0.0BYTE100
FillValue应该是个临时变量,类型是ANY。
你程序中应该有对此区域进行分析的语句。
BLK类型也是ANY,P#DB14.DBX0.0BYTE100代表着存取区域是DB14.DBX0.0开始的100个字节的存储区。
个人建议你好好看看STEP7的帮助,说明的已经很详细了。
最后,在看看STEP7里的POINTER和ANY类型的说明,打开STEP7软件,然后搜索POINTER就行。可以看看POINTER和ANY类型的结构。
SFC21是用一个存取的值,赋值给另外一个存取区,指令执行情况有一个返回值,返回值,含义在SFC21帮助里面说明的很清楚了。
参考论里的文章
htTP://www.ad.siemens.com.cn/club/bbs/wap/ReaDPost.aspx?aid=871122
根据你的情况的确是清零某个存储区域。
但是可以将任何值或者存储区域的值填充到BLK所指向的存储区里,你的问题中就是DB14的一个存储区域里。
另外BLK怎么可能是"DB_XX"P#DB14.DBX0.0‘’?,这叫什么格式?要么是P#DB14.DBX0.0BYTE/WORD/REAL/DWORD100,之类的格式,要不是DB14.XXX。XXX可以是任何类型,也可以是UDT。
提问者对于答案的评价:
谢谢,
专家置评
已阅,最佳答案正确。