恭喜,你发布的帖子
发布于 2023-03-04 23:34:28
1楼
如果不设值相移,多个循环中断同时开始计时,肯定会在某一时刻(周期的公倍数)同时执行,即便一个周期是47ms,一个是23ms,每经过47×23即1081ms,就会同时触发。
而不同的相移值是让这些循环中断的起始时间不同了,设置好了,永远也撞不上(不同的循环中断,相移值应该不同,相同就没意义了)。
比如OB30周期20ms,相移0ms,OB31周期30ms,相移2ms,OB30在CPU启动后的20、40、60、80...ms执行,OB31在32、62、92、122...ms执行,它们错开了起始时间,永远都不会撞车。
请填写推广理由:
分享
只看
楼主