西门子PLC模块CPU222CNDC/DC/DC授权代理
西门子PLC模块CPU222CNDC/DC/DC授权代理
中断程序响应相关的内部或外部事件而执行一旦中断程序的较后一个指令已执行,控制返回到主程序。可以通过执行中断有条件返回(CRETI)指令退出中断程序。
1.系统对中断的支持
因为接点、线圈和累加器逻辑可能受中断影响,系统保存和重新装载逻辑堆栈、累加器寄存器和指示累加器和指令操作状态的特殊内存位SM。这避免由于跳转到和来自中断程序引起的对主用户程序的破坏。
2.在主程序和中断程序之间共享数据
可以在主程序和一个或更多的中断程序之间共享数据。因为不可能预知S7-200何时会产生中断,所以,对中断程序和程序中的其他部分都要用到的变量的数目加以限制是有必要的。由于中断程序的操作,当执行主程序中的指令被中断事件中断时,可能引起共享数据的一致性问题。使用中断程序的局部变量表来确保中断程序只使用临时内存和不重写在程序的其他地方使用的数据。
使用一些编程技巧,可确保数据在主程序和中断程序之间正确共享。常见的手段是限制存取共享内存位置,或者防止使用共享的内存位置中断指令序列。
从中断程序调用子程序
可以在中断程序中调用子程序,累加器和逻辑堆栈可以在中断程序和调用的子程序之间共享。
S7-200 支持的中断类型
S7-200支持下列中断程序类型:
(1)通信端口中断S7-200生成允许用户程序控制通信端口的事件。
(2)I/O中断S7-200生成各种I/O状态不同改变的事件。这些事件允许用户程序响应高速计数器、脉冲输出或响应输入的上升或下降状态。
(3)时基中断S7-200生成允许程序反应*间隔的事件。
1.通信端口中断
S7-200串行通信口可以由程序控制,这种操作通信端口的模式称为“自由端口”模式。在“自由端口”模式中,用户程序定义波特率、每个字符的位数、奇偶校验和协议。“接收”和“传输”中断可用于促进程序控制的通信。关于更多的信息参考“传输和接收”指令。
2.I/O中断
I/O中断包含上升/下降边缘中断、高速计数器中断和脉冲串输出中断。S7-200可以在输入的上升和/或下降边缘生成中断(I0.0、I0.1、I0.2或者I0.3)。上升边缘和下降边缘事件可以为这些输入点的每个捕获,这些上升/下降边缘事件可以用来表示当事件发生时**接收立即注意的条件。
高速计数器中断允许响应诸如达到预设值的当前值、符合轴旋转方向反转的计数方向改变或计数器外部重设的条件。