有以下一个程序:
LD M0.2
CALL SBR_2:SBR2
SBR2
Network 1
LD SM0.0
MOVB VB10, SMB34
ATCH INT0, 10
ENI
Network 2
LD SM0.0
TON T96, VW12
ATCH INT1, 22
ENI
A T96
R T96, 1
INT_0
Network 1 // 网络标题
// 网络注释
LD SM0.0
+R VD100, VD104
INT_1
Network 1 // 网络标题
// 网络注释
LD SM0.0
+R VD200, VD204
初始值vb10=1;vw12=1;vd100=1.0;vd200=1.0;m0.2=0。
下载程序后通过状态表监控VD104每一秒加1000.0,也就是中断0在运行;监控VD204没有在累加还是0.0,也就是中断1没有运行。将M0.2置1,VD104继续累加,VD204开始累加每一秒加1000.0;通过状态表向VB10写入2,VD104累加速度变慢约每一秒加500.0;向VW12写入2,VD204累加速度变慢每一秒加500.0;向VB10写入3(或大于3的值),VD104累加停止(此时M0.2=1);向VW12写入3,VD204累加速度变慢约每一秒加333.333,向VW12写入10,VD204累加速度变慢每一秒加100.0;
将M0.2复位,VD104又开始累加,累加速度约每一秒加333.333,此时VB10=3;VD204停止累加;向VB10写入10,VD104继续累加,累加速度不变;将M0.2置1,VD104累加停止,将M0.2再复位,VD104又开始累加,累加速度变慢每一秒加100.0;
对于VD104的累加现象不明白,为什么在VB10=1和2的时候,不管M0.2等于1还是0都能累加,而VB大于等于3时,只有M0.2等于0时才能累加;
这是个实验程序,没有其他任何程序了。