Add-on instructions (AOIs) enable programmers to design and create custom instructions for Rockwell Automation controllers. But can you trust AOIs? How do you know? Why use an AOI in the first place? These don’t seem like outlandish questions, so why don’t we dive into the subject and see what happens?
首先,让我承认任何与程序交互的人 - 是否必须花费一点时间学习如何在用户定义的类型(UDTS)中导航,附加定义(AOD),最后是AoIS。让我们讨论需要正确验证AOI的需要。您必须彻底测试了AOI,以信任它可靠地执行它的作业。
我认为大多数的用户罗克韦尔自动化控制rolLogix family of controllers are familiar with UDTs. It seems to be common practice for developers to define UDTs to organize the properties associated with something that is repeatedly used within an application’s program such as locations or an ISA-88 unit or perhaps something as abstract as a Finite State Machine module.
AODs are a type of UDT in which the developer sets up a data structure for the respective AOIs.
AOI是使用控制器标签来实例化各个AOD的数据结构以实现重复使用的逻辑模块的指令的集合。一个示例可以是警报。警报需要在视觉上和可听地通知人们的存在。此外,需要给操作员接口给出要显示和日志(提示)的消息。警报还必须允许操作员沉默并确认警报。该逻辑块及其标签必须存在于系统中的每个警报。似乎,如果我们可以开发一个逻辑和标签的模块,那么将始终表现相同并避免任何错误分类的机会,这将是一个好主意。输入AOI。当它在处理器内的代码部分中使用时,AOI具有明显的外观。它很容易识别。 The AOI is set up to have certain tags made visible and these serve to be the inputs and outputs that are available to the programmer.
There are also internal tags that can be configured to be accessible by the main application program for things such as human-machine interface (HMI) prompts. When programming each alarm, all the programmer has to do is enter the name of the AOI that he needs and then attach logic to it—much in the same way we deal with blocks of logic such as counters and timers in standard programmable logic controller (PLC) logic. We just can’t lift the hood on the counters and timers that are a standard part of the RSLogix 5000 instruction set. The AOI operates the same way except that it is incumbent upon the developer and user to validate the AOI so that they can absolutely trust how it functions. In addition, we can lift the hood on the AOIs that we develop in order to perform that level of testing.
You could get the same thing accomplished with a subroutine, but the big difference between the AOI and a subroutine is the ability to troubleshoot what is happening. Data moves in and out of a subroutine so rapidly that you can’t be sure which subroutine call you’re seeing at any given time. With an AOI, it is unique to the section of logic where it is instantiated.
In summary, I believe that the AOI is a very useful tool that can reduce if not eliminate error in dealing with highly repetitive modules of code. There is no reason to be afraid of them, but they do deserve respect and validation. When something goes wrong, it is natural to condemn the thing you understand the least. So if you haven’t invested enough time and energy to properly test the AOI, it will always be guilty until proven innocent.
Allow AOIs to be used. They are a great tool for modularity of code and ensuring accuracy of logic within them.
Ray Bachelor是董事会主席Bachelor Controls Inc., a certified member of theControl System Integrators Association(CSIA). For more information about Bachelor Controls, visit its profile on the工业自动化交流。