首页 理论教育 PAC编程故障管理和调试指南

PAC编程故障管理和调试指南

时间:2023-10-26 理论教育 版权反馈
【摘要】:图16-30 清除故障代码的梯形逻辑还有一种可能会改变Phase.Failure单元的存储内容,那就是新的故障出现将覆盖原有的信息。最后,再讨论关于调试中用到的指令编程,PPD与AutoPause、Pausing和Paused命令联合起来使用,只有在Pausing亚状态才作用于测试的PPD指令,用来中断本梯级指令的执行。Pausing亚状态在状态模块上可观察到,这里不作更为深入的讨论。图16-31 用PPD测试的梯级逻辑PPD指令不可以编写在预状态例程中,这是用来调试状态例程的,只能编写在状态例程中。

PAC编程故障管理和调试指南

下面我们再讨论故障记录的编程。Equipment Phase创建时,会产生一个同名的结构数据标签,这个结构数据标签存放了这个管理过程的许多信息,其中有一个存放故障代码的子元素,如图16-27所示。

978-7-111-36030-8-Chapter16-27.jpg

编写梯级逻辑,如图16-28所示。当故障源触发,相应梯级条件成立,执行PFL指令,将故障代码放入故障代码单元中存放,如图16-29所示。

978-7-111-36030-8-Chapter16-28.jpg

图16-28 探测故障的梯级逻辑

978-7-111-36030-8-Chapter16-29.jpg

图16-29 存放故障代码的数据单元

请注意,Phase.Failure这个单元存放的信息并不是常规的数据标签子元素,按照惯例用CLR指令或MOV指令是不能清除的,必须采用专门的清除指令PCLF来清除,编写梯形逻辑如图16-30所示。

978-7-111-36030-8-Chapter16-30.jpg

图16-30 清除故障代码的梯形逻辑

还有一种可能会改变Phase.Failure单元的存储内容,那就是新的故障出现将覆盖原有的信息。如果两个以上的故障源同时发生,数字大的优先权更高,比如101和102的故障同时发生,保留下来的信息是102,所以要将较为重要的故障信息定义为数字大的代号。

最后,再讨论关于调试中用到的指令编程,PPD与AutoPause、Pausing和Paused命令联合起来使用,只有在Pausing亚状态才作用于测试的PPD指令,用来中断本梯级指令的执行。Pausing亚状态在状态模块上可观察到,这里不作更为深入的讨论。梯级逻辑编程如图16-31所示。(www.xing528.com)

978-7-111-36030-8-Chapter16-31.jpg

图16-31 用PPD测试的梯级逻辑

PPD指令不可以编写在预状态例程中,这是用来调试状态例程的,只能编写在状态例程中。编程限制在任何时候只能有一个PPD中断,并限制PPD为单次扫描,多次扫描将使得PPD连续多次作用于同一个中断点。

一个Equipment Phase只对应一个设备的控制,一个控制系统的多个设备要创建多个E-quipment Phase,由于生产工艺过程的设备运动是相互关联的,多个Equipment Phase之间也有必然的联系,这时往往需要一个充当调度者的程序来协调工作。关于多个Equipment Phase各自的拥有权利,也是需要编程来解决的,所以设备阶段管理还有一些指令用来实现拥有权的管理,我们这里就不作讨论了。如果你有兴趣或有需求,可阅读Phase Manager的设计手册,它将告诉你如何来规划设备的控制。

以上我们讨论的都是程序控制进程的设备管理,其过程如图16-32所示的状态模块所示,我们编程或调试,都是在观察状态模块,以了解当前哪个状态例程处在激活状态。

978-7-111-36030-8-Chapter16-32.jpg

图16-32 状态模块

在调试时,还可以手动控制状态进程,在状态模块上,选择拥有者为RSLogix5000,即本地手动控制,如图16-33所示,可以看到手动操作的命令被激活,由原先的灰显转为实显,鼠标点击当前激活命令项便可进行操作。

978-7-111-36030-8-Chapter16-33.jpg

图16-33 选择本地手动控制

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈