找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
3.3 使用SFC 21 "FILL"初始化存储区
描述
使用 SFC 21 "FILL",可以初始化一个存储区(目标区域),数据采用另一个存储区(源
区域)的内容。此 SFC拷贝数据直到充满整个存储区。
注释
源与目标区域一定不可交叉。
如果目标区域的长度不为输入参数 BVAL的整数倍,则目标区域永远不能写满到最
后一个字节。
如果目标区域长度小于源区域,只拷贝目标区域能容纳的数据。
如果实际存在的目标区域或源区域小于源区域或目标区域的存储区的参数集大小
(BVAL、BLK参数),则数据将不传送。
如果 ANY指针(源或目标)是布尔类型,则指定的长度必须是8的倍数;否则 SFC将不能执行。
...
例外
下列项目不能用作源区域:
* 计数器
* 定时器
使用 SFC 21不能将数据写到下列单元中:
* 下列块类型:FB、SFB、FC、SFC、SDB,
* 计数器,
* 定时器,
* 外设 I/O存储区。
参数 描述 数据类型 存储区 描述
BVAL INPUT ANY I、Q、M、D、 参数BVAL包含用于初始化目标区域的区域
L (源区域)的值或说明。不允许使用STRING数
组。
RET_VAL OUTPUT INT I、Q、M、D、 在功能执行时发生故障,则此参数中包含一个
L 故障代码。
BLK OUTPUT ANY I、Q、M、D、 参数BLK包含被初始化的区域(目标区域)的
L 说明。不允许使用STRING数组。
数据以结构形式输入
如果将一个结构作为输入参数传送,注意以下事项:
STEP 7总是把一个结构的长度定义为偶数个字节数。因此,如果声明一个包含奇数
个字节数的结构,需要另加一个字节的存储空间。
实例
声明一个结构如下:
TYP_5_BYTE_STRUCTURE :STRUCT
BYTE_1_2 :WORD
BYTE_3_4 :WORD
BYTE_5 :字节
END_STRUCT
声明的结构“TYP_5_BYTE_STRUCTURE”需要 6字节存储空间。
故障代码
SFC 21 "FILL"只提供常规(非特定的)故障信息。请参见
通过输出参数 RET_VAL判断错误
...
请下载:
用于 S7300/400系统和标准功能的系统软件卷1/2
http://support.automation.siemens.com/CN/llisapi.dll?func=cslib.csinfo&lang=zh&siteid=cseus&objid=1214574
第3--7页
使用SFC 21不能将数据写到下列单元中:
.下列块类型:FB、SFB、FC、SFC、SDB,
.计数器、
.定时器,
.外设I/O存储区。
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!