控制工程在线更新2005年2月11日
二五年二月十一日 |
突出了 | ABB赞助 |
说明如何IEC61131-3编程可用于plc执行特定功能,并重新用于创建现有或未来项目的不同例程的分步指南。 |
plc中基于对象的编程 基于对象的编程已经成为当今办公自动化软件产品的一个常见方面。任何向电子表格添加定制或向数据库添加用户界面的人都熟悉这些可重用、自包含模块的好处。然而,在IEC61131-3编程标准和后续产品发布之前,可编程逻辑控制器(plc)的世界对用户需求反应缓慢。 IEC61131-3标准试图通过实现对程序和数据表结构的更好定义来为PLC程序开发的混乱世界带来秩序。通过在数据表标签结构的定义中采用这些标准,可以开发出可重用的逻辑,这与我们在Visual Basic、Access或Excel中使用的对象没有什么不同。 在最简单的形式中,对象是一段逻辑,它根据其中包含的数据执行一个或多个函数。此外,该对象/数据对可以在同一程序或不同程序中轻松重用。 为了展示这是如何做到的,罗克韦尔自动化公司的ControlLogix将被用来描述如何在plc上执行基于对象的编程。 定义对象 为了说明如何在实际的ControlLogix程序中实现这样一个对象,让我们使用一个输送机控制的示例。具体要求如下:
用户定义的类型 掌握UDT:输送机 Sub-UDTs 在定义子udt和udt中的元素时,应该使用描述性名称。这将有利于程序记录,因为只有主UDT需要描述符。元素名称将用于进一步描述它们自己。 声明UDT 对象逻辑定义 确保对象子例程中的所有逻辑只引用对象数据结构的元素是非常重要的。这将允许重用完整的目标代码。真实的I/O可以从位于“输入”程序下的另一个子例程映射到对象元素,而真实的输出可以从位于“输出”程序下的另一个子例程编程的对象元素激活。这种I/O映射实现如下功能:
典型的输入和输出映射显示在这里(输入是顶部图形)。 一旦I/O被映射了,对象逻辑就跟着来了。下面的示例显示了仅使用对象元素的简化run命令。 总结
如果使用I/O别名标记来定义设备I/O,则每个子例程只需要执行一次搜索和替换,因此部署速度很快。当前和未来需要的所有设备功能都可以构建到对象模型中。这允许在现有和未来的项目中重用。 测试和调试精度是使用该模型的另一个好处。通过在每个对象中构建仿真逻辑和数据结构,整个测试和模拟过程成为对象的函数。这也增加了对象的可移植性,因为可以在不与I/O子系统建立物理连接的情况下对对象进行完全测试。 Mike Voll是Stantec Consulting Ltd.制造/工业控制经理。 |
您是否具有本内容中提到的主题的经验和专业知识?你应该考虑为我们的CFE媒体编辑团队做出贡献,并获得你和你的公司应得的认可。点击在这里开始这个过程。