是这样的我们设备需要用高速计数器计脉冲数,当CV=PV时发生正转或者反转,简单地说就是循环往复的上下正反转,就是“石油磕头机”。其行程中间位置有个传感器,用来初始化高速计数器和重新赋值给SMD42,我们用一个高速计数器 所以有两个中断程序,我们定义上中断和下中断。上中断程序是用SM0.0置位M0.0同时复位M0.1 下中断程序是置位M0.1复位M0.0 ,M0.0 ,M0.1分别是设备的正转启动信号和反转启动信号,正常运行时M0.0 M0.1有一个一直是置位的,最高点或最低点才变化状态位(也就是发生中断时),现在在模型机上运行时,偶尔发生很怪的想象,M0.0 M0.1同时都复位了,其他地方一定没有复位他们两个的程序,有时候运行1个小时才出现一次,有时候一天才出现一次,真的不明白哪里出错了,看样子程序应该没问题 要不运行一周就会停机,而这偶发现像实难理解,就算中间传感器发生故障没有初始化高速计数器进入另个中断程序,那M0.0 M0.1也会保持原有状态一直运行下去啊 为什么都复位了,我观察好像在发生正反转的时候出现的毛病!
说了这么多估计很多人都没听明白。上中断程序LD SM0.0
S M0.0, 1
R M0.1, 1
下中断程序LD SM0.0
S M0.1, 1
R M0.0, 1
中间传感器初始化LDN M1.0
A T40
EU
LPS
A M0.0
MOVD VD100, SMD42
HSC 0
ATCH INT_0:INT0, 12
ENI
LPP
A M0.1
MOVD VD1000, SMD42
HSC 0
ATCH INT_1:INT1, 12
ENI