在家里、学校或工作中学习 PLC 编程是许多控制工程师的目标。虽然设备可能很昂贵,但有许多节省成本的技术可以帮助您更快地学习。
学习PLC编程是一项非常重要的技能。
如果您的工作涉及编程,那么您可能会通过实践经验学到您需要的东西。但在此之前,了解如何自学非常重要。
有许多教育项目可供选择 - 大部分围绕两年制社区学院提供先进制造技术贸易项目。由于学费低廉,这些对于许多人来说可能是划算的,但在许多情况下,时间表是最困难的部分。在平衡工作和家庭日程的同时参加正式课程即使不是不可能,也是很困难的。对于许多属于这种情况的人来说,在家学习是绝对必要的。
如何在家学习PLC编程
首先也是最重要的,您需要使用自己的 PLC。任何类型的计算机编程都不是一项观赏性运动,只能通过在键盘上投入大量时间和精力来学习。从很多方面来说,学习编程就像学习一门新的口语或书面语言:有新的词汇和新的语法规则需要掌握,也有很多可能会犯错误。
幸运的是,市场上有许多低成本的 PLC 可供个人购买。多年来,许多型号的 PLC 出现又消失。在过去,两种最受欢迎的 PLC 是 Koyo 制造并通过 Automation Direct 销售的“CLICK”PLC 型号,以及 Allen-Bradley MicroLogix 系列 PLC(尤其是 1000 和 1100 型号)。然而,后一种型号已经停产,并且更难获得。
要设计有效的学习系统,请了解可用的预算越多,您就越接近构建现实的控制系统。这对任何工程师来说都不足为奇。
学习 PLC 编程 - 无需 PLC!
与所有其他基于微处理器的平台相比,编程环境和 I/O 连接是 PLC 独特的两个主要领域。如果这两个障碍能够得到解决,那么世界各地的家庭和小教室就不缺少低成本的PLC培训器了。事实证明,有一些优秀的 PLC“模拟器”安装在这些低成本微控制器平台上的案例。
OpenPLC 就是基于标签的梯形逻辑编程环境的一个例子,它可以安装在个人计算机上。程序的编写方式就像在 PLC 中一样,但随后会下载到微控制器中。兼容的平台有很多,但其中包括流行的 Arduino和 Raspberry Pi,两者都可以以非常合理的成本购买。
有许多教程可用于使用 OpenPLC 开始使用 Arduino 平台,这使其成为投资使用行业标准 PLC 硬件和软件的更“官方”培训设置之前的绝佳起点。两个此类教程包括 Control.com 自己的“使用适用于 Arduino 的 OpenPLC 开始使用梯形逻辑”和“使用 Arduino 构建启动/停止梯形逻辑程序”。
高成本 PLC
用于小型应用的 PLC 版本被认为是 MicroLogix 的升级版,是带有内置 I/O 点的 CompactLogix。Rockwell L16 处理器有 16 个数字输入和输出,L24 包含一组附加的内置模拟 I/O 点。这些 PLC 非常适合学习现代 PLC 编程,但硬件和软件许可证都非常昂贵。即使使用过的型号也可能花费超过 2,000 美元,而每年的许可证费用可能高达 1,000 美元。如果一家公司打算建立一个内部测试和培训室,这种模型可能是一个很好的考虑因素,但对于大多数用户来说,它可能超出了预算。
中等成本 PLC
适合学习的中级 PLC 可以有多种来源。Rockwell 的 MicroLogix 替代品是 Micro800 系列 PLC,它使用 Connected Components Workbench (CCW) 进行编程。与旧款 MicroLogix 1000 相比,该系列的一个主要优点是 Micro800 能够与外部设备联网,只要选择带有以太网的型号即可。该软件是罗克韦尔公司免费提供的,并且硬件比更先进的 PLC 系列成本更低。可能仍要花费数百美元。西门子还在一系列入门套件中提供经济高效的 S7-1200 PLC,其中不仅包括 PLC,还包括 HMI 和软件许可证。这些可以以相当合理的成本获得,但仍然可能花费数百美元。这两种选择的好处来自于在行业标准平台上学习编程,这可能会带来更有利可图的工作机会。
Automation Direct Productivity 系列模块化 PLC 属于此价格范围,并且还提供免费软件。尽管在主流行业中并不常见,但它们灵活、适应性强且可靠,而且编程非常容易学习。下图显示了使用 Productivity 1000 PLC 的自制训练器的示例,以及铝制 A 形框架设计上的各种传感器、接线点和故障排除工具。
低成本 PLC
对于那些预算紧张的人(可能包括我们大多数人)来说,仍然有一些选择。Automation Direct 提供多种选择,包括带有内置 I/O 的 CLICK 系列。这些 PLC 的成本不到 100 美元(尽管由于需求经常缺货)并且包含免费软件。一个有趣的替代 PLC 包括一个位于塑料 DIN 导轨安装外壳内的 Arduino Uno,尽管它仅与为 Arduino 微控制器设计的语言兼容。有一些可用的 PLC 梯形图选项,但如果您的目的是学习梯形图逻辑编程,并且计划使用微处理器,则必须准备好寻找合适的软件。
这些 PLC 中的大多数对于几乎所有学习者来说都是绝佳的选择,但请注意安装说明。这些 PLC 可能需要 AT MINIMUM、直流电源、电源线以及 PC 编程电缆。您还应该高度考虑具有足以满足 PLC 额定值的断路器或保险丝,以及用于打开/关闭 PLC 的断路器。这些通常都安装在一小段 DIN 导轨上,以保持整洁。
不要只是订购 PLC 并假设它会附带运行系统所需的一切。
PLC学习入门
拿到 PLC 后,您应该阅读的第一份文档是“入门指南”。每个 PLC 制造商都会发布具有此名称的文档(或类似的名称,例如“快速入门”或“获取结果”)。本手册将引导您完成将简单程序输入 PLC 并使其运行的所有基本过程。通常,通过复制和改编一个工作示例来学习编程比自己从“空白页”开始要容易得多,就像通过练习该语言中的句子来学习口语或书面语言一样在从头开始构建自己的句子之前,请先听听其他人的意见,尽管这是最终的最终目标。
为了使用您的 PLC,您需要一种方便的方法来模拟来自离散(开关)设备的不同输入条件。任何一套手动开关都可以,我的推荐是家用电灯开关(非常便宜且坚固耐用)。将这些开关阵列与 PLC 和互连端子块一起连接到木板上,形成了通常所说的 PLC 训练器。下图显示了这样一个培训器,使用 Allen-Bradley MicroLogix 1000 PLC:
输入设备很容易获得,因为它们可以是从 24 伏电源到输入端子的任何简单开关或金属触点。上图中的电灯开关就是很好的例子,但是在旧货店的任何电子产品通道中快速搜索都会发现各种各样的电动工具和损坏的电器。它们中的每一个都包含开关,只需一点点苦劳即可重新调整用途。在紧要关头,我只是简单地将回形针粘在桌子上,稍微弯曲末端,然后依靠金属的弹簧常数来制作我自己的开关。
输出更简单。PLC 包含用于所有输入和输出端子的内置 LED。尽管您必须安装输入设备来提供输入,但您甚至根本不需要输出。安装输出继电器或指示灯可能会更令人兴奋和真实,但只需监视 PLC 上的 LED 即可确定您的逻辑是否正常工作。
在学习 PLC 时,构建自己的 PLC 培训器的教育价值怎么强调都不为过。对于在职技术人员来说,学习如何构建功能正常的 I/O 电路与学习如何开发 PLC 程序同样重要。此外,在一般布线布局和制造中获得的经验对于任何仪器从业人员来说都是宝贵的技能。
另一个更优雅的 PLC 培训器示例是以下单元,安装在公文包内。该培训器不仅包含 Allen-Bradley MicroLogix 1100 PLC 以及输入开关和输出指示灯,而且还包括位于折叠式支架上的 HMI 触摸屏面板:
学习PLC软件命令
一旦您了解了输入、运行和保存 PLC 程序的基本步骤,您就可以开始积累该语言的词汇和语法知识了。在所有类型的计算机编程中,人们必须熟悉该语言的许多不同的内置函数才能完成有用的任务。学习如何使用这些函数的一个好方法是创建您自己的“演示”程序来说明每个函数的用法。
例如,如果您打开几乎所有计算机编程书籍的页面,在开头附近的某个位置,您会发现一个名为“Hello World!”的演示程序。“Hello World!”的目的 程序的目的无非是显示“Hello World!”字样。在电脑屏幕上。它是一个完全无用的程序,但它对于教授程序员程序构造和文本消息功能的基础知识非常有用。
出于同样的原因,您可以通过编写简单的“Hello World”类型的程序来说明每个编程函数的基础知识。这些演示程序可能没有任何有用的目的(除了帮助您学习),因此应尽可能保持简单,以尽量减少混乱。
例如,每个 PLC 都提供执行以下任务的指令:
-
读取并监控离散事件
-
打开和关闭离散输出
-
计算离散事件
-
时间事件
-
按特定顺序控制事件
-
比较数值(大于、小于、等于、不等于)
-
执行算术函数
正如每种口头或书面语言都有动词、名词、形容词和副词来描述动作和事物一样,每种 PLC 编程语言都有特定的功能来执行有用的任务。根据 PLC 制造商和型号的不同,如何执行每个功能的细节会有所不同,但总体功能非常相似。为您的 PLC 提供的参考手册将详细描述如何使用每个功能。您的任务是为每个函数编写简单的演示程序,使您能够直接探索每个函数的工作原理,并通过观察其行为以及犯(不可避免的)错误来了解每个函数。
下图显示了使用 Rockwell Micro830 PLC 内置于小型塑料外壳中的培训器,以及简单的直流电源和端子块配电板。这种学习设计的简单性使您可以学习最先进的编程功能,而无需在接线和构建阶段花费不必要的时间。一个常见的错误是假设培训师必须足够复杂才能复制任何设施经验才能学习,而这个例子证明事实并非如此。
记录您的成功(和失败)
编写完每个演示程序后,您应该在命令、梯形图梯级和标签中添加大量注释,以便您稍后返回演示程序进行参考时能够理解您所做的事情。这些意见应涵盖以下几点:
-
正确使用该功能
-
函数功能的口头描述
-
该函数的可能(实际)用途列表
-
函数的特质(即奇怪或意外的行为,需要注意的棘手问题)
-
您在使用该函数时可能犯过的错误(因此可能会再次犯!)
例如,对于学习 C 语言的新程序员来说,这也是类似的建议。她或他可能会编写一组演示常见编程功能和技术的“教程”程序。以下是这些教程程序的部分示例列表以及它们可能包括的内容:
-
接受然后打印字母数字字符(包括其等效数值)的程序
-
演示如何使用 main() 函数的命令行参数的程序
-
程序演示用于在屏幕上的任意位置键入字符的基本“光标”命令
-
说明数据结构(整数、布尔值等)的声明和使用的程序
-
说明如何原型设计然后调用函数(子例程)的程序
-
执行无限循环和条件循环的程序
-
说明如何从函数返回指针或变量的程序
这些教程程序中的每一个都带有大量注释,用您自己的话解释它们是如何工作的以及它们在做什么。它们不仅有助于学习如何编写程序,而且还可以在您将来需要刷新知识时作为方便的参考。编写教程程序的行为类似于写日记,作为解决生活中复杂问题的一种方式——在某种程度上,这就像与自己对话。
训练台设置不正确(或错误)
与编程本身一样,构建培训器或自学 PLC 编程的方法没有正确或错误之分。即使您的台式设置是由剩余零件构建而成并包含过时的设备,它也远远优于因担心构建错误而从未构建的系统。
在未来的工作中,您仍然需要学习该公司的正确操作程序和政策,但是您通过动手编程和接线技能带来的价值将立即使您在任何竞争中处于领先地位。
事实上,像许多控制工程师一样,您可能会逐渐将其视为一种新的瘾,并在使用回收的控制设备构建自己的创造性解决方案来解决常规问题时找到很多乐趣,不仅教自己,还教朋友、家人和朋友。甚至未来几代工程师都可以用自己的头脑和双手思考和创造。这种影响是没有价格标签的。