S7300 与 S7200 SMART 以太网通讯.docx

上传人:b****3 文档编号:4009647 上传时间:2022-11-27 格式:DOCX 页数:39 大小:2MB
下载 相关 举报
S7300 与 S7200 SMART 以太网通讯.docx_第1页
第1页 / 共39页
S7300 与 S7200 SMART 以太网通讯.docx_第2页
第2页 / 共39页
S7300 与 S7200 SMART 以太网通讯.docx_第3页
第3页 / 共39页
S7300 与 S7200 SMART 以太网通讯.docx_第4页
第4页 / 共39页
S7300 与 S7200 SMART 以太网通讯.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

S7300 与 S7200 SMART 以太网通讯.docx

《S7300 与 S7200 SMART 以太网通讯.docx》由会员分享,可在线阅读,更多相关《S7300 与 S7200 SMART 以太网通讯.docx(39页珍藏版)》请在冰豆网上搜索。

S7300 与 S7200 SMART 以太网通讯.docx

S7300与S7200SMART以太网通讯

S7-300与S7-200SMART以太网通讯

S7通信是S7系列PLC基于MPI、PROFIBUS、ETHERNET网络的一种优化的通信协议,主要用于S7-300/400PLC之间的通信。

S7-200SMARTPLCV2.0版本支持SMARTPLC之间的PUT/GET通讯,经过测试发现S7-300/400集成的PN口与S7-200SMARTPLC之间的PUT/GET通讯也是可以成功的,但是需要S7-300/400侧编程调用PUT/GET指令。

S7-300/400集成PN口调用的功能块的调用如图1、图2所示。

S7-400

S7-300

描述

简要描述

SFB14

FB14

读数据

单边编程读访问。

SFB15

FB15

写数据

单边编程读访问。

表1

图1调用通信项目功能块

图2调用通信系统功能块

要通过S7-300/400CPU的集成PROFINET接口实现S7通信,需要在硬件组态中建立连

接。

1、硬件及网络组态

CPU采用1个314-2PN/DP,1个S7-200SMARTPLC使用以太网进行通信。

在STEP7中创建一个新项目,项目名称为S7-300-SMART。

插入1个S7-300站,在硬件组态中插入CPU314-2PN/DP。

如图3-10所示。

1.1硬件组态

1.1.1新建项目

首先单击新建项目,名称和存储位置可以自己选择和更改,然后点击确认。

如图3所示。

图3新建项目

1.1.2建立SMATC300站点。

首先在导航窗口空白处(或者选择项目)右键选择插入对象,再选择SMATC300站点。

如图4所示

图4创建SMATC300站点

1.1.3硬件配置

双击右窗口硬件进入硬件配置窗口。

具体配置如图5-19所示。

注意:

硬件组态的硬件参数必须要和实际的硬件参数相同,否则PLC不能正常工作。

出现异常报警。

图5进入硬件配置窗口

图6硬件配置窗口

图7选择机架

注:

(可以右击选择添加或者直接双击进行添加)以下的硬件配置将不予说明。

图8选择电源

 

图9选择CPU

 

注:

由于314C-2PN\DP比较特殊,自带两个以太网PN接口,所以组态时会弹出以太网接口属性设置窗口。

在IP地址栏,键入IP地址,如果使用路由器,选择使用路由器,键入路由器地址,如果是所以普通交换机选择不使用路由器(普通的交换机没有IP地址),设置完后点击新建,进入子网属性设置。

如图10所示。

图10以太网接口属性设置

直接选择确定。

如图11所示。

图11子网属性设置

以太网接口属性设置完后,可以在子网栏看到Ethernet

(1)的子网。

如图12所示。

图12

双击CPU硬件属性,设置时间脉冲存储器。

选择周期/时间存储器,勾选时间存储器,在存储字节区键入自定义存储区(这个存储区是自定义的,由用户自定义进行设置),如图13-14所示。

图13CPU硬件属性窗口

图14设置时间脉冲存储器

设置DI\DO输入输出模块I\O地址。

双击DI\DO,在地址属性窗口把系统默认勾选去除,在开始栏键入自定义地址。

如图15-16所示。

图15进入设置DI\DO输入输出模块属性窗口

图16设置DI\DO输入输出模块I\O地址

硬件配置完毕后,点击保存并编译,然后会提示是否变更保存到SMATIC300

(1)站点,选择是,创建系统数据。

然后关闭硬件配置主窗口。

如图17-19所示。

图17

图18保存并编译

图19创建系统数据

 

1.1.4网络配置

打开“NetPro”设置网络参数,选中CPU314-2PN/DP,在连接列表中建立新的连接。

骤如图20-27所示。

图20双击CPU314-2PN/DP

 

图21双击连接

选择CPU314-2PN/DP,右键选择插入新连接。

如图22所示.

图22插入新连接

 

连接伙伴选择(未指定),站点(未指定),连接类型选择S7连接。

然后点击应用进入S7连接属性设置窗口。

如图23所示。

(英文版选择(选择Unspecified站点,选择通讯协议S7connection,点击Apply))

图23插入新连接

 

本地连接端点选择,勾选建立主动连接,块参数设置,自定义本地ID,默认是1,连接路径栏不用修改,伙伴栏在[IndustrialEtherent(工业以太网)]栏键入SMARTS7-200SMART的IP地址。

然后点击地址详细信息,

(英文版选择在弹出的S7connection属性对话框中,勾选Establishanactiveconnection,设置

Partneraddress:

192.168.0.2(S7-200SMARTPLCIP地址))

图24S7连接属性设置

本地栏信息和S7子网ID信息不需要修改,只需要在伙伴栏机架/插槽栏,把插槽号改为1。

然后点击确认。

如图25所示。

(英文版选择点击AddressDetails,再弹出来的对话框设置Partner的Slot为1,如图8所示。

点击OK即可关闭该对话框)

图25修改伙伴插槽号

设置完成后能在信息栏看到设置的信息。

如图26所示。

图26配置完成后信息

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

图27编译和保存网络组态

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

图28下载网络组态

2软件编程

可以通过系统功能块SFB14"GET"\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/FB1515项目功能块"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输出表示。

打开SIMATIC314C2-PN/DP的OB1,在OB1中依次调用项目功能块FB14,项目功能块FB15如图29、图30所示。

通过SFB/FB14\15块"GET"从远程CPU中读取数据描述:

可以通过SFB/FB15"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输出表示。

图29系统功能块SFB14

参数

声明

数据类型

存储区

描述

REQ

INPUT

BOOL

I、Q、M、D、L

控制参数请求,在上升沿激活数据交换。

ID

INPUT

WORD

M、D、常数

寻址参数ID(自定义本地ID格式W#16#?

,具体ID看S7连接属性中的块参数信息)

NDR

OUTPUT

BOOL

I、Q、M、D、L

NDR状态参数:

0:

作业还未启动或仍然处于激活状态。

1:

作业已成功完成。

ERROR

OUTPUT

BOOL

I、Q、M、D、L

ERROR和STATUS状态参数,出错显示:

ERROR=0

STATUS的数值:

0000H:

既不是警告也不是出错

不等于0000H:

警告,STATUS提供详细信息。

ERROR=1产生一个错误。

STATUS给出了关于错误类型的详细信息。

关于错误类型的详细信息。

STATUS

OUTPUT

WORD

I、Q、M、D、L

故障代码

S7-300:

ADDR_1

IN_OUT

ANY

S7-300:

M、D

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

(指针,指向伙伴CPU中要被读取的区域)。

S7-400:

ADDR_i

(1≤i≤

4)

IN_OUT

ANY

S7-400:

I、Q、M、D、

T、C

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

(指针,指向伙伴CPU中要被读取的区域)。

S7-300:

RD_1

IN_OUT

ANY

S7-300:

M、D

本站接收数据存储地址

(指针,指向本地CPU中用于输入读取数据的区域)。

S7-400:

RD_i

(1≤i≤

4)

IN_OUT

ANY

S7-400I、Q、

M、D、T、C

本站接收数据存储地址

(指针,指向本地CPU中用于输入读取数据的区域)。

注意:

如果使用ANY指针访问一个数据块,则必须要指定该数据块(例如:

P#DB10.DBX5.0Byte10)

只允许使用下列数据类型:

BOOL(不允许:

位域)、BYTE、CHAR、WORD、INT、DWORD、DINT、REAL、COUNTER、TIMER。

注意:

如果使用ANY指针访问一个数据块,则必须要指定该数据块(例如:

P#DB10.DBX5.0Byte10)。

表2系统功能块SFB14参数说明

通过SFB/FB15"PUT"向远程CPU写入数据描述:

通过使用SFB/FB15"PUT",可以将数据写入到远程CPU。

S7-300:

在REQ的上升沿处发送数据。

在REQ的每个上升沿处传送参数ID、ADDR_1和SD_1。

在每个作业结束之后,可以给ID、ADDR_1和SD_1参数分配新数值。

S7-400:

在控制输入REQ的上升沿处启动SFB。

指向即将写入的区域和数据(SD_i)的指针(ADDR_i)将被发送到伙伴CPU。

远程伙伴将所发送的数据保存在随数据一起提供的地址下面,并返回一个执行确认。

必须要确保通过参数ADDR_i和SD_i定义的区域在数量、长度和数据类型方面要相互匹配。

如果没有发生错误,则在下一次SFB/FB调用时通过状态参数DONE设为值1来指示。

只有在最后一个作业完成之后,才能再次激活写作业。

远程CPU可以处于RUN或STOP模式。

如果正在写入数据时发生访问故障,或如果执行检查过程中出错,则出错和警告信息将通过ERROR和STATUS输出表示。

图30系统功能块SFB15

参数

声明

数据类型

存储区

描述

REQ

INPUT

BOOL

I、Q、M、D、L

控制参数请求,在上升沿激活数据交换。

ID

INPUT

WORD

M、D、常数

寻址参数ID(自定义本地ID格式W#16#?

,具体ID看S7连接属性中的块参数信息)。

DONE

OUTPUT

BOOL

I、Q、M、D、L

DONE状态参数:

0:

作业还未启动或仍然在运行。

1:

作业已经无错地执行完毕。

ERROR

OUTPUT

BOOL

I、Q、M、D、L

ERROR和STATUS状态参数,出错显示:

ERROR=0

STATUS的数值:

0000H:

既不是警告也不是出错。

不等于0000H:

警告,STATUS提供详细信息。

ERROR=1出错。

STATUS提供关于错误类型的详细信息。

STATUS

OUTPUT

WORD

I、Q、M、D、L

故障代码。

S7-300:

ADDR_1

IN_OUT

ANY

S7-300:

M、D

从本地的数据地址中读取数据发送到S7-200SMARTV区数据对应存储区。

(指针,指向本地CPU中包含了要发送的数据的区域。

)。

S7-400:

ADDR_i

(1≤i≤

4)

IN_OUT

ANY

S7-400:

I、Q、M、D、

T、C

从本地的数据地址中读取数据发送到S7-200SMARTV区数据对应存储区。

(指针,指向本地CPU中包含了要发送的数据的区域。

S7-300:

RD_1

IN_OUT

ANY

S7-300:

M、D

本站发送数据存储地址

(指针,指向本地CPU中包含了要发送的数据的区域。

)。

S7-400:

RD_i

(1≤i≤

4)

IN_OUT

ANY

S7-400I、Q、

M、D、T、C

本站发送数据存储地址

(指针,指向本地CPU中包含了要发送的数据的区域。

)。

注意:

如果使用ANY指针访问一个数据块,则必须要指定该数据块(例如:

P#DB10.DBX5.0Byte10)

只允许使用下列数据类型:

BOOL(不允许:

位域)、BYTE、CHAR、WORD、INT、DWORD、DINT、REAL、COUNTER、TIMER。

注意:

如果使用ANY指针访问一个数据块,则必须要指定该数据块(例如:

P#DB10.DBX5.0Byte10)。

表3系统功能块SFB15参数说明

故障信息

下表包含了所有SFB/FB14/SFB/FB15特有的出错信息,这些信息可以通过参数ERROR和STATUS输出表示。

注:

用红色标注字体的是SFB/FB15和SFB/FB14的不同之处,代表SFB/FB15参数,以此区分。

除标注部分参数不一样外,其它故障信息均一致。

故障信息

ERROR

STATUS

(十进制)

注解

0

11

警告:

1由于前一个作业还没有结束,所以不能执行新作业。

2正在以较低优先级处理此作业。

0

25

通讯已经启动。

作业正在处理。

1

1

通讯故障,例如:

1没有装载连接描述(本地或远程)

2连接被中断(例如:

电缆断线、CPU关闭、或CP处于STOP模式)

3没有建立到通讯伙伴的连接

4FB无法在S7-400CPU上运行

5此外对于S7-300:

超出并行作业/背景的最大数目

1

2

来自伙伴设备的否定确认。

无法执行该函数。

1

4

接收区指针RD_i(SD_i)中出错,包括数据长度或数据类型。

1

8

在伙伴CPU上发生访问出错。

1

10

不能访问本地用户存储区(例如,访问一个已经删除的数据块)

1

12

当调用SFB时:

1.指定了一个不属于SFB14(SFB15)的背景数据块。

2没有指定任何背景数据块,而是指定了一个共享数据块。

3.没有找到任何背景数据块(从PG中装载新背景数据块)。

1

20

S7-400:

没有足够的工作存储器可用。

如果仍然有足够的总工作存储器可用,则解决方案是压缩工作存储器。

H系统:

在更新期间不能进行SFB的第一次调用,因为正在创建工作存储器中的通讯缓冲区。

同样地,在更新期间不能改变工作存储器。

S7-300:

超出并行作业/背景的最大数目

CPU在RUN模式(要求CPU或CP进行从STOP到RUN的切换)时,背景超载。

当第一次调用时可以

1

27

CPU中没有用于此功能块的功能代码(仅对于S7-300)

表4SFB/FB14/SFB/FB15故障信息

数据一致性:

如果遵守了下面的要点,则能保证数据接收处于一致性状态:

在启动其它作业之前,评估当前正在使用的接收区RD_i/(SD_i)部分。

2.1程序编写

在主窗口导航中双击S7程序,如图31所示。

图31进入程序编写窗口

双击块,会弹出组织块属性窗口,名称、符号名、符号注释、创建语言可以自定义进行修改。

修改后点击确认。

如图32-33。

图32组织块窗口

图33设置组织块属性

程序编写,Alt+F9,然后键入SFB14,调用系统功能块SFB14,背景数据块名称键入DB14,然后会弹出背景数据块DB14不存在,是否要生成,点击是生成背景数据块DB14。

然后键入参数,如图34-37所示。

图34调用系统功能块SFB14

图35创建背景数据块DB14

图36生成背景数据块DB14

键入参数

图37键入参数

Alt+F9,然后键入SFB14,调用系统功能块SFB15,背景数据块名称键入DB15,然后会弹出背景数据块DB15不存在,是否要生成,点击是生成背景数据块DB15。

如图38-41所示。

图38调用系统功能块SFB15

图39创建背景数据块DB15

图40生成背景数据块DB15

键入参数

图41键入参数

接收发送程序编写,如图42所示。

图42接收发送程序

下载站点硬件网络组态配置以及程序下载,如图43-46所示。

图43

图44

图45

图46

图47

图48

图49

图50

SMARTS7-200SMARTPLC只需要进行IP地址设置以及编写数据转换程序。

如图51-52所示。

200SMART以太网IP地址设置,在导航窗口双击系统块,点击通信,在以太网端口参数设置中勾选IP地址数据固定为下面的值,不能通过其它方式更改,然后键入自定义的IP地址。

子网掩码不需要修改。

然后点击确定。

注:

这个IP地址要和S7连接属性设置中的伙伴以太网IP地址保持一致,否则不能进行通信。

图51系统块通信设置

图52数据转换程序

图53程序块、数据块、系统块下载

 

2.2程序调试

 

由于编者水平有限,加之时间仓促,论文中错漏在所难免,恳请广大读者批评指正,衷心感谢。

 

编者:

陈家能

于2015.4.23在重庆电子工程职业学院机电学院机电工程中心机电技术应用研究所编写。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1