虽然可编程逻辑控制器(PLC)非常重要,但控制器内部的编程也同样重要,而且很容易被忽视。
可编程逻辑控制器(PLC)是许多生产制造运营的基础,可以执行很多任务。虽然PLC非常重要,但控制器内部的编程也同样重要,而且很容易被忽视。Matrix Technologies公司的部门经理Matt Fether谈到了对PLC编程的一些见解,以及如何使编程更容易的技巧。
01
如何进行PLC编程?
通常从项目定义阶段开始,同时生成设计文档。在项目执行过程中,如果控制系统的定义和文档的编制都遵循项目程序,那么控制器的编程实际就是项目执行的一个中间步骤,可以提供更有效的开发。使用可复用代码、标准对象库和复制工具,能够进一步提高开发效率。
在项目的整个编程阶段,可使用测试程序进行测试。如果需要在多个装置上运行,请先在单个装置上运行,并在部署到下一个装置之前,对其进行全面测试。
在开发过程中,使用复制工具不仅可以节省时间,还有助于消除程序开发时“误操作”导致的问题。
02
是否允许修改和更新?
开发的应用程序应易于最终用户的理解。在系统集成项目结束时,开发或升级的应用程序需要移交给客户。最好能够以经常使用系统的人容易理解的方式开发应用程序。
系统集成商应该成为客户的合作伙伴,而不是开发“专有”的应用程序。在整个项目的生命周期内,系统集成商应与客户合作进行设计审查。这有助于确保客户期望与系统集成商的设计之间的无缝衔接。
在开始编程之前,应用程序的组织就应该开始了。通常需要考虑多个因素,例如,应用程序的控制对象,系统的大小和复杂性,项目是全新的还是对现有应用的升级等。
同样重要的是,与客户深入讨论,了解他们的标准术语和工厂区域,以便将其纳入到应用中。目标是生成最终用户可以轻松导航以定位特定设备的应用程序。
在生产过程中,易于导航对于进行故障排除尤为重要。因为“梳理PLC代码”而导致工艺过程或设备的任何计划外停机都可能会带来收入损失。
03
代码调试的专业知识
当负责项目的自动化工程人员精通代码调试时,就可以实现对所开发应用程序的定义、开发和调试。这需要对最初开发的程序进行调试,以确保它们已经做好准备,可以进行工厂验收测试(FAT)和项目现场调试,从而帮助客户实施一个更高效、更成功的项目。
▲此图展示的最近实施的批处理过程 PLC 代码。它使用罗克韦尔自动化的 Studio5000 Logix Designer 软件,编程语言为梯形逻辑。
在编程的早期阶段就开始使用全面的测试过程,有助于消除调试整个系统时的耗时工作,以及确保应用程序的成功开发。
在某些复杂的情况下,项目最终内部测试或现场调试阶段可能需要额外的资源。正确定义应用程序并确保其组织合理,有助于实现近乎无缝的过渡。
在项目调试阶段,可能会有未参与项目开发的人员介入进来。虽然这并不理想,但只要遵循项目执行流程并进行彻底的交接,这些新人应该可以很快接手。
04
编程语言的选择
虽然有几种不同的编程语言,但最常见的可能还是梯形逻辑。有些应用程序使用结构化文本编写,而有些应用使用功能块。在向最初以结构化文本编写的现有PLC添加功能时,可以使用结构化文本。
功能块可用于某些任务,例如模拟输入滤波或比例-积分-微分(PID)回路。然而,某些供应商的软件包可能需要特定许可才能使用功能块编程。如果由于当前软件许可的限制,最终用户无法访问,那么使用功能块将会限制未来查看和修改程序的能力。
在系统投入运行后,工程咨询公司使用的编程语言应易于对客户提供支持。为最终用户提供他们无法访问和维护的专有应用程序反而会帮倒忙。应用程序的最佳语言是在项目结束后客户最满意的语言。
05
标准和系统架构设计
在开发可编程控制器应用程序之前需要考虑几个因素。最关键的是系统应该如何架构,以最适合当前的需要,并允许不久后轻松扩展的选项。
还应考虑受控的工艺过程或设备,是否为它们选择了正确的硬件和软件包?如果被控制的系统是一条包装线,是遵循OMAC PackML 模型还是使用客户提供的模型?
在进行任何开发之前,还需要考虑适用的标准。应用程序是否遵循任何ISA标准,例如用于批处理控制的 ISA-88 模型?我们是否会使用客户提供或供应商提供的任何全局对象吗?诸如此类的问题有助于提供对所需控制器内存大小的洞察。
另一个需要考虑的重要因素是整体系统架构设计。了解现有或潜在的新网络架构将是什么样子。例如,系统是否需要几个通信模块来运行,同时提供稳健和安全的网络设计?
此外,还应考虑与制造执行系统(MES)和数据采集系统的任何潜在接口。这些系统是否需要任何标签结构和命名,需要我们将其纳入应用程序中?这都是需要在开始编程前考虑的一些注意事项。
在设计控制系统时,应确保编程符合应用程序的当前需求,并考虑到未来的可扩展性。