PLC编程注意事项

可编程逻辑控制器(PLC)编程通常是为了解决眼前的问题,但这可能会导致长期的问题,特别是在原始程序员不在的情况下。

通过乔恩•布林 2022年10月26日
提供:布林机器自动化服务(BMAS)

PLC编程见解

  • 可编程逻辑控制器(PLC)程序员倾向于为眼前的解决方案而不是长期的解决方案编写代码,这对任何在未来开始工作的人来说都是一个问题。
  • 一些PLC编程不包括复制/粘贴重复的逻辑和使用无法识别的标签名没有标签。
  • 一些PLC编程包括寻找重用有用代码的机会,并使用描述性标记名称,以便更容易找到内容。

产量下降,客户每小时损失10万美元,他们已经请了可编程逻辑控制器(PLC)程序员来尽快解决这个问题。程序员在查看最后一分钟的航班时启动虚拟专用网络(VPN)。一个小时后,程序员开始盯着一个新的(对他们来说)程序,成千上万的阶梯逻辑,没有标签描述,不清楚的命名约定,代码被复制和粘贴了100次,所有这些都是一个庞大的例程。这可能会导致程序员想知道原来的程序员在想什么。

PLC编程的八要点和五要点

一般的PLC程序员都倾向于为自己编写代码以获得即时解决方案。人们很容易忘记在未来需要维持这种状态的可怜的树液。如果我们不注意,我们很可能成为某人对着屏幕大喊脏话的原因。下面是一些教你如何不成为程序员的简单技巧。

一般的可编程逻辑控制器(PLC)程序员倾向于为自己编写即时解决方案的代码,这可能会导致长期的头痛。提供:布林机器自动化服务

-复制和粘贴重复的逻辑。假设有两个线圈你想依次激活。打开第一个,也许是延时定时器,然后打开下一个。除了将标签名称从“CoilOne”更改为“CoilTwo”外,梯级是相同的。我们都有这样的代码,因为通常就是这样,只有几个梯级。但是当你有50个线圈时会发生什么?在你按Ctrl+V之前…

-寻找重用代码的机会。循环是你的朋友。aoi、子例程,甚至基本数组都可以加快开发时间,保持代码更干净,并使未来的维护更容易。逻辑改变?您不必粘贴50个修复,只需对子例程进行一个小更改,就完成了。什么?客户想要50线圈现在是100线圈?如果你做对了,你应该只需要改变一个标签,“Coil_Count”或其他什么,从50到100。

-使用无法识别的标签名称,没有标签
tmrdelay - Timer和delay为冗余。为什么要延迟?我们是用它来闪灯还是等一段安全的时间再放下重物?
“AB_XGI:我。Data[1] ",显然,这是一个连接设备的数据结构,但在你的主例程中引用它是放弃了自解释代码的机会。
“fireRobotMove”,哪个机器人?移动?我需要灭火器吗?这些标记名称本身并不是无用的,但是如果没有上下文,它们就没有多大意义。

—使用描述性标签名
名称应该说明标记的用途。格式也应该注意。甚至“tmrDelay”或“tmr_delay”会更好。没有人应该去猜“分离”这个词。

-在标签和梯级中添加描述
一个简单的缓冲区例程或别名可以将“AB_XGI:I。数据[1]”变成更有用的东西,如“partXPos”。“tmrdelay”可以变成“tmrDrivesReady”。更好的是在标签或横档上说明它的用途。

使用正确的拼写。曾经试图找到所有处理位置数据的标签,其中一个拼写为“poistion”?是的…

-忽视程序结构。没有人想要筛选200级名为“Main”的例程,它涵盖了从输入/输出(I/O)到处理流的所有内容。

-使用例程和用户定义的数据类型(udt)(或“结构”,取决于制造商)来保持组织。简单地将代码分解为几个名为“Camera”、“InputBuffer”和“Faults”的例程,就可以自动地使代码更具可读性。没有筛选50级不相关的逻辑-如果你需要相机逻辑搜索“相机”例程。

udt非常有用。它们允许对数据进行分组和命名,甚至是数组。例如,如果你有很多从视觉系统返回的位置数据,你可以通过创建一个带有“X”、“Y”和“Z”标签的“位置”UDT来组织它。带子标签的“point1”比“point1X”、“point1Y”和“point1Z”要好得多。更容易重命名,更容易交叉引用,更容易在数组中填充和迭代。

乐观一点:
“这个项目只需要几个月”
“客户清楚地知道他们想要什么”
"除了我,没人会看到"
或者我个人最喜欢的:
“我会记得我为什么这么做的。”

-记住墨菲定律:“任何可能出错的事情都会出错。”这一点确实突出了其他一切的必要性。积极的态度很少是坏事,但如果什么都不出错,我们可能就没有工作了。事情坏了,计划变了,意外发生了。可伸缩、可读、可维护的代码是Murphy的致命弱点。

为未知的未来做准备,我们能做的最好的事情就是留心以上几点s.通过使用数据结构、组织、一致的命名风格和描述性注释,我们编写的代码是可维护和灵活的。这使得每个人在未来都可以更容易地看待这个项目。

当客户需要添加一个新的按钮时,他们会感谢你的。你的同事会因为你的条理清晰而感激你。但根据我的经验,你帮助最多的人是你自己。因为说实话,我有50%的时间在抱怨代码,那是我自己的。

-让它起作用。

-花时间把事情做好。现在聪明地工作,以后工作就会更容易。

- - - - - -布林机器自动化服务公司是CFE媒体和技术内容合作伙伴。

原始内容可以在布林机器自动化服务(BMAS)


作者简介:Jon Breen, Breen Machine Automation Services, LLC的所有者