AOI功能是16版本的RSLogix5000软件的新增功能。该功能能够实现用户自定义指令,并且自定义指令的接口以及功能等。用户可以通过AOI功能封装一系列常用的指令以及程序,以满足自己特定的需要。AOI功能可以允许重复使用代码,提供友好的接口界面以及提供加密保护以便于简化维护。
杭州七格污水厂中,在格栅控制、泵的控制、泵的启停控制等多处用到了AOI指令,本书仅以泵的控制来介绍AOI指令的具体使用步骤。
图3-15 内部逻辑
1.创建AOI指令的具体步骤
(1)创建AOI指令
在RSLogix5000工程目录的“Add-On Instruction”文件夹处单击右键,选择“New Add-On Instruction”,开始创建AOI指令,如图3-16所示。
图3-16 创建AOI指令
在弹出的对话框中输入该AOI的名称,编程语言,描述信息及供货商信息等,如图3-17所示。
在这里将该AOI指令命名为“PUMP_RUNTIME”,使用的语言是梯形图,供货商为“NEU_RALAB”。
(2)定义AOI指令的输入输出参数
在本节中定义指令的输入输出参数,对于“PUMP_RUNTIME”这种AOI而言,它的输入参数包括泵的起动、起动数量、停止、自动模式、复位等;输出参数包括泵的P_OREL位、运行超时等。在新生成的“PUMP_RUNTIME”指令下单击右键,选择“Properties”,如图3-18所示。
选择“Parameters”选项卡,按照图3-19输入下列参数。
图3-17 输入AOI指令名称及版本
图3-18 打开AOI指令的属性窗口
图3-19 打开AOI指令的输入输出选项卡
需要注意的是,这些参数有两个选择需要进行设置,Req和Vis参数。它们的含义如下:Req是指在进行指令调用时需要在该参数处创建标签;Vis是指在进行指令调用时不需要创建标签,但是只作为显示。具体的设置如图3-20所示。
(3)定义AOI指令的本地标签
定义完输入输出参数后,还需要定义指令的中间变量存储标签,即Local Tags。由于本AOI指令没有本地标签,所以在此不需要定义。
图3-20 AOI指令参数的Vis和Req设置
(4)编辑AOI指令的功能
定义完毕指令所用的参数后,即开始编辑该指令的功能,这里可以使用RSLogix5000所支持的编程语言。实现该指令功能梯形图逻辑如图3-21。
图3-21 AOI指令的功能梯形图逻辑
(5)在例程中调用AOI指令
在程序中调用AOI时,选择指令选项卡的Add-On选项卡,这时会出现新创建的指令,将光标放于指令之上,会出现指令的详细信息,如图3-22所示。
图3-22 调用新创建的AOI指令
单击该指令,然后拖曳至梯级上即可使用。或者直接双击梯级左侧,在In ASCII Text处直接输出PUMP_RUNTIME即可,如图3-23所示。
图3-23 文本方式输入AOI指令
2.AOI指令的其它功能
(1)导入、导出AOI指令
在需要导出的指令处单击右键,选择“Export Add-On Instruction”,如图3-24所示。
图3-24 选择导出AOI指令
选择导出的路径,然后选择“Export”,导入的过程与之相反。限于篇幅,这里不再赘述。
(2)加密AOI指令
在RSLogix5000的Tools菜单下选择“Security”选项,再选择“Configure Source Protec-tion”,如图3-25所示。
图3-25 加密AOI指令
选中要进行加密的AOI,如图3-26所示。(www.daowen.com)
图3-26 选中待加密的AOI指令
单击“Protect”按钮,弹出下面的对话框,输入加密码,如图3-27所示。
图3-27 输入AOI指令的密码
输入加密码完毕的界面如图3-28所示,可以看到该指令已被加密。
图3-28 已加密的AOI指令
3.AOI指令的使用示例
通过上面的章节对AOI指令的相关学习,此处继续以杭州七格污水处理厂为例,通过一段比较完整的程序来诠释ControlLogix 5000中AOI指令的优点。
(1)背景介绍
污水提升泵房内有十台泵,P1~P10。平均分成两组,其中P5,P6为变频泵;P1~P4、P7~P10为工频泵。在程序内通过对几个AOI指令的调用来完成。泵的开启与停止,如表3-4所示。
表3-4 程序中用到的AOI指令
(续)
(2)具体程序
具体程序如图3-29~图3-35所示。
图3-29 调用PUMP_RUNTIME和WIP_PUMP_RUNNUMBER
说明,这两个AOI指令分别是泵的运行时间和运行数量。其中,在原程序中泵的运行时间有10个同样的AOI指令,分别表示WIP1~WIP10十个泵分别的运行时间;在原程序中泵的运行数量有两个同样的AOI指令,用来表示两个组内泵的运行数量。
图3-30 调用SET_LVL_PROTECTED
说明,这个AOI指令是泵的液位保护。在原程序中有2个,图中的AOI指令包括了“PUMP_1”组4个工频泵的启动液位和停止液位。
图3-31 调用WIP_START_NO
说明,这个AOI指令是泵的启动数量,由于该指令参数较多,篇幅有限只截取了指令的一部分。在原程序中有2个同样的指令,图中表示其中一组,它通过对泵的运行时间等参数的设定来确定当前实际应开启泵的数量。
图3-32 调用WIP_STOP_NO
说明,这个AOI指令是泵的停止数量,由于该指令参数较多,篇幅有限只截取了指令的一部分。在原程序中有2个同样的指令,图中表示其中一组,它通过对泵的运行时间等参数的设定来确定当前实际应关闭泵的数量。
图3-33 调用PUMP_NEEDSTART和PUMP_NEEDSTOP
说明,这2个AOI指令分别是泵的需要起动和泵的需要停止。在原程序中分别有2个同样的指令,图中表示其中一组,它们通过4个工频泵的起动液位、停止液位和当前液位来确定需要起动或停止的泵的数量。
图3-34 调用WIP_FREQUERCY_CONVRTER_SET
说明:这个AOI指令是变频泵的设置。在原程序中有两个同样的指令,图中表示其中一组中的变频泵的设置。
图3-35 调用WIP_CONTROL
说明,这个AOI指令是泵的控制。在原程序中有10个同样的AOI指令,通过设置泵的开启数量和关闭数量等参数,来控制WIP1~WIP10这10个泵的运行。
其中每个AOI指令与3.1.3一节中所讲的PUMP_RUNTIME指令一样,都具有自己的内部逻辑结构。本程序通过对不同的AOI指令的调用,使整个程序简单易读,并通过AOI指令的定制,来满足杭州七格污水处理厂在泵的运行与停止上特定的需要。
图3-36、图3-37所示为本程序的流程图,其中H1~H8是开泵水位,L1~L8是停泵水位:
图3-36 泵的开启流程图
图3-37 泵的关闭流程图
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。