当前位置:首页 > 文章中心 > 正文内容

分享一个Arduino上的PLC梯形逻辑:使用OpenPLC控制

dgx6662周前 (05-26)文章中心11

使用 Arduino Uno 和开源工业控制软件 OpenPLC 构建低成本 PLC,了解如何使用梯形逻辑进行编程,从您的第一个 OpenPLC 项目 Hello World 开始。

OpenPLC 是一个开源工业控制平台,允许将流行的微控制器转换为可编程逻辑控制器 (PLC)。OpenPLC 是基于国际电工委员会 (IEC) 函数式编程语言标准 61131-3 的全功能开源 PLC。

有五种与 IEC 61131-3 标准相关的函数式编程语言;它们是梯形图 (LD)、结构化文本 (ST)、指令列表 (IL)、序列功能图 (SFC) 和功能框图 (FBD)。PLC 最常用的编程语言是 LD。IEC 61131-3 标准考虑了开发有效、低成本的自动化控制系统的软件和硬件要求。


OpenPLC 的版本

OpenPLC平台的技术开发路径由开源编程语言工具链的两个基本版本组成,即1.0版和1.2b版。版本 1.0 提供了用于测试 LD 程序的模拟器。软件版本可以在目标 Microchip ATMEGA328 8 位微控制器上运行 ST 代码。版本 1.0 提供了运行时功能,允许安装 C 代码并显示运行在 ATMEGA328 微控制器上的基于 Microchip 的 PLC 输入/输出设备。图 1 显示了执行 Hello World LD 程序的典型运行时仪表板。



版本 1.2b 提供了一个用于测试 LD 程序的模拟器,但可以对其他 Arduino 平台和流行的微控制器(如 ESP32 和 ESP8266 可编程设备)进行编程。图 2 说明了 Hello World 模拟器 LD 程序环境。



将 OpenPLC 与 Arduino Uno 一起使用

了解 OpenPLC 开源平台后,您现在可以构建 Arduino Uno 或兼容的 PLC。构建开源 PLC 的第一步是从此处的网站下载开发工具。



为您的 PLC 开发机器的操作系统选择软件。从网站下载OpenPLC软件后,双击以运行安装程序。

恭喜您安装了 OpenPLC!

您已准备好构建您的第一个 OpenPLC 项目 Hello World。


第一个OpenPLC项目:Hello World

该项目使用Arduino Uno或兼容板,以及无焊试验板上的一些分立电子元件。Hello World PLC 项目在按下触觉按钮开关时会点亮 LED。您将使用图 4 所示的电子电路原理图连接兼容 Uno 的 PLC。



作为补充参考,这里是作者的无焊面包板PLC,如图5所示。



轻触按钮开关 PB1 和 PB2 作为数字逻辑开关接线。当按下 PB1 或 PB2 时,引脚 3 和 2 分别施加大约 +5 VDC。为了说明测试有线数字开关的方法,图6给出了图6。您会注意到,在 Tinkercad 电路模型中,数字电压表连接在电阻 R1 上。USB 电缆将 Arduino PLC 连接到编程计算机。Arduino Uno 印刷电路板 (PCB) 上将出现一个开机 LED;该指示灯表示微控制器和印刷电路板 (PCB) 上的配套电子电路已通电。



将数字电压表放在图 5 所示实际 PLC 原型的 R1 上,然后按下 PB1 轻触开关。电气测量仪器的 LCD 上应显示 +5 V 的近似读数。如果电压读数不是大约 +5 V,请检查接线并重复测量。在 PB2 轻触开关上执行相同的测试测量。按 PB2 在数字电压表上读取大约 +5 V。

恭喜,您的 Arduino PLC 有两个功能性数字逻辑开关。

下一步是在无焊试验板上接线并测试输出 LED 指示灯。图 7 显示了无焊试验板上有线和有源输出 LED 指示灯的 Tinkercad 电路模型。在实际无焊试验板原型上测试输出 LED 指示灯时,请使用此电路模型作为参考。


如果您的输出 LED 指示灯亮起,则工作做得好!您的输出 LED 指示灯工作正常。

从 PLC 开发机器的 USB 端口上拔下 USB 电缆。用长跳线更换连接到 560 Ω电阻的红线。您将取连接到 560 Ω电阻器的跳线末端,并将其插入安装在 Arduino Uno 上的母头连接器的数字引脚 7 (D7) 中。

您已经连接并测试了原型 Arduino Uno PLC 的数字逻辑开关和输出 LED 指示灯。

PLC 项目的最后阶段是构建 OpenPLC Hello World LD 程序并将其上传到 Arduino Uno PLC。在继续 OpenPLC 项目的最后一步之前,请将 USB 电缆插入 PLC 开发机器的 USB 端口。


构建基本梯形图程序

接下来,右键单击计算机创建一个项目文件夹(推荐在“我的文档”或其他简单位置),其中 OpenPLC 生成的文件与 LD 程序一起存储。您可以将项目文件夹命名为“HelloWorld”。

创建项目文件夹后,打开 OpenPLC 软件并选择 HelloWorld 项目文件夹,屏幕上会出现 OpenPLC 编辑器。


通过选择“文件”>“新建”创建 HelloWorld LD 程序。

屏幕上将出现一个小对话框。在标记为 POU Name 的文本框中填写 HelloWorld,如图 9 所示。对于“语言”下拉列表,选择“LD(用于梯形图)”。单击“确定”按钮以完成创建新的 LD 程序。



完成项目框后,即可创建 I/O 标记。对于 Hello World LD,有两个标记:HelloWorld_PB 和 HelloWorld_LED。单击加号以创建两个 I/O 标记。您的 I/O 标记列表应如图 10 所示。



您会注意到 I/O 标记列表中列的“类型”和“位置”。单击HelloWorld_PB的“类型”(数据类型)单元格,然后选择 BOOL。对HelloWorld_LED重复选择过程。通过触觉按钮开关提供数字信息(ON/OFF),输出 LED 指示灯被命令打开和关闭,数据类型为布尔值,因此选择 BOOL。location 列是 Arduino Uno 的指定 I/O 引脚的 PLC 地址。键入地址,如图 10 所示。

完成 I/O 标记列表后,您现在可以创建 LD 程序。您将用于 Hello World 项目的两个主要 PLC 位指令是检查是否关闭 (XIC) 和输出通电 (OTE) 这些位指令的位置在编程工具栏中。



选择XIC和OTE位指令,并将它们分别放在OpenPLC编辑器的LD程序构建部分的左侧和右侧。您创建的标记将通过选择正确的位指令进行关联。图 12 显示了与正确位指令关联的标签。



选择电源轨并配置引脚数以连接 XIC 和 OTE 位指令并构建逻辑的单级。引脚是 LD 程序的横档。图 13 说明了电源轨的选择和配置过程。



构建 LD 程序的最后一步是将 XIC 和 OTE 位指令连接在一起。选择 HelloWorld_PB XIC 位的右端并拖动它以创建一条线。继续拖动该线以连接到HelloWorld_LED OTE 位的左侧。该行创建一个梯级来管理 XIC 和 OTE 位指令控制逻辑操作。完成的 LD 程序如图 14 所示。



超级工作构建 Hello World LD 程序!

要在 LD 程序上运行模拟,请单击 Config0.Res.instance0 下拉框旁边的太阳镜。您应该看到连接到 HelloWorld_PB XIC 位指令的左梯级变为绿色,表示 LD 程序已准备好进行仿真,如图 16 所示。在任务栏上选择正在运行的人来运行 LD 程序。“PLC 已启动”文本将显示在编辑器的 PLC 日志部分。




要与模拟进行交互,请右键单击以从显示的选择列表中选择“强制 True”。Hello World_LED OTE 位应变为绿色。再次单击鼠标右键以切换强制 false。您会注意到 Hello World_LED OTE 关闭或显示为黑色。

恭喜,您已经为 Hello World LD 程序运行了模拟事件。该项目的最后一步是将LD程序上传到实际的Arduino PLC。


在Arduino Uno PLC上上传和测试Hello World梯形图程序

单击停止标志以关闭模拟事件。通过单击位于编辑器左侧的 HelloWorld LD 程序名称旁边的小框来重置 LD 程序。

要上传,请单击任务栏中的 Arduino Uno 图标以选择正确的 USB 通信 (COM) 端口和适当的微控制器开发平台。图 17 显示了所选 COM 端口和 Arduino 板的配置面板。



您可能需要使用 PLC 开发机器的设备管理器识别正确的 COM 端口。选择 Arduino Uno 板和 COM 端口后,单击 Upload 按钮。在运行时工具将 ST 程序转换为 C 代码,然后转换为二进制文件并将其上传到 Arduino 后,编译输出窗口中将显示一条“完成”消息,如图 17 底部所示。按下无焊面包板原型上的 PB1 轻触开关,LED 应亮起。松开触觉按钮开关将关闭 LED。

您现在已经使用Arduino和OpenPLC软件构建了一个低成本的PLC!


欢迎加入小编工控技术群聊,共同学习PLC+物联网!VV:PLC230


扫描二维码推送至手机访问。

版权声明:本文由第六芝士网发布,如需转载请注明出处。

本文链接:http://www.dgx666.com/post/1918.html

标签: arduino下载
分享给朋友:

“分享一个Arduino上的PLC梯形逻辑:使用OpenPLC控制” 的相关文章

公文字体探究:必须用仿宋_GB2312?

答:只规定了正文用仿宋,至于是仿宋、仿宋_GB2312、华文仿宋、方正仿宋还是仿宋GBK,则并没有强制规定,用哪一种都可以,只有习惯性运用。一、先简单说说公文字体的基本规定:标题为小标宋2号,与正文间空一行。正文为3号字,除了一级标题为黑体、二级标题为楷体以外,其他均为仿宋。页码居底部外端两侧,左右...

2014版本的cad中一些常用设置

一、cad十字光标大小的设置1、在菜单栏中选择工具——选项(或者快捷命令op+空格)。2、选择“显示”,调节十字光标大小的数字,选择的数字大小可以根据自己的喜好来。3、点击颜色。4、弹出形象窗口颜色,选择统一背景,在颜色中选择自己想要的颜色,并点击应用并关闭(其他的颜色也一样)5、选择“绘图”,调节...

AutoCAD各版本对应的R版本参数值及图形的不同版本代号

有时候我们进行CAD平台的二次开发时需要知道AutoCAD2002或AutoCAD2014等版本对应的是R多少的问题,或者卸载软件需要注册表删除的时候,经常需要知道AutoCAD各版本对应的R版本参数值。现将整理如下。AutoCAD 2002 (R15.0)AutoCAD 2004 (R16.0)...

安装CAD时,出现1308错误,怎么解决?看完本文你就知道

CAD出现1308错误怎么办?AutoCAD 一种计算机的辅助设计软件,但是打开CAD软件的时候提示错误1308,源文件未找到,因此无法继续安装AutoCAD软件,那么遇到安装AutoCAD出现1308错误问题时该如何解决呢?往下看!1、桌面空白处点击右键,弹出如下对话框,点击新建选项2、点击新建选...

cad2007修改工具镜像工具使用方法讲解 #学习

大家好,接下来给大家分享一下cad二零零七的镜像工具,也就是对称的工具的用法。·它的工具在修改工具条上的第三个,这个叫镜像。在有一些软件可能会翻译成对称,但是cad会叫做镜像,这个在很多软件都会有。·它的用法是什么?可以直接用鼠标点它,点这个工具以后就会提示选择对象。比如这里这几根线条是要镜像的对象...

安装累积更新后 使用DirectX/Direct3D的Windows应用发生崩溃

微软证实,在安装11月的KB5019980更新后,Windows上有一个新问题导致应用程序崩溃。据该公司称,它影响到过时的英特尔GPU驱动程序,导致使用DirectX或Direct3D的应用程序出现问题。"安装KB5019980后,在使用26.20.100.7463至30.0.101.1190版本的...