初始化存储区域指令SFC21,输入参数BVAL和和BLK写的参数类型是任何,但是我如果把它写成BOOL型,数据块并不能初始化,为什么?我把数据块的长度再乘以8还是不行,不知道什么原因。请教各位大侠。
IN3 BLOCK_DB
Z BOOL
Q INT
P ANY
R #Z
OPN #IN3
L DBLG
LAR1 P##P
T W [AR1,P#2.0]
L W#16#1001
T W [AR1,P#0.0]
L DBNO
T W [AR1,P#4.0]
L P#DBX 0.0
T D [AR1,P#6.0]
CALL "FILL"
BVAL :=#Z
RET_VAL:=#q
BLK :=#P
问题补充:
我之前也是这样写的,但是好像还是有问题,不知道是什么原因。
图片说明:
最佳答案
把你的W [AR1,P#2.0]前面都加上L就可以了,即LW [AR1,P#2.0]。你那四行寻址都加上L。
提问者对于答案的评价:
由于我无法再次进行提问,所以只能在这里问您了,我试了试,按照您说的,前面全加上L,用临时变量区,还是不行,不知道我哪里还有问题,如您看到,麻烦帮解释一下,w969w@qq.com。非常感谢。
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc229411.html