恭喜,你发布的帖子
发布于 2023-02-20 09:35:01
19楼
有意思。
如果说楼主说的M0.1ON和OFF之间跨段会对计数有影响,不如一进入子程序就复位M0.1,这个比季工说的放在紧邻调用子程序下要有用。
季工说的可以用线圈替代无非是说中断里面使线圈ON后退出中断其实不会使线圈OFF,而是需要在它处使线圈OFF,这和RS一个作用,但比较容易使人困惑。执行时间效率嘛,不用考虑。
------------------------
为什么会有差异呢?
比如,在执行子程序时会不会又发生中断,这样就错过一次了。
定性来看似乎不可能,但耐不住定量呀,每次都有一点点时间误差,累计到一定量就会错过一次了。
比如刚要执行复位就发生一次中断,中断后复位了,结果错过了。
-----------------------
可以肯定的是你的数据处理子程序太长了,执行时间过长。
不如把子程序里面无关的剔除,只处理和积分有关的程序,然后还是放在中断里面。中断虽然原则上越短越好,但也不是说1条2条指令就退出才好。
滤波这些不要放在中断里面,和累积无关了。并且滤波似乎也挺费时间的。
你头两条说的很对!第三条也没毛病,不过当很多设备需要数据处理的话,统一使用子程序进行处理也比较合适。程序简单处理下,就可以规避不同步问题,引用你的答案···【如果说楼主说的M0.1ON和OFF之间跨段会对计数有影响,不如一进入子程序就复位M0.1】
请填写推广理由:
分享
只看
楼主