sfc21 清零问题
郑志武
发布于2013-02-28 23:00
1
0
标签:
通过sfc21fill数据块清零,
比如db1有100个字节:
set
l0
t#temp6///临时变量,数据类型dint
set
call"fill"///sfc21
bval:=#temp6
ret_val:=#temp1///返回值,临时变量,数据类型int
blk:=p#db1.dbx0.0byte100
但是如db1有200个字节:p#db1.dbx0.0byte200,ret_val:=#temp1报错-31965。>
佳答案
-31965转换为16进制为8323,表示写入参数时发生范围长度错误,可能你定义的db1块的长度还是原来的100个字节,而不是新的200个字节,改成200字节后应该没有问题。也就是db1块里面需要定义50个dint类型的数据。
另外,你赋值是以字节来赋,而#temp6是dint类型,因此,在处理时需要注意数据块里面数据的类型,否则会出现一些问题。