BIKMOVE在同一块传输,仿真可以,下载到PLC数据就错误

我用blkmove指令,如下
  A     "Tag_7"
      BLD   100
      FP    "Tag_3"
      =     %L0.0
      A     %L0.0
      JNB   Label_0
      CALL  BLKMOV
         blk_type:=Any
         SRCBLK  :=P#DB2.DBX0.0 BYTE 100
         RET_VAL :="Tag_4"
         DSTBLK  :=P#DB2.DBX1.0 BYTE 100
Label_0 : NOP 0
      A     %L0.0
      JNB   Label_1
      CALL  BLKMOV
         blk_type:=Any
         SRCBLK  :=P#DB102.DBX260.0 BYTE 7540
         RET_VAL :="Tag_10"
         DSTBLK  :=P#DB102.DBX286.0 BYTE 7540
Label_1 : NOP 0
仿真时数据可以依次往后传输(1的内容传到2,2的内容传到3,依次往后);但是在把程序下载到PLC后,所有的数据内容不是依次往后传输,而是全部和1的内用一模一样,
我怕自己写的程序有数据冲突,所以又单独新建了一个程序,块都没有重复调用,结果还是一样的,  求大神帮忙解决,谢谢!

问题补充:
图片是我仿真时,对的情况

图片说明:

BIKMOVE在同一块传输,仿真可以,下载到PLC数据就错误   

钻石用户推荐最佳答案

你这样写,还不是用一个for循环写呢!for循环中从最后一个开始都是把前一个地址的数据后移一个地址。
或者你两次blockmov,先复制到另外一个db中,然后再从另外的db中复制到这个db的另外地址。

提问者对于答案的评价:

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc343976.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月4日
下一篇 2021年7月4日

相关推荐

发表回复

登录后才能评论