线下实训
HOME
线下实训
正文内容
plc编程外接设备 自动化工程师:纯干货讲解,西门子S7-1200PLC与外接设备实例
发布时间 : 2025-04-17
作者 : 小编
访问数量 : 23
扫码分享至微信

自动化工程师:纯干货讲解,西门子S7-1200PLC与外接设备实例

此次主要讲解如何通过自由口协议实现S7-1200 与第三方设备的通信,当中会涉及到控制系统原理、软硬件需求、组态等知识要点。

西门子S7-1200紧凑型PLC在当的市场中有着广泛的应用,由于其性价比高,所以常被用作小型自动化拉制设备的控制器,这也使得它经常与第三方的设备进行通讯,这里就以超级终端为例介绍自由口通讯。

1、控制系统原理

2、硬件需求

S7-1200PLC目前有3种型的CPU:

1) S7-1211C CPU

2) S7-1212C CPU

3) S7-1214C CPU

这三种类型的CPU都可以连接三个串口通信模版

本例中使用的PLC硬件为:

PM207电源、S7-1214C、CM1241 RS232

3、软件需求

编程软件step7 Basic V10.5

4、组态

我们通过下述的实际操作来介绍如何在Sep7 Basic V10.5中组态S7-1214C和超级网络终端,通信点击桌面上的“ Totally Integrated Automation Portal V10图标,打开如下图:

首先需要选择“ Create new project”选项,然后在“ Project name”里输入PTP;在“Path:”修改项目的存储路径为“C:\”,点击“ Create”,这样就创建了一个文件PTP的新项目。创建后的窗口如下图所示:

点击门户视图左下角的“ Project View”切换到项目视图下,如下图:

打开后,在“ Devices”标签下,点击“ Add new device,在弹出的某单中输人设量名“PLC-1”并在设备列表里选择CPU的类型,选择后如下图:

插入CPU后,点击CPU左边的空槽,在右边的“ Catalog”里找到“ Communication

下的RS232模块,拖拽或双击此模块,这样就把串口模块插入到硬件配置里,接下来就需配此RS232模块硬件接口参数,选择RS232模块,在其下方会出现该模块的硬件属性配置窗口,在属性面口里有两个选项,一个是“general”;一个是“RS232 interface“。

在“ Genera”里括了此模块的“项目信息”和“订货信息”;而在“Rs232 interface“里包括了此模块“项目信息”、“端口的距置”、“发送信息的配置”、“接收信息的配置”和“硬件识别号”,在这里我们选择“RS232”,在“端口”配置的选项里,进行端口的参数配置,

波特率为:9600

校验方式:无

数据位为:8

停止位:1

硬件流控制:

等待时间:1ms

设置参数如下图:

此时确认一下“硬件识别号”为11

此时,完成了硬件的组态,接下来需要编写串口通讯程序,在这里我们实现两个功能:

一、S7-1200发送数据给超级终端

二、超级终端发送数据给S7-1200

对于第一个功能:S7-1200发送数据始超级终端,实际上是S7-1200是数据的发送方,超缓终端是数据的接收方,对于S7-1200需要编写发送程序,而对于超级终端来说,只要打开超级终端程序,配置硬件接口参数与前面S7-1200的端口参数一致即可。

下面的步骤将具体介绍此功能实现的步骤:

①、在PLC中编写发送程序,在项目管理视图下双击“Device”下的程序块下的Main(OB1),打开OB1,在主程序中调用 SEND- PTP功能块加下图所示:(注:SEND -PTP在指令库下的扩展指令中通讯指令下)

要对 SEND -PTP赋值参数,首先需要创建 SEND- PTP的背景数据块和发送缓冲数据块,双击“ Devices”-->“PLC_1”-->“ Program Block”--“ Add new block”,在弹出的串口命名 DB- Send -PTP,选择DB块,在Tyoe后选择“ SEND -PTP(SFB113)”

插入背景DB后,再插入发送缓冲DB块,重复上面的步骤,只是在选择DB类型为“ Global DB”,并去掉“ Symbolic access only选项勾(这样可以对该DB块进行直接地址访问),并取名该DB块为 DB- SEND -BUFF。建好这两个DB块后,双击打开DB- SEND- BUFF预先定义好要发送的数据,如下图所示:

定义完发送缓冲区后,接下来就可以对 SEND- PTP赋值参数,赋值参数后如下图:

在上面的编程块里需要注意的是,在指定发送缓冲区时。字符的开始地址是从第二个字节,而不是零字节开始,即是P#DB2.DBX2.0 Byte10而不是P#DB2DBX0.0 Byte10,原因是由于S7-1200对字符串的存放的格式造成的,S7-1200对字符串的前两个字节的定义第一字节是最大的字符长度,第二个字节是实际的字符长度。接下来才是存放实际字符。如下图

上面就完成了程序的编写,对项目进行编译;右击PLC-1项目在弹出的菜单里选择“ Complies ALL”选项,这样就对硬件与软件进行编译,如下图:

编译且没有错误后就可以下载程序到PLC中,同样右击PLC-1项目,在弹出的菜单选择“ Download to Device”

②、用串口交叉线连接S7-1200的串口与计算机的串口,打开计算机的超级终端程序,并设置硬件端口参数如下图:

③、打开OB1功能块在线监控程序,在变量监控表里强制M0.0为1,触发数据的发送,此时在超级终端就会接收到发送的数据,如下图

对于第二个功能:超级终端发送数据给S7-1200,实际上是S7-1200是数据的接收方,超级终端是数据的发送方,对于S71200需编写接收程序;而对于超级终揣来说,只要打开超级终端程序,配置硬件接口参数与削面S7-1200的端口参数一致,在界面上输入发送内容即可。

下面的步骤将具体介绍此功能实现的步骤:

①、在PLC中编写发送程序在项目置理视国下双击“Device”下的程序块下的Main(OB1),打开OB1,在主程序中调用 RCV - PTP功能块加下图所示:(注: RCV -PTP在指令库下的扩展指令中通讯指令下)

要对 RCV -PTP赋值参数,首先需要创建 RGV - PTP的背景数据模块和发送缓冲数据块,双击“ Devices”-->“ PLC1”-->“ Program Block”“ Add new bloc”,在弹出的率口命名 DB -RCV -PTP,选DB块,在Type后选择“ RCV - PTP(SFB114)”

插入背景DB后,再插入接收冲DB块,重复上面的步骤,只是在选DB类型为“ Global DB”,并去掉“ Symbolic access only选项勾(这样可以对该DB块进行直接地址访问),并取名该DB块为 DB- RCV - BUFF。建好这两个DB块后,双击打开DB -RCV -BUFF定义接收缓冲区数据的类型,如下图所示:

定义完接收缓冲区后,接下来就可以对 RCV -PTP值参数,赋值参数后如下图:

在上面的编程块里需要注意的是,在指定接收缓冲区时。字符的开始地址是从第二个字节,而不是零字节开始,即是PDB2DBX20Bye10而不是PDB2DBX00Bye10,原因是由于S7-1200对字符串的存放的格式造成的,S7-1200对字符串的前两个字节的定义第一字节是最大的字符长度,第二个字节是实际的字符长度。接下来才是存放实际字符。如下图

上面就完成了程序的编写,对项目进行编译;右击PLC-1项目在弹出的菜单里选择

“ Complies ALL”选项,这样就对硬件与软件进行编译,如下图:

编译且没有错误后就可以下载程序到PLC中,同样右击PLC-1项目,在弹出的菜单选择“ Download to Device”

②、用串口交又线连接S7-1200的串口与计算机的串口,打开计算机的超级终端程序,

并设置硬件端口参数如下图:

在桌面上新建文本文件,打开此文本文件在里面输入“gfdcba”,如下图:

③、打开变量监控表,强制M0.0,使能接收。然后,在超级终端里,选择菜单“ Transfer”下的“ Send Text file,在打开的窗口里找到桌面上的文本文件。

打开 DB -RCV -BUFF数据块,在线查看接收到的数据,如下图

通过上面的例子实现了简单的应用,在实际的应用过程中,需要按第三方设备的协议进行编写S7-1200的程序。

以上,欢迎动动手分享及收藏!

PLC与7种设备的不同连接方式,你知道吗?

PLC常见的输入设备有按钮、行程开关、接近开关、转换开关、拨码器、各种传感器等,输出设备有继电器、接触器、电磁阀等。正确地连接输入和输出电路,是保证PLC安全可靠工作的前提。

1、PLC与主令电器类设备的连接

图1是与按钮、行程开关、转换开关等主令电器类输入设备的接线示意图。图中的PLC为直流汇点式输入,即所有输入点共用一个公共端COM,同时COM端内带有DC24V电源。若是分组式输入,也可参照图下图的方法进行分组连接。

▲图1 PLC与主令电器类输入设备的连接

2、 PLC与旋转编码器的连接

旋转编码器是一种光电式旋转测量装置,它将被测的角位移直接转换成数字信号(高速脉冲信号)。因此可将旋转编码器的输出脉冲信号直接输入给PLC,利用PLC的高速计数器对其脉冲信号进行计数,以获得测量结果。不同型号的旋转编码器,其输出脉冲的相数也不同,有的旋转编码器输出A、B、Z三相脉冲,有的只有A、B相两相,最简单的只有A相。

▲图2 旋转编码器与PLC的连接

如图2所示是输出两相脉冲的旋转编码器与FX系列PLC的连接示意图。编码器有4条引线,其中2条是脉冲输出线,1条是COM端线,1条是电源线。编码器的电源可以是外接电源,也可直接使用PLC的DC24V电源。电源“-”端要与编码器的COM端连接,“+ ”与编码器的电源端连接。编码器的COM端与PLC输入COM端连接,A、B两相脉冲输出线直接与PLC的输入端连接,连接时要注意PLC输入的响应时间。有的旋转编码器还有一条屏蔽线,使用时要将屏蔽线接地。

3、 PLC与传感器的连接

传感器的种类很多,其输出方式也各不相同。当采用接近开关、光电开关等两线式传感器时,由于传感器的漏电流较大,可能出现错误的输入信号而导致PLC的误动作,此时可在PLC输入端并联旁路电阻R,如图3所示。当漏电流不足lmA时可以不考虑其影响。

▲图3 PLC与两线式传感器的连接

式中:I为传感器的漏电流(mA),UOFF为PLC输入电压低电平的上限值(V),RC为PLC的输入阻抗(KΩ),RC的值根据输入点不同有差异。

4、PLC与多位拨码开关的连接

如果PLC控制系统中的某些数据需要经常修改,可使用多位拨码开关与PLC连接,在PLC外部进行数据设定。如图4所示,为一位拨码开关的示意图,一位拨码开关能输入一位十进制数的0~9,或一位十六进制数的0~F。

▲图4 一位拨码开关的示意图

如图5所示,4位拨码开关组装在一起,把各位拨码开关的COM端连在一起,接在PLC输入侧的COM端子上。每位拨码开关的4条数据线按一定顺序接在PLC的4个输入点上。由图可见,使用拨码开关要占用许多PLC 输入点,所以不是十分必要的场合,一般不要采用这种方法。

▲图5 4位拨码开关与PLC的连接

5、PLC与输出设备开关的连接

PLC与输出设备连接时,不同组(不同公共端)的输出点,其对应输出设备(负载)的电压类型、等级可以不同,但同组(相同公共端)的输出点,其电压类型和等级应该相同。要根据输出设备电压的类型和等级来决定是否分组连接。如图6所示以FX2N为例说明PLC与输出设备的连接方法。图中接法是输出设备具有相同电源的情况,所以各组的公共端连在一起,否则要分组连接。图中只画出Y0-Y7输出点与输出设备的连接,其它输出点的连接方法相似。

▲图6 PLC与输出设备的连接

6、 PLC与感性负载的连接

PLC的输出端经常连接的是感性输出设备(感性负载),为了抑制感性电路断开时产生的电压使PLC内部输出元件造成损坏。因此当PLC与感性输出设备连接时,如果是直流感性负载,应在其两端并联续流二极管;如果是交流感性负载,应在其两端并联阻容吸收电路。如图6-10所示。

▲图7 PLC与感性输出设备的连接

图中,续流二极管可选用额定电流为1A、额定电压大于电源电压的3倍;电阻值可取50~120Ω,电容值可取0.1~0.47μF,电容的额定电压应大于电源的峰值电压。接线时要注意续流二极管的极性。

7、PLC与七段LED显示器的连接

PLC可直接用开关量输出与七段LED显示器的连接,但如果PLC控制的是多位LED七段显示器,所需的输出点是很多的。

▲图8 PLC与两位七段LED灯显示器的连接

如图8所示,电路中,采用具有锁存、译码、驱动功能的芯片CD4513驱动共阴极LED七段显示器,两只CD4513的数据输入端A~D共用PLC的4个输出端,其中A为最低位,D为最高位。LE是锁存使能输入端,在LE信号的上升沿将数据输入端输入的BCD数锁存在片内的寄存器中,并将该数译码后显示出来。如果输入的不是十进制数,显示器熄灭。LE为高电平时,显示的数不受数据输入信号的影响。显然,N个显示器占用的输出点数为P=4+N。

如果PLC使用继电器输出模块,应在与CD4513相连的PLC各输出端接一下拉电阻,以避免在输出继电器的触点断开时CD4513的输入端悬空。PLC输出继电器的状态变化时,其触点可能抖动,因此应先送数据输出信号,待该信号稳定后,再用LE信号的上升沿将数据锁存进CD4513。

(此处已添加圈子卡片,请到今日头条客户端查看)

相关问答

plc与外部设备连接过程及注意事项?

PLC系统的接线主要包括电源接线、接地、I/O接线及对扩展单元接线等。(1)电源接线。FX系列PLC使用直流24V、交流100V~120V或200V~240V的...

plc接触器要外接吗?

PLC接触器需要外接,因为接触器可以将PLC的输出信号转换为高电流负载的控制信号,从而实现对各种设备的控制。同时,接触器也可以保护PLC输出模块,防止过电流和...

plc自带24v可以外接24v电源线吗?

可以外接24v电源线。因为PLC自带的24v电源有可能无法满足外部设备的需求,外接24v电源线可以保证设备的正常运行。值得一提的是,外接电源线需要注意电压是否匹...

三plc输入输出接什么?

接plc需要控制的外接设备的控制点。接plc需要控制的外接设备的控制点。

pLC24伏能不能外电源一起连接?

不能,plc机是24v是备用的24v电源,一般用于当输入量较少时供电使用,电流为500ma,当使用外接电源时,plc24v电源端子不用,电源0v接到com端,24v接各种传感器电源端...

国产信捷PLC输出的com端有多个,怎么接线啊?是接正电还是接0V?

1、信捷PLC和三菱的接线方式是一样的信捷PLC的COM点和内部0V是通的,使用传感器只能用NPN的如果使用PLC内部电源,可以COM点不接线,直接使用0V经过传感器或开关...

西门子PLC224,要外接2个EM235模块,怎么用224给他们2个供电?接线图怎么接?224用220V供电?

224的输出端有24v啊224的输出端有24v啊

plc外接按钮只是给信号吗?

PLC外接按钮只是给信号。PLC外接按钮是一种传感器,主要负责采集输入信号,可以将人体的动作转化为电信号,以便PLC识别,完成各种自动化操作。PLC控制系统可以通...

plc的自保和互锁用不用外接出来?

plc的自保和互锁不用外部接点,使用内部虚拟继电器接点就能实现,不用外接出来plc的自保和互锁不用外部接点,使用内部虚拟继电器接点就能实现,不用外接出来

PLC编程需要什么配置的笔记本-ZOL问答

如果是西门子PLC编程需要设置PC/PG接口。以太网通信需要设置IP有用(0)回复xiamilijiani现在市面上买的都可以,我五年前买的西门子的软件都能跑,CAD别装太...

 第66届金球奖  杜文辉 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2025  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部