MAIN:OB1
LD SM0.1
MOVB 0, VB10
MOVB 9, SMB30
MOVD &VB10, VD80
ATCH INT_0:INT0, 8
ENI
INT_0:INT0
Network 1
LD SM0.0
INCB MB10
MOVB SMB2, *VD80
INCD VD80
Network 2
LDB= MB10, 4
MOVB 0, MB10
-D +4, VD80
这是我在论坛里的置顶贴里看到的程序,是用SMB2接收主站发来的4个字节数据。其中有2句话的作用不是很理解:
在中断程序中,网络1的 INCD VD80
和网络2的 -D +4, VD80
麻烦哪位前辈给解释一下,我是新手,谢谢了
最佳答案
VD80是地址指针,指向VB10
第一次接收中断,执行MOVB SMB2, *VD80,则将接收到的数据送到VB10,执行INCD VD80后地址指针加1,第二次接收中断,执行MOVB SMB2, *VD80,则将接收到的数据送到VB11
当接收数据4个时,执行-D +4, VD80,地址指针减4,也就重新指向VB10,为下一次接收准备
提问者对于答案的评价:
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc313513.html