一、手册上200的扫描周期先执行程序逻辑,再执行通讯任务,那是不是程序里遇到xmt指令时候并不执行,等到扫描周期到执行通讯时才发送,
LD SM0.1
MOVB 16#09, SMB30
Network 2
LD SM0.1
MOVB 1, VB0
Network 3
LD SM0.1
MOVB 16#41, VB1
Network 4
LD SM0.1
XMT VB0, 0
Network 5
LD SM0.1
MOVB 16#42, VB1
最后发送的应该是41H,还是42H,为什么我试验的结果大部分是42H,极少时候会是41H?
二、我在数据里赋值vb0是1,然后程序逻辑修改vb0为0,然后进入stop模式,再进入运行状态,vb0这时候是几?如果写个程序验证的话应该怎么写?请各位不吝赐教,谢谢。
最佳答案
最后发送的是41H,因为赋值完41H,就执行了XMT指令。实际上监控VB1,其值为42H,因为最后又给VB1赋值是42H。通过PLC测试一下就知道了。
手册上200的扫描周期先执行程序逻辑,再执行通讯任务,我认为只是概念上的,实际上应该存在时间片的概念,可以参考S7-300手册上的相关描述。
二,应该是最后的赋值,断电后一般V区都保持的,所以上电后保持最后值。
提问者对于答案的评价:
感谢三位的回答,半瓶醋和touch++的回答对我都有很大帮助,可惜我只能采纳一次。谢谢。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc305783.html