树莓派PLC入门(3) - 通过树莓派PLC控制继电器

发表时间:2019-10-29 15:47作者:翌控科技网址:http://www.nxtrol.com/raspberrypi_plc_03.html

本章节我们主要介绍树莓派PLC的基础外设应用案例,在实验过程中,我们将逐步学习到如何使用IEC61131-3编程工具LogicLab对树莓派PLC的外部I/O信号进行简单的控制,本章节使用的设备仅仅作为实验室演示使用,请勿在较复杂的工业环境中进行应用,系统架构如下图所示:


03_00.png



本章节我们使用到的设备有:

  1. 树莓派3(已经按照前面两个章节安装好LogicLab PLC运行时系统)

  2. RPi Relay Board(详情请参考http://www.waveshare.net/wiki/RPi_Relay_Board


设备安装

首先我们将树莓派硬件与RPi Relay Board安装在一起,如下图所示:


03_01.jpg


继电器信号确认

根据RPi Relay Board设备信号描述,我们获得如下信息:

  1. 继电器通道1-3的控制信号分别对应于树莓派外部扩展I/O37,38,40引脚

  2. 树莓派控制继电器信号为输出类型,低电平使能

注意在树莓派PLC中已经集成了访问扩展I/O引脚的驱动,不需要按照RPi Relay Board描述文档中进行操作,请按照本文如下章节步骤进行实验即可。


LogicLab树莓派继电器输出信号配置

在LogicLab中新建工程,并按照前面章节描述设定通讯参数,在树莓派资源Resource界面选择我们当前使用的树莓派3,如下图所示:


03_02_p.png

通过如下四个步骤就可以完全设定PLC变量与继电器信号的关联:


03_03_p.png


可以切换到工程视图,上述步骤4定义的PLC变量已经默认添加到工程的I_O_mappings全局变量表格中:


03_04.png


编写IEC61131-3 PLC逻辑简单控制继电器

由于继电器是使用开关信号进行控制,因此这里我们使用梯形图LD来对其进行简单控制更加直观方便。在LogicLab的工程视图rpi_io_relay下右键添加一个程序(Program),名称为:io_relay,并将其指定由Background任务执行,如下图所示:


03_05.png


这里我们并不详细介绍如何使用梯形图LD编程方法,具体关于梯形图LD的详细使用说明请参阅如下文章:

IEC61131-3 PLC编程入门(x) - 梯形图LD编程

在如下图示的代码逻辑中已经添加了3BOOL类型局部变量Control1, Control2, Control3并且将触点Contact与其关联,在3行梯形图中分别通过Relay1, Relay2, Relay3关联的线圈Coil控制这三个继电器,如下图所示:


03_06.png


由于继电器控制信号为低电平使能,因此Relay1, Relay2, Relay3的线圈类型为取反线圈,因此当Control1FALSE或者0时,由于Relay1线圈类型为取反线圈,因此Relay1输出值为TRUE,因此最终输出到树莓派外扩GPIOPIN37为高电平,当Control1TRUE或者1时,Relay1输出值为FALSE因此最终输出到树莓派外扩GPIOPIN37为低电平,继电器的硬件常开触点闭合,常闭触点断开,使得外部电路通断状态发生改变。在这里我们可以在调试模式下双击Control1, Control2或者Control3触点,在线修改其变量值为0(等同FALSE)或者1(等同TRUE)从而来验证上述思路:


03_07_p.png


通过强制值,我们可以听到继电器开关的声音以及对应的LED指示灯会进行变化,如果此时在继电器上有外接信号,那么对应的信号状态也会发生改变。


本章小结

在本章节的学习过程中,我们通过树莓派PLC的编程环境LogicLab编程工具对树莓派扩展IO信号进行了配置,从而通过编写梯形图LD程序成功对三路继电器进行简单控制,以及通过在线调试方式对继电器动作进行控制,在实际PLC现场应用将比本章节内容复杂得多,但是对于外部I/O的控制方式都是非常类似,本章节的实战练习仅仅只是非常初级入门学习,仅供参考。



关注我们
产品中心
联系我们

服务电话:021-64190729

                 13764507241


咨询邮箱:support@nxtrol.com

关注我们微信公众号
获得最新技术与资讯