发布于 2012-03-22 23:57:06
2楼
正常。
如果你学过汇编,很多CPU都有NOP指令,就是空操作指令,执行NOP指令什么反应也没有。
S7200没有类似的NOP指令,但如果程序中的指令执行后,对周围没什么影响,就是NOP指令的翻版。
为什么LD T40的输出会被LD M1.0覆盖?这是S7200的输入/输出机制决定的。很多人会把这个问题归结为双线圈,我一般不这样提。因为S7200中没有这个概念,也就是在S7200中,这样的用法是很正常,没有任何错误可言。
可以做个实验:把Q0.0换成V0.0,你把PC机在状态表中监视V0.0,它也只受M1.0控制,而不管T40的状态。
道理其实很简单:物理输出的Q0.0值,仅仅是内部Q0.0(叫印象寄存器)在一个扫描周期内的某一时刻的值,并不是整个扫描期间任意时刻的值;同样,PC读取的V0.0的值,也只是扫描周期内某一时刻的值,不是任意时刻。