我用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的内用一模一样,
我怕自己写的程序有数据冲突,所以又单独新建了一个程序,块都没有重复调用,结果还是一样的, 求大神帮忙解决,谢谢!
问题补充:
图片是我仿真时,对的情况
图片说明:
钻石用户推荐最佳答案
你这样写,还不是用一个for循环写呢!for循环中从最后一个开始都是把前一个地址的数据后移一个地址。
或者你两次blockmov,先复制到另外一个db中,然后再从另外的db中复制到这个db的另外地址。
提问者对于答案的评价:
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc343976.html