数据块初始化

初始化存储区域指令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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月1日 上午3:50
下一篇 2018年12月1日 上午3:50

相关推荐