回复内容:
对:芳季 第一个比较指令。小于就加,大于就减。为何后面的比较是无条件执行呢?你第一个比较的结果是小于的时候,连大于的比较都做了。那么结果就会影响了M12。第n个扫描周期比较结果为小。M0接通,M2不接通,所以D2的值没有刷新。执行了两个比较之后一个没有刷新的D2就参与了比较了。你说这个时候M12出来的结果是不是你要的结果?你把后两个比较指令紧密跟在两个加减指令之后应该没问题了。改过之后你有没有发现D1和D2是紧需要一个的存在?D1和D2可以使用同一个地址。那么比较指令就只需要一条。程序又简单了一大截。 内容的回复:还能联系到你吗
"芳季" 的回复,发表在26楼
对内容: 【首先判断<当前值>是否在前半圈。 是前半圈,<上次值>是否在负半圈。 是负半圈,正向过零加一。(在正半圈,没有发生过零) 是后半圈,<上次值>是否在正半圈。 是...】进行回复:
-----------------------------------------------------------------
是后半圈,<上次值>是否在正半圈。
是正半圈,反向过零加一。(在负半圈,没有发生过零)
如果是顺时针转动了,当前值11点【是后半圈】,上次值1点【是正半圈】,没有发生过零啊,为何说是反向过零?