返回 产品详情
长沙6ES7307-1EA00-0AA0西门子湖南代理商
来自长沙玥励自动化设备有限公司
¥10.00
发布时间  2019-02-18 14:21:37 关注次数  117
长沙玥励自动化设备有限公司
免费会员 7年
图文介绍 产品参数 供应商信息


 

长沙   西门子   6ES7307-1EA00-0AA0   湖南代理商  

 

 

 

 

   

S7-300 集成PN口作客户端与S7-300/400/1200/1500的 S7 单边通信(STEP7)

S7 协议是 SIEMENS S7系列产品之间通讯使用的标准协议,其优点是通信双方无论是在同一 MPI 总线上、同一 PROFIBUS 总线上或同一工业以太网中,都可通过 S7 协议建立通信连接,使用相同的编程方式进行数据交换而与使用何种总线或网络无关。S7 通信按组态方式可分为单边通信和双边通信,单边通信通常应用于以下情况:

  • 通信伙伴无法组态 S7 连接
  • 通信伙伴不允许停机
  • 不希望在通讯伙伴侧增加通信组态和程序

本文档简要介绍在STEP7 V5.5环境下,S7-300 集成PN口的CPU基于工业以太网的S7单边通信的组态步骤,用于实现与S7-300/400/1200/1500 CPU之间的S7 通信。

1、硬件与软件条件

设备 数量 订货号 注释
CPU 315-2 PN/DP 2 6ES7317-2EH14-0AB0 V3.2

表 1主要硬件列表

设备 数量 订货号 注释
STEP 7 Professional V5.5 1 6ES7511-1AK00-0AB0 V1.8
CPU 1212C 1 6ES7212-1AE40-0XB0 V4.2

表 2软件环境

2、组态配置

2.1 通过如下的步骤配置编程电脑的IP地址:

选择电脑的“ 控制面板 > 网络和共享 > 本地连接>属性”打开 Internet Protocol Version 4(TCP/IPv4),设置PC的 IP 地址,本例中为192.168.0.131。

图1.设置PC地址

 

2.2 在STEP7 中组态315-2PN/DP CPU,双击X2卡槽,再点击属性按钮以设置IP地址。(具体步骤请参见文档:CPU硬件组态入门)

图2.S7-300硬件组态

图3.PN-IO属性

 

2.3 设置好IP地址后(本例中为192.168.0.1),点击New按钮添加一条子网Ethernet(1),如果已经存在子网,也可选中该子网直接点OK按钮即可。

图4.添加IP地址和子网

 

2.4 点击快捷菜单中的Configure Network按钮进入Netpro视图。

图5.点击Configure Network按钮

 

2.5 在Netpro视图的CPU上点右键选择Insert New Connection添加新连接。

图6.添加新连接

 

2.6 通讯伙伴选择非指定(Unspecified),通讯类型选择S7 connection。

图7.选择通信伙伴和通信类型

 

2.7 点击OK后在弹出的属性窗口中勾选单端组态(Establish an active connection),并填写通信伙伴的IP地址,注意Local ID编号,本例保持默认值1。点击详细按钮。

图8.S7连接属性

 

2.8 在地址详细信息对话框中填写通信伙伴CPU的机架号和槽号,如通信伙伴是S7-300/400 CPU则槽号为2,如通信伙伴是S7-1200/1500 CPU则槽号为1。点击OK。

图9.S7地址详细

2.9 选中CPU,先编译再下载

图10.编译下载

注:如不熟悉下载方法,可参考如下链接:

http://www.ad.siemens.com.cn/productportal/Prods/published\Soft\Soft_3.5\Soft_3.5.html

 

2.10 下载完成后,可点击“激活连接状态”按钮,查看连接状态,如下图所示,则表示组态的连接已经成功建立。

图11.连接已建立

2.11 如果出现如下图所示的情况,则说明连接没有建立,请检查网线的连接、IP地址等。

图12.连接未建立

3、编写PLC程序,调用通讯块

3.1 组态连接建立成功后,需要调用通讯功能块PUT和GET进行数据交换。S7-300用于通讯连接的功能块位于标准库中,如下图所示:

图13.PUT GET指令位置

 

3.2调用PUT指令,本例中本地S7-300 CPU将DB10.DBB0开始的10个字节写入通信伙伴CPU 的DB11.DBB0开始的10个字节中。

图14.PUT指令

参数 说明
REQ 上升沿触发,一次上升沿发送一次数据
ID 连接ID(参看图8)
ADDR_1 指向伙伴CPU接收地址区域
SD_1 指向本地CPU发送地址区域
DONE 发送完成(上升沿)
ERROR 有故障发生(上升沿)
STATUS 故障代码

表 3 PUT管脚说明

3.3调用GET指令,本例中将通信伙伴CPU的DB20.DBB0开始的10个字节读入到本地S7-300 CPU的DB21.DBB0开始的10个字节中。

图15.GET指令

参数 说明
REQ 上升沿触发,一次上升沿读取一次数据
ID 连接ID(参看图8
ADDR_1 指向伙伴CPU发送地址区域
RD_1 指向本地CPU接收地址区域
DONE 接收完成(上升沿)
ERROR 有故障发生(上升沿)
STATUS 故障代码

表 4 GET管脚说明

3.4 S7-300 CPU做S7通讯的客户端时,伙伴CPU无需组态编程,准备好相应的数据区即可,如本例中的DB10和DB20。如果伙伴方是S7-1200(固件版本V4.0以上)或是S7-1500 CPU,需要在CPU属性的连接机制中勾选"允许来自远程对象的PUT/GET通信访问",如下图所示:

 

 

S7-300/400与S7-200SMART之间的以太网S7通信

S7通信是S7系列PLC基于MPI、PROFIBUS、ETHERNET网络的一种优化的通信协议,主要用于S7-300/400PLC之间的通信。
经过测试发现S7-300/400通过集成的PN口或CP343-1/CP443-1与S7-200 SMART PLC 之间的S7通信也是可以成功的, 但是需要S7-300/400侧编程调用PUT/GET指令。

注意:
1.S7-200 SMART CPU 与S7-300/400 CPU 之间的S7通信未经西门子官方测试,本文档仅供客户测试使用,使用该种通信方式所产生的任何危险需要有客户自己承担!
2.S7-200 SMARTPLC V2.0 版本才开始支持PUT/GET通信,V1.0版本的CPU需要升级固件后方可支持PUT/GET。
3. S7-300/400若采用CP通信时,则需要采用Standard或Advanced类型通信模块,CP343-1 Lean模块不支持。 
4.本文仅介绍S7-300集成PN口与S7-200 SMART CPU S7通信。

S7通信介绍

S7通信是S7系列PLC基于MPI、PROFIBUS、ETHERNET网络的一种优化的通信协议,主要用于S7-300/400PLC之间的通信。
S7-300/400通过以太网接口与S7-200 SMART PLC 之间的S7通讯经过测试是可以成功的,但是需要S7-300/400侧编程调用PUT/GET指令,见表1所示。
表 1 PUT和GET :

S7-400 S7-300 描述 简要描述
SFB 14 FB 14 读数据 单边编程读访问。
SFB 15 FB 15 写数据 单边编程写访问。

S7-300/400根据使用通信接口(集成的PN口或CP343-1/CP443-1)不同,调用的功能块来源也不同。
通信接口为S7-300 集成PN接口时,需要使用Standard Library中PUT/GET指令,如图1所示。

图1 S7-300PN接口需采用Standard Library

通信接口为S7-300 CP通信模块时,需要使用SIMATIC_NET_CP 库中PUT/GET指令,如图2所示。
 
图2 S7-300 CP模块接口需采用SIMATIC_NET_CP库

S7-400 CPU不区分通信接口,需要使用System Function Blocks 中的SFB14/SFB15指令块,如图3所示。
 
图3 S7-400 需采用SFB程序块

硬件及网络组态

本文以采用1个315-2PN/DP,1个S7-200 SMART PLC为例,介绍它们之间的S7通信。 
在STEP7中创建一个新项目,项目名称为S7-300-SMART。插入1个S7-300站,在硬件组态中插入CPU 315-2 PN/DP。如图4所示。 

图4 STEP7 项目中插入S7-300站点

设置CPU 315-2PN/DP的IP地址:192.168.0.1,如图5所示。硬件组态完成后,即可下载该组态。 

图5 设置CPU PN IP地址

打开“NetPro”设置网络参数,选中CPU 315-2PN/DP,在连接列表中建立新的连接。步骤如图6所示。 

图6 NetPro组态视图中插入新连接

选择 Unspecified  站点,选择通讯协议 S7 connection,点击 Apply,如图7所示。 

图7 组态新连接

在弹出的S7 connection属性对话框中,勾选 Establish an active connection,设置Partner address:192.168.0.2(S7-200 SMART PLC IP 地址),如图8所示。 

图8 设置S7连接参数
点击 "Address Details" ,再弹出来的对话框设置 Partner 的 Slot 为1,如图9所示。点击 OK即可关闭该对话框。 

图9 设置“address details”参数

网络组态创建完成后,需要编译,如图10所示。 

图10 保存并编译连接

网络组态编译无错,鼠标先点击 CPU 315-2PN/DP ,然后点击下载按钮下载网络组态,步骤如图11所示。 

图 11 下载组态连接

程序编程

可以通过SFB/FB 14 "GET",从远程CPU中读取数据。
S7-300:在REQ的上升沿处读取数据。在REQ的每个上升沿处传送参数ID、ADDR_1和RD_1。在每个作业结束之后,可以分配新数值给ID、ADDR_1和RD_1参数。
S7-400:在控制输入REQ的上升沿处启动SFB。在此过程中,将要读取的区域的相关指针(ADDR_i)发送到伙伴CPU。远程伙伴返回此数据。在 下一个SFB/FB调用处,已接收的数据被复制到组态的接收区(RD_i)中。必须要确保通过参数ADDR_i和RD_i定义的区域在长度和数据类型方面 要相互匹配。
通过状态参数NDR数值为1来指示此作业已完成。只有在前一个作业已经完成之后,才能重新激活读作业。远程CPU可以处于RUN或STOP工作状态。如果 正在读取数据时发生访问故障,或如果数据类型检查过程中出错,则出错和警告信息将通过ERROR和STATUS输出表示。

通过使用SFB/FB 15 "PUT",可以将数据写入到远程CPU。
S7-300:在REQ的上升沿处发送数据。在REQ的每个上升沿处传送参数ID、ADDR_1和SD_1。在每个作业结束之后,可以给ID、ADDR_1和SD_1参数分配新数值。
S7-400:在控制输入REQ的上升沿处启动SFB。在此过程中,将指向要写入数据的区域(ADDR_i)的指针和数据(SD_i)发送到伙伴CPU。 远程伙伴将所需要的数据保存在随数据一起提供的地址下面,并返回一个执行确认。必须要确保通过参数ADDR_i和SD_i定义的区域在编号、长度和数据类 型方面相互匹配。
如果没有产生任何错误,则在下一个SFB/FB调用时,通过状态参数DONE来指示,其数值为1。只有在最后一个作业完成之后,才能再次激活写作业。远程 CPU可以处于RUN或STOP模式。如果正在写入数据时发生访问故障,或如果执行检查过程中出错,则出错和警告信息将通过ERROR和STATUS输出 表示。
打开SIMATIC 315 PN-1的OB1,在OB1中依次调用FB14,FB15如图12、图13所示:

图12 FB14调用
表2.FB14参数说明 :

参数

描述

数据类型

存储区

描述

REQ

bbbbb

BOOL

I、Q、M、D、L

上升沿触发调用功能块

ID

bbbbb

WORD

M、D、常数

地址参数ID

NDR

OUTPUT

BOOL

I、Q、M、D、L

为1时,接收数据成功

ERROR

OUTPUT

BOOL

I、Q、M、D、L

接收到新数据

STATUS

OUTPUT

WORD

I、Q、M、D、L

故障代码

S7-300: 
ADDR_1
S7-400: 
ADDR_i
(1 ≤ i ≤ 4)

IN_OUT

ANY

M、D

I、Q、M、D、 
T、C

从S7-200 SMART的数据地址中读取数据;V区数据对应DB1。

S7-300: 
RD_1
S7-400: 
RD_i
(1 ≤ i ≤ 4)

IN_OUT

ANY

S7-300:M、D
S7-400 I、Q、 
M、D、T、C

本站接收数据地址


图13 FB15调用
表3.FB15参数说明 :

参数

描述

数据类型

存储区

描述

REQ

bbbbb

BOOL

I、Q、M、D、L

上升沿触发调用功能块

ID

bbbbb

WORD

M、D、常数

地址参数

DONE

OUTPUT

BOOL

I、Q、M、D、L

为1时,发送完成

ERROR

OUTPUT

BOOL

I、Q、M、D、L

为1时,有故障发生

STATUS

OUTPUT

WORD

I、Q、M、D、L

故障代码

S7-300: 
ADDR_1
S7-400: 
ADDR_i
(1 ≤ i ≤ 4)

IN_OUT

ANY

M、D

I、Q、M、D、 
T、C

从S7-200 SMART的数据地址中读取数据;V区数据对应DB1。

S7-300: 
SD_1
S7-400: 
SD_i
(1 ≤ i ≤ 4)

IN_OUT

ANY

S7-300:M、D

S7-400 I、Q、 
M、D、T、C

本站发送数据地址

注意:

S7-200 SMART PLC 不需要编程。 S7-200 SMART 中的V存储区在S7-300/400 PLC 编程中以DB1数据块的形式体现。

 

 

S7-300和S7-200的以太网S7通信(Step7)

S7-300与S7-200通信,300既可以做客户端,也可以做服务器。

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

当S7-300作服务器,S7-200作客户端时,在200侧编程,300无需组态编程。

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

当S7-300作客户端,S7-200作服务器时,在300侧组态编程,200侧也需要向导设置。

 系列视频:S7-200跟我学/跟我做

客户端与服务器定义请参看:服务器Server和客户端Client有什么区别?

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 bters-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连接。如下图所示:

长沙   西门子  6ES7307-1EA00-0AA0
长沙玥励自动化设备有限公司
  • 公司类型私营有限责任公司
  • 经营模式经销商-私营有限责任公司
  • 联系人姚善雷
  • 联系手机13874941405
  • 联系固话0731-526565255
  • 公司地址湖南省长沙市岳麓区天顶街道雷锋大道金科世界城468号
主营业务
电源PLC,模块厂家,西门子触摸屏价格, 电缆连接器
长沙玥励自动化设备有限公司是专业从事西门子工业自动化产品销售和系统集成的高新 技术企业。在西门子工控领域,公司以精益求精的经营理念,从产品、方案到服务,致 力于塑造一个“行业专家”品牌,以实现可持续的发展。公司位于湖南省长沙市岳麓区。 “信誉第一,客户至上”是公司成立之初所确立的宗旨,在公司领导的严格要求和员工们不折不扣地贯彻执行下发展延续至今。“假一罚十”一直是我公司的主动承诺。 面对纷繁变化的市场和日益严峻的竞争,客户的需求和利益始终被我们放在工作的首位。我们想客户之所想,急客户之所急。针对各行业客户的不同需求,我们尽心尽力地为客户需要解决的难题提供精准的解决方案,竭尽全力将服务落到实处、做到最好。在协助客户解决难题、实现突破的基础上,获得双赢! 我公司一直致力于推广西门子高性能自动化系统和驱动产品,所经营产品范围:LOGO!通用模块、SIMATIC S7全系列可编程控制器、PCS7 控制系统、WINCC组态软件、STEP 7编程软件和博图软件; 触摸屏、工控机、网络交换机、开关电源;6RA70/80系列直流调速装置,MM4、V20、G120、G130、G150、S120等全系列变频器;V90伺服产品,数控系统等工业自动化与驱动技术全系列产品。公司所备各类产品齐全,货量充足,,能够满足客户对现货的需求,保证工程进度。 公司自成立以来,始终坚持以人才为本、诚信立业的经营原则,坚持“质量到位、服务一流”的经营理念,在电工电气-工控系统及装备行业获得了客户的一致认可和高度评价,公司以为客户创造价值为己任,期待为您服务! 请相信长沙玥励自动化设备有限公司是您忠诚的长久的合作伙伴,我们愿与广大客户携手向前,共同进步!
姚善雷 电话咨询 立即询价