工业安全研究员经常会碰到在PLC上做一些逻辑测试和安全研究,但是非工业安全人员采购工业PLC的比较困难,公司基本上不批这笔预算。基于此,IRTeam团队将介绍如何把树莓派制作成一款功能齐全的PLC。
采用SD卡刷入树莓派的最新OS,这些可以参考https://www.raspberrypi.org/software/来安装,在此就不赘述了。
开机后进入shell,并输入
sudo apt-get install git
接下来我们安装OpenPLC,请在终端上输入以下行:
git clone https://github.com/thiagoralves/OpenPLC_v3.git
cd OpenPLC_v3
./install.sh rpi
安装过程将花费一些时间,安装了OpenPLC,只需重新启动设备,它将在启动后自动启动。
OpenPLC运行时具有内置的Web服务器,可让配置OpenPLC并上传新程序以使其运行。可以通过在计算机上打开Web浏览器并在端口8080上键入OpenPLC设备的IP地址来访问此Web服务器。例如在浏览器中键入 http:// 192.168.13.38:8080 会出现如下页面。
默认的用户名:openplc和密码:openplc,登陆后就可以选择你的硬件控制器为树莓派。
在下面,将找到树莓派GPIO接头连接器的OpenPLC I / O映射。所有树莓派的GPIO映射都是相同的。
然后在一台window os的机器上,在https://www.openplcproject.com/plcopen-editor下载OpenPLC的编程环境。
学习PLC编程之前,需要了解PLC编程语言,梯形图Ladder是PLC编程语言的首选,PLC是实现逻辑和时序主控制器,所以它的编程环境主要是类似于物理电路搭建过程。
对于梯形逻辑编程,需要引入一些关键术语:
触点–它们就像开关,但由线圈控制。如果线圈接通,则开关闭合。如果线圈断开,则开关断开。有两种类型:
常开–如上所述,已在触点上形成线圈,电路运行
常闭–相反。线圈打开,触点断开,电路不运行
线圈-这些线圈最初是围绕磁铁形成电磁场的线圈。然后这些将控制触点。如果线圈“接通”,则触点为“接通”。
计时器-这些很简单。在编程中,使用“TON”或者“TOF”打开计时器。这些计数器在经过一定时间之前将输出保持为0,计时到时后将输出保持为1。
接下来我们打开OpenPLC编辑器,创建一个新的梯形图程序,逻辑如下:
逻辑内容为,只要不按下按钮,电路就完成,线圈“灯”将亮起。如果按下了按钮。计时器完成其工作后,灯泡将保持点亮2000ms。在2000ms之后,如果仍然按下该按钮,指示灯将熄灭。
可以点击“running man”按钮,表示程序执行,然后点击左下方的眼镜的图标,用于调试这个逻辑,很类似我们写程序的debug模式。
调试模式,可以更改开关的状态。当线路,触点或线圈为绿色时,表示已通电。因此,当启动按钮时,未按下该按钮将导致绿色显示,并且计数器为0。
当按下按钮时,计时器的输入为黑色,表示没有电,计时器开始计数。
然后,在2000毫秒结束之后。计时器的输出为0,导致灯管关闭。
我们在OpenPLC编辑器的顶部指定。在此示例中,按钮为%IX0.1,LED为%QX0.0
现在我们需要设计一下树莓派的外部接线线路,我们使用的是Pi的GPIO,一些跳线连接到带有按钮和LED的面包板。
电路如下:
我们先前在程序中指定的IX0.0和QX0.0为电路提供了电源,因此我们需要添加这些内容,以确保在Pi上接地后再回到接地GPIO。
将电阻器,按钮和LED插入面包板。然后将接地线连接到Pi的引脚6,将LED插入QX0.0(引脚8),并将按钮插入IX0.1(引脚0.1)。
面包板应类似于以下内容:
接下来,我们需要将刚才程序上传到Pi的Runtime中,我们可以使用向下箭头保存梯形图程序,将程序文件保存为“ *.st“
然后我们连接Pi和计算机,然后通过Pi的IP地址:8080端口访问PLC控制器。同时把你刚才保存的*.st程序上传到PLC内。
我们需要选择“start plc”然后启动PLC时它将自动运行
如果在左侧选择“Monitoring”,则在“运行时”web页面中可以更清楚地看到开关和线圈的状态
至此,我们通过树莓派+OpenPLC完整实现了一套PLC硬件和软件环境以及对PLC的初步编程。
发表评论
您还未登录,请先登录。
登录