每个PLC程序员都应该知道的7个技巧

一个好的可编程逻辑控制器(PLC)程序员在编写代码和实现时应该把最终用户放在心上。

通过亚历克斯·肯尼迪 2022年5月16日
提供:应用制造技术

一个好的可编程逻辑控制器程序员应该始终牢记最终用户,并编写易于理解和可重用的代码。使用有效的方法和实践使程序员和客户的生活更容易。每一个程序员都应该知道这七个技巧来充分利用PLC和控制系统。

1.实现模块化系统。

在模块化PLC系统中,可以使用几个额外的模块,这提供了整体灵活性的优势。模块化PLC系统还提供了可扩展性,能够容纳更多的I/O设备,更容易的故障排除和更快的系统,因为模块可以很容易地更换。

PLC程序应该以一种有意义的方式组织,例如通过分离出每个设备,并使用可重用且易于理解的结构。当使用模块化结构时,程序员可以在同一类型的所有设备上进行修改,而不是针对每个单独的设备进行更改。

保持代码模块化可以让各方理解每个代码段的职责所在。例如,如果有一个堆栈灯,驱动它的代码来自堆栈灯结构,而不是来自模式块。

2.按照客户端指定的方式构造代码。

程序员分析最终用户的规范,并制定相应的代码标准。这为维护团队和支持人员提供了标准的布局和结构,使他们能够轻松地理解和支持设备的日常工作。

最终用户应指定plc的编程环境与设施中的设备类型一致,确保所有功能和特性都能正常工作。在项目的开发阶段,程序员应该重用任何标准代码块或其他已经为现有接口开发的代码。尽管程序员可能需要花一点时间来跟上这些代码块的速度,但最终用户的人员已经熟悉它,并且可以比学习新界面更容易地支持它。

3.“正确”的语言并不总是“最好”的语言。

程序员并不总是能够为应用程序使用“最好”的语言;它们必须遵循最终用户指定的内容。如上所述,客户的团队将每天在工厂处理设备,如果他们不熟悉所使用的编程语言,也不能支持它,那么当设备出现故障时,程序员将在凌晨2点接到电话。

IEC 61131语言是生产环境中通常使用的唯一语言。不同的制造商可能有一个专有的语言品牌,但它们基本上都是相同的。其中一个区别是针对特定的函数,例如搜索或排序例程。与高级语言(例如结构化控制语言(SCL))相比,带有“for”或“while”循环的搜索或排序例程在阶梯逻辑中不那么干净和易于遵循。在SCL中,代码可能只有几行,而在阶梯逻辑中执行相同的函数可能需要10到15行。

PLC程序应该以一种有意义的方式组织,例如通过分离出每个设备,并使用可重用且易于理解的结构。提供:应用制造技术

PLC程序应该以一种有意义的方式组织,例如通过分离出每个设备,并使用可重用且易于理解的结构。提供:应用制造技术

4.了解数据处理需求。

在计算单元中将进行哪些数据处理?如果系统需要一个制造执行系统(MES),但没有,这就给PLC存储、保留和管理数据带来了巨大的负荷。这些功能应该由外部PC来执行。

如果用户有配方控制系统,那么根据配方的大小,数据解析的主要方法应该是在PC上,而不是在PLC上。如果存在间歇性搜索例程或高负载例程,它们可能会增加扫描时间,并可能错过传感器。这些情况会对PLC的性能产生重大影响。

5.确保代码注释良好。

确保代码注释良好。显然,程序员在编写代码时了解代码的细节和复杂性,但是当用户在几周或几个月后被叫到现场进行故障排除时,这些代码在用户的脑海中就不再是新鲜的了。如果代码有不寻常的部分,超出了通常所看到的部分,额外的注释将帮助下一个程序员理解为什么代码看起来不像预期的那样。这可能会阻止未来的程序员做出更改来“修复”代码,这可能会导致更糟糕的情况。

6.标准化错误消息。

在对系统进行编程时,要确保所有故障信息是有针对性的,并且是同一类型设备的标准。如果传感器可能以某种方式故障,请确保该系统中所有传感器的故障配置方式相同。类似地,相机或任何类型的设备连接到PLC,将有特定的故障模式。询问最终用户他们遇到了哪些故障模式,并为这些突发事件做好计划。

7.软件环境与PLC品牌相匹配。

为确保最大程度的稳定性和避免任何意外问题,如果可能,请使用与PLC制造商推荐的相同环境。这将使代码和应用程序体验尽可能无缝。

在整个过程中始终牢记最终用户,并遵循这些简单的技巧,以获得更好的效率、稳定性和用户体验。

亚历克斯·肯尼迪他是CFE媒体和技术内容合作伙伴应用制造技术的高级控制工程师。由网页内容经理克里斯·瓦夫拉编辑,控制工程, CFE媒体与技术,cvavra@cfemedia.com


作者简介:亚历克斯·肯尼迪是应用制造技术公司的高级控制工程师。