线下实训
HOME
线下实训
正文内容
plc编程与通信 实例讲解西门子300和200PLC通讯,通讯可能是PLC中最难应用的
发布时间 : 2025-04-28
作者 : 小编
访问数量 : 23
扫码分享至微信

实例讲解西门子300和200PLC通讯,通讯可能是PLC中最难应用的

通讯控制一直以来都是西门子不易学习,却很实用的功能,通过简单的线路连接以及软件编程,可以实现大量数据的传递,非常实用,但因使用通讯控制必须全面熟悉PLC,因此通讯控制也是PLC学习中的难点。

今天我们学习下西门子300和西门子200系列PLC的通讯。

S7-200 PLC本体没有以太网口,需要通过以太网模块CP243-1来扩展以太网通信,且一个S7-200PLC只能扩展一个CP243-1。

CP243-1最多8个以太网S7控制器通信,每个连接既可以是服务器连接也可以是客户机连接。

一个客户端(Client)可以包含1-32个数据传输操作,一个读写操作最多可以传输212个字节。如果CP243-1作为服务器运行,每个读操作可以传送222个字节。

S7-300做服务器,S7-200作为客户端

S7-200以太网向导配置

可以把S7-200的以太网模块CP243-1配置为CLIENT,使用STEP 7 Micro/WIN中的向导进行通信的配置即可。在命令菜单中选择工具--以太网向导。

图1 打开以太网向导

第一步是对以太网通信的描述,点击下一步开始以太网配置。

图2 向导介绍

在此处选择模块的位置,CPU后的第一个模块位置为0,往后依次类推;或者在线的情况下,点击读取模块搜寻CP243-1模块(在线读取将该模块的命令字节载入模块命令字节向导屏幕)。点击下一步;

图3 读取模块

选择模块相匹配的MLFB版本,本例中的CP243-1模块型号为6GK7243-1EX01-0XE0,如下图所示

图4 模块版本选择

在此处填写IP地址和子网掩码。点击下一步;

图5 地址设置

下面的对话框将组态CP243-1进行S7连接的连接数量的设置,通过S7连接可以与通信伙伴进行读写数据操作。点击“下一步”按钮继续进行S7连接组态。

图6 模块占用地址设置

选择此为客户机连接,远程属性TSAP (Transport Service Access Point)填写为03.02,输入S7-300侧的IP地址。点击数据传输按钮进入数据交换的定义。

注意:如果连接远程对象是 S7-300,TSAP为03.02;如果连接远程对象是 S7-400,TSAP为03.0x,其中x为CPU模块的槽位,可以从S7-400 站的硬件组态中找出PLC的槽号。

图7 连接设置

选择"数据传输"标记,并单击"新传输"按钮,进行配置:选择是读取数据还是写入数据,填写通讯数据的字节个数,填写发送数据区和接收数据区的起始地址。

本例中为从S7-300的MB200开始读取8个字节到VB1000开始的8个字节的区域中;从S7-200的VB2000开始的8个字节写到S7-300的QB0开始的8个字节的区域中,点击确认按钮:

注意: 本地PLC中的地址必须是V内存字节地址,远程对象中的地址必须代表字节地址。当您为S7-300/ S7-400设备输入远程地址时,若是数据块请使用DBx.DBBy格式。

图8 数据区域设置

选择CRC校验,使用缺省的时间间隔30秒,点击下一步按钮。

图9 使用CRC

填写模块所占用的V存储区的起始地址。你也可以通过“建议地址”按钮来获得系统建议的V存储区的起始地址, 点击下一步按钮。

图10 配置存储区

S7-200侧编程

完成以太网向导配置后需要在程序中调用以太网向导所生成的ETHx_CTRL和ETH0_XFR, 然后,将整个项目下载到作客户端的S7-200 CPU上。

1. 调用向导生成的子程序,实现数据传输

对于S7-200的同一个连接的多个数据传输,不能同时激活,必须分时调用。下面的程序就是用前一个数据传输的完成位去激活下一个数据传输,如图11.图12.图13. 所示

图11 S7-200程序段1

图12 S7-200程序段2

图13 S7-200程序段3

如果通信未建立成功,可以对应查询子程序的错误代码。

S7-300作客户端,S7-200作服务器

S7-200以太网向导设置

通过以太网向导将以太网模块CP243-1配置为服务器,使用STEP 7 Micro/WIN中的向导进行通信的配置即可。在命令菜单中选择工具--以太网向导。

第一步是对以太网通信的描述,点击下一步开始以太网配置。

在此处选择模块的位置,CPU后的第一个模块位置为0,往后依次类推;或者点击读取模块搜寻在线的CP243-1模块(且将该模块的命令字节载入模块命令字节向导屏幕)。点击下一步;

选择模块相匹配的MLFB版本,如下图所示:

在此处填写IP地址和子网掩码。本例中将IP地址设置为:140.80.0.60,点击下一步;

下面的对话框将组态CP243-1进行S7连接的连接数量的设置。通过S7连接可以与通信伙伴进行读写数据操作,点击“下一步”按钮继续进行S7连接组态。本例中CP243-1的第三、四个连接分别为服务器连接。

组态一个到S7-300的服务器连接:

S7-200和S7-300的S7连接通过TSAP来定义。

注意:分别组态S7-200和S7-300时,本地和远程的TSAP号是必须完全对应的。通常本地TSAP是默认的,所以在组态此步骤时,需要两边确认一下。

本地TSAP为12.00无法更改,远程TSAP设置为10.04(这是在STEP7网络组态得到的参数)。激活“接受所有连接请求”复选框,点击“下一步”按钮继续组态。

选择CRC校验,使用缺省的时间间隔30秒,点击下一步按钮。

填写模块所占用的V存储区的起始地址。你也可以通过建议地址按钮来获得系统建议的V存储区的起始地址, 点击下一步按钮。

点击”完成”按钮完成以太网向导设置。

之后功能块ETHx_CTRL 和 ETHx_XFR将被创建,必须在STEP 7-MicroWIN的主循环块MAIN (OB1)中调用这些功能块。

功能块ETHx_CTRL 用于建立通讯。编写图中的通讯程序,保存组态并下载到S7-200 CPU上。

注意:功能块ETHx_XFR 仅在用于客户端进行数据传送时才被调用。

S7-300侧组态

本例中使用S7-300作为样例建立S7连接,对于S7-400的组态步骤是一样的。

在STEP7中打开S7-300项目文件,通过Options--Configure Network或者是相对应的图标打开NetPro对话框。

在NetPro中选中S7-300站的CPU并通过菜单命令,Insert--New Connection添加一个新连接。

选择连接伙伴为“unspecified”及连接类型为“S7 connection”。点击“Apply”按钮,之后S7连接的属性对话框将打开。

由于S7连接是由S7-300创建,因此在S7连接的属性对话框中须激活“Establish an active connection“复选框。输入通信伙伴CP243-1的IP地址,之后点击“Address Details”按钮。

在“Address Details”对话框中,本地的TSAP通常选用默认,输入通信伙伴的TSAP,本例中S7-200的TSAP为12.00。

注意:分别组态S7-200和S7-300时,本地和远程的TSAP号是必须完全对应的。通常本地TSAP是默认的,所以在组态此步骤时,需要两边确认一下。

在NetPro中选中S7-300站,保存及编译后下载到S7-300 中,此处注意需要下载网络组态。

接下来,在S7程序中调用功能块,进行编程。

STEP7编写PUT/GET程序

需要在S7-300程序中,调用功能块FB14 “GET” 和 FB15 “PUT”。可以在Standard Library--Communication Blocks--Blocks下找到这些功能块。

注意:

1. ID:为Netpro里组态S7连接属性窗口中的Block paramters-Local ID。

2.ADDR_1为伙伴PLC的数据区域,由于通信伙伴是S7-200的V区,V区与S7-300的DB1地址相对应。

3.RD_1为本地PLC的数据接收区;SD_1为本地PLC的数据发送区。

如果通信无法建立,请查看“PUT”和“GET”指令的错误代码,STATUS仅在一个周期内有效,需要在ERROR=1时捕捉错误状态。如下图所示:

对于FB14 “GET” 和 FB15 “PUT”的输入参数'ID",也可通过鼠标右击功能块ID引脚,可以自动插入本地ID连接。如下图所示:

教你用2个最简单实用的方式,实现S7-1200PLC之间的通信

方式一、S7-1200PLC之间有多种方式实现PLC之间的通信,今天给大家介绍第一种方式,一个最简单,而且最实用的一种方式,在同一个项目中添加两台S7-1200的PLC,一台配置为控制设备,一台配置为智能设备,以这种方式实现两台PLC之间的数据交换。

下面以用A号PLC的输入控制B号PLC的输出,B号PLC的输入控制A号PLC的输出这样一个简单控制方式为例来说明如何配置这样的一个通信过程。

(1)在TIA Portal软件中的S7-1200之间通信的项目下添加两个S7-1200的新设备,A号PLC命名为IO控制设备,B号PLC命名为IO智能设备,如下图所示。

(2)添加完后分别对每个设备的CPU及以太网端口进行参数的设置,这里主要介绍下CPU的以太网端口的参数的设置:

IO控制设备的以太网接口参数设置:

建立一个PN/IE的网络,并设置好其IP地址,如下图所示:

IO智能设备的以太网接口参数设置:

对于智能设备的以太网接口参数的设置,除了需要设置以太网地址想项的一些内容外,还需要设置操作模式、传输区的设置,如下所示:

操作模式中参数设置:在操作模式的选项中需要设置操作模式和传输区两部分内容,设置如下所示:

根据前面的配置,可以得到如下数据交换器示意图:

(3)编写变量表及控制程序并分别下载到各自的PLC中。

IO控制设备(A号PLC)的变量表及程序:

IO智能设备(B号PLC)的变量表及程序:

方式二、在方式1里面给大家讲到了两个PLC在同一个项目中进行组态的通信方式,若当两个设备是由两个人完成的,而不是在同一个项目中组态的时候,那么就不能使用方式1的这种方式进行组态通信了,接下来就给大家介绍下在两个项目中的S7-1200的PLC如何实现组态通信。

同样我们以用A号PLC的输入控制B号PLC的输出,B号PLC的输入控制A号PLC的输出这样一个简单控制方式为例来说明如何配置这样的一个通信过程,这里以A号PLC作为控制器,B号PLC作为一台远程的智能设备。

一、对B号PLC进行通信的配置和程序的编写

(1)设置好以太网接口的IP地址、操作模式以及数据的传输区。

(以太网IP地址的设置)

(操作模式及传输区设置)

(2)导出GSD文件

注意:GSD文件导出后,不能再对操作模式中的数据传输区进行修改,若需要修改,则修改完后,需要重新导出GSD文件,不然无法建立通信,但可以对操作模式的数据传输区以外的程序进行修改编辑。

(3)编写B#PLC的程序并下载到B#PLC中。

变量表:

程序:

二、对A号PLC进行通信参数的配置和程序的编写

(1)在A号PLC的设备视图的选择中点击“选项”菜单进行GSD文件的安装,把前面导出的GSD文件安装进去,如下图所示

(2)GSD文件添加完后,设置好A号PLC的以太网接口参数并设置好IP地址,保证与B号PLC的IP地址在同一个网段并对网络配置进行组态。

网络组态配置:

打开网络视图,从右侧的硬件目录中的其他现场设备中的PROFINET IO中找到PLCS&CPS中找到刚导入的GSD的文件的目录,拖拽到网络视图中进行配置。

在设备视图界面中切换B#PLC,查看生成的数据交换区,数据交换区如下图示:

根据两台设备的数据交换区,可以得到以下的数据传输示意图:

(3)编写变量表及控制程序:

IO控制设备(A号PLC)的变量表及程序,并把做好的程序下载到PLC中

变量表:

程序:

本文为技成曾鑫老师原创,未经授权不得转载

相关问答

plc之间如何建立通讯?

1、设置PLC和电脑键的通讯参数,启动Component,点击wizard按钮;2、逻辑站号使用默认的1,点击next按钮;3、根据实际使用选择端口,然后点击next按钮;4、设...

plc通信故障怎么解决?

PLC通信故障是指在程序编程中,PLC与外部设备或控制系统之间的通信出现了问题。以下是几种可能的解决方法:检查线路连接:首先需要检查线路连接是否松动或者损...

plc网络通讯详解?

PLC网络通讯是指通过网络连接多个PLC(可编程逻辑控制器)设备,实现数据传输和控制指令的交互。它可以通过以太网、无线网络或串行通信等方式进行。PLC网络通讯...

工控机和plc是怎么通讯的

[最佳回答]1、CAN总线通讯:这种通讯方式是工控机和PLC之间进行数据交互和控制命令传输的一种常用方式,可以实现高速数据传输和多设备控制。2、如果没有模拟量...

PLC通信的时候为什么要用通信模块?

通信协议是在通信端口的基础上建立的,同一个端口有不同的通信协议,所以可以直接设置,但是比例西门子是RS485,PC是RS232,硬件的端口必须需要添加通信模块RS485...

为什么plc跟变频器通讯要编写程序?

PLC可以通过指令控制变频器的频率。首先需要了解变频器的通信方式和控制参数,然后在PLC中编写相应的程序,以实现对变频器电机的启停和速度调节。在编程时,需要...

pLc与pLC通讯要写程序,原pLC里的程序不会覆盖么?

就西门子的PLC而言,是这样的。通讯程序可以放很多个在PLC中,因为程序的执行是循环扫描的方式,当然在写通讯程序时,可以采用循环指令,减少代码量,通过循环和...

如何编写信捷文本和PLC通信?

要使用信捷文本的专用通讯电缆,要查看文本程序中所选择的plc类型与实际plc类型是否一致,文本中的plc参数的类型设置也要与实际plc参数类型一致。软元件范围不...

PLC通讯程序怎么写?

PLC通讯程序的具体编写流程与所采用的PLC品牌和型号有关,但大致可分为以下步骤:确定通讯接口,选择通讯协议,配置PLC参数,编写PLC程序并与上位机进行通讯。在...

汇川PLC怎么台达触摸屏进行通讯?

1.确保三菱plc上的通讯模块是422协议。2.确保台达触摸屏程序通讯协议是422协议。3.准备一根串口线。4.连接plc与触摸屏5.然后就可以通讯了。6.一定要确保...

 四川德阳一在建桥垮塌  美丽人生 日剧 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2025  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

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

热线

188-0000-0000
专属服务热线

微信

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