本文图片来源:Applied Manufacturing Technologies
一个好的可编程逻辑控制器(PLC)程序员,心间应始终想着最终用户的需求,并编写可理解和可复用的代码。使用有效的方法和实践将使程序员和用户的生活更轻松。每个程序员都应该知道这7个技巧,以充分利用PLC和控制系统。
01 实施模块化系统
在模块化的PLC系统中,可以使用几个附加模块来提供整体的灵活性。因为模块易于更换,模块化的PLC系统还具有可扩展性,能够容纳更多的I/O设备,更容易排除故障,并且由于模块可以很容易地被替换,所以系统总体上更快。
PLC程序应以合理的方式组织,例如将每个设备分开,并使用可复用且易于理解的结构。当使用模块化的结构时,程序员可以对同一类型的所有设备进行修改,而不是对每个设备进行修改。
保持代码的模块化,可以让各方了解每一段代码的功能。例如,如果有一个堆栈灯,则驱动它的代码来自堆栈灯结构,而不是模式块。
02 按照客户要求来组织代码
程序员需要分析最终用户的需求,并利用标准化的代码来满足用户需求。这为维护团队和支持人员提供了标准的布局和结构,以便他们能够方便地理解和支持日常设备。
最终用户可以指定PLC的编程环境,以与设施中的设备类型保持一致,确保所有功能正常工作。在项目的开发阶段,程序员应复用为现有接口开发的任何标准代码块或其它代码。尽管程序员可能需要更长的时间来熟悉并应用这些代码块,但最终用户对这些代码已经熟悉了,比起学习一个新的界面,他们可以更容易地支持它。
03 选择最合适的语言
程序员并不总是能使用“最佳”的语言来实现应用程序;他们必须满足最终用户的要求。如上所述www.cechina.cn,客户团队需要每日处理工厂的设备,如果他们不熟悉所使用的编程语言,也就无法对其进行有效的支持,那么当设备出现故障时,程序员很可能在凌晨两点接到求助电话。
▲PLC 程序应以合理的方式组织,例如将每个设备分开,并使用可复用且易于理解的结构
IEC 61131提供了可在生产环境中通用的编程语言。不同制造商的编程语言可能是专有的,但内容大同小异。区别在于特定功能,例如搜索或排序例程。与诸如结构化控制语言(SCL)之类的高级语言相比www.cechina.cn,带有“for”或“while”循环的搜索或排序例程,在梯形逻辑中并没有那么容易操作。同样的功能,在SCL中代码可能只需要几行,但在梯形逻辑中可能需要10到15行。
04 了解数据处理需求
在控制器中需要处理哪些数据?如果系统需要一个制造执行系统(MES),但实际上并没有,这将给PLC存储、保留和管理数据带来巨大的负担。这些功能应由外部PC来承担。
如果用户有配方控制系统控制工程网版权所有,根据配方的大小,数据分析的主要工作应由PC而不是PLC承担。如果存在间歇性搜索例程或高负载例程,则需要增加扫描时间,这可能会导致错过传感器数据。这些情况会对PLC的运行方式产生重大影响。
05 确保对代码进行良好的注释
确保对代码进行良好的注释。显然,程序员在编写代码时了解代码的细节和复杂性,但数周或数月后在站点调用代码进行故障排除时,用户可能已经不熟悉代码了。如果代码中有特殊、不常见的内容,那么额外的注释可以帮助下一位程序员理解:为什么代码看起来不像预期的那样。这可以防止未来的程序员为了 “修复 ”代码而进行修改,从而可能会造成更糟糕的情况。
06 标准化故障消息
在对系统进行编程时,确保所有故障信息都是有针对性的,并且实现同类设备信息的标准化。如果传感器可能以某种方式发生故障,请确保该系统中所有传感器的故障配置方式都相同。类似地,摄像机或连接到PLC的任何类型的设备也有其特定的故障模式。询问最终用户他们遇到过哪些故障模式,并为这些可能的突发事件做好计划。
07 使软件环境与PLC品牌相匹配
为确保最大的稳定性并避免任何意外问题,如果可能的话,请尽量使用PLC制造商推荐的运行环境。这将使代码和应用体验尽可能无缝衔接。
在整个编程过程中始终为最终用户着想CONTROL ENGINEERING China版权所有,并遵循这些简单的技巧,将获得更高的效率、更好的稳定性和用户体验。(作者 | Alex Kennedy)
关键概念:
■ 当使用模块化的结构时,程序员可以对同一类型的所有设备进行修改。
■ PLC 程序员应了解数据处理需求控制工程网版权所有,并确保代码有良好的注释。
思考一下:
还有哪些 PLC 编程技巧需要掌握?