S7200SMARTS7通信.docx

上传人:b****3 文档编号:6314728 上传时间:2023-05-09 格式:DOCX 页数:29 大小:1.74MB
下载 相关 举报
S7200SMARTS7通信.docx_第1页
第1页 / 共29页
S7200SMARTS7通信.docx_第2页
第2页 / 共29页
S7200SMARTS7通信.docx_第3页
第3页 / 共29页
S7200SMARTS7通信.docx_第4页
第4页 / 共29页
S7200SMARTS7通信.docx_第5页
第5页 / 共29页
S7200SMARTS7通信.docx_第6页
第6页 / 共29页
S7200SMARTS7通信.docx_第7页
第7页 / 共29页
S7200SMARTS7通信.docx_第8页
第8页 / 共29页
S7200SMARTS7通信.docx_第9页
第9页 / 共29页
S7200SMARTS7通信.docx_第10页
第10页 / 共29页
S7200SMARTS7通信.docx_第11页
第11页 / 共29页
S7200SMARTS7通信.docx_第12页
第12页 / 共29页
S7200SMARTS7通信.docx_第13页
第13页 / 共29页
S7200SMARTS7通信.docx_第14页
第14页 / 共29页
S7200SMARTS7通信.docx_第15页
第15页 / 共29页
S7200SMARTS7通信.docx_第16页
第16页 / 共29页
S7200SMARTS7通信.docx_第17页
第17页 / 共29页
S7200SMARTS7通信.docx_第18页
第18页 / 共29页
S7200SMARTS7通信.docx_第19页
第19页 / 共29页
S7200SMARTS7通信.docx_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

S7200SMARTS7通信.docx

《S7200SMARTS7通信.docx》由会员分享,可在线阅读,更多相关《S7200SMARTS7通信.docx(29页珍藏版)》请在冰点文库上搜索。

S7200SMARTS7通信.docx

S7200SMARTS7通信

一、S7-200SMARTCPU之间的以太网通信

S7-200SMARTCPU固件版本V2.0及以上版本的CPU可实现CPU、编程设备和HMI(触摸屏)之间的多种通信:

—CPU与编程设备之间的数据交换。

—CPU与HMI之间的数据交换。

—CPU与其他S7-200SMARTCPU之间的PUT/GET通信。

S7-200SMARTCPU以太网连接资源如下:

—1个连接用于与STEP7Micro/WinSMART软件的通信。

—8个连接用于CPU与HMI之间的通信。

—8个连接用于CPU与其他S7-200SMARTCPU之间的PUT/GET主动连接

—8个连接用于CPU与其他S7-200SMARTCPU之间的PUT/GET被动连接

PUT/GET指令格式

S7-200SMARTCPU提供了PUT/GET指令,用于S7-200SMARTCPU之间的以太网通信(PUT/GET指令格式见表1)。

PUT/GET指令只需要在主动建立连接的CPU中调用执行,被动建立连接的CPU不需要进行通信编程。

PUT/GET指令中TABLE参数用于定义远程CPU的IP地址、本地CPU和远程CPU的数据区域以及通信长度(TABLE参数定义见表2)。

表1PUT和GET指令:

LAD/FBD

STL

描述

PUTTABLE

PUT指令启动以太网端口上的通信操作,将数据写入远程设备。

PUT指令可向远程设备写入最多212个字节的数据。

GETTABLE

GET指令启动以太网端口上的通信操作,从远程设备获取数据。

GET指令可从远程设备读取最多222个字节的数据。

表2PUT和GET指令的TABLE参数定义:

字节偏移量

Bit7

Bit6

Bit5

Bit4

Bit3

Bit2

Bit1

Bit0

0

D1

A2

E3

0

错误代码4

1

远程CPU的IP地址

2

3

4

5

预留(必须设置为0)

6

预留(必须设置为0)

7

 

指向远程CPU通信数据区域的地址指针

(允许数据区域包括:

I、Q、M、V)

8

9

10

11

通信数据长度5

12

 

指向本地CPU通信数据区域的地址指针

(允许数据区域包括:

I、Q、M、V)

13

14

15

1 D:

通信完成标志位,通信已经成功完成或者通信发生错误。

2 A:

通信已经激活标志位。

3 E:

通信发生错误,错误原因需要查询错误代码4。

4 错误代码:

见表3PUT和GET指令TABLE参数的错误代码。

5 通信数据长度:

需要访问远程CPU通信数据的字节个数,PUT指令可向远程设备写入最多212个字节的数据,GET指令可从远程设备读取最多222个字节的数据。

表3PUT和GET指令TABLE参数的错误代码:

错误代码

描述

0

通信无错误

1

PUT/GETTABLE参数表中存在非法参数:

∙本地CPU通信区域不包括I、Q、M或V。

∙本地CPU不足以提供请求的数据长度。

∙对于GET指令数据长度为零或大于222字节;对于PUT指令数据长度大于212字节。

∙远程CPU通信区域不包括I、Q、M或V。

∙远程CPU的IP地址是非法的(0.0.0.0)。

∙远程CPU的IP地址为广播地址或组播地址。

∙远程CPU的IP地址与本地CPU的IP地址相同

∙远程CPU的IP地址位于不同的子网。

2

同一时刻处于激活状态的PUT/GET指令过多(仅允许16个)

3

无可以连接资源,当前所有的连接都在处理未完成的数据请求(S7-200SAMRTCPU主动连接资源数为8个)。

4

从远程CPU返回的错误:

∙请求或发送的数据过多。

∙STOP模式下不允许对Q存储器执行写入操作。

∙存储区处于写保护状态

5

与远程CPU之间无可用连接:

∙远程CPU无可用的被动连接资源(S7-200SMARTCPU被动连接资源数为8个)。

∙与远程CPU之间的连接丢失(远程CPU断电或者物理断开)。

6-9

预留

通信资源数量

S7-200SMARTCPU以太网端口含有8个PUT/GET主动连接资源和8个PUT/GET被动连接资源。

例如:

CPU1调用PUT/GET指令与CPU2~CPU9建立8主动连接的同时,可以与CPU10~CPU17建立8被动连接(CPU10~CPU17调用PUT/GET指令),这样的话CPU1可以同时与16台CPU(CPU2~CPU17)建立连接。

关于主动连接资源和被动连接资源的详细解释如下:

1、主动连接资源和被动连接资源

∙调用PUT/GET指令的CPU占用主动连接资源数;相应的远程CPU占用被动连接资源。

2、8个PUT/GET主动连接资源

∙S7-200SMARTCPU程序中可以包含远多于8个PUT/GET指令的调用,但是在同一时刻最多只能激活8个PUT/GET连接资源。

∙同一时刻对同一个远程CPU的多个PUT/GET指令的调用,只会占用本地CPU的一个主动连接资源和远程CPU的一个被动连接资源。

本地CPU与远程CPU之间只会建立一条连接通道,同一时刻触发的多个PUT/GET指令将会在这条连接通道上顺序执行。

∙同一时刻最多能对8个不同IP地址的远程CPU进行PUT/GET指令的调用,第9个远程CPU的PUT/GET指令调用将报错,无可用连接资源。

已经成功建立的连接将被保持,直到远程CPU断电或者物理断开。

3、8个PUT/GET被动连接资源

∙S7-200SMARTCPU调用PUT/GET指令,执行主动连接的同时也可以被动地被其他远程CPU进行通信读写。

∙S7-200SMART最多可以与被8个不同IP地址的远程CPU进行建立被动连接。

已经成功建立的连接将被保持,直到远程CPU断电或者物理断开。

指令编程举例

在下面的例子中,CPU1为主动端,其IP地址为192.168.2.100,调用PUT/GET指令;CPU2为被动端,其IP地址为192.168.2.101,不需调用PUT/GET指令,网络配置见图1。

通信任务是把CPU1的实时时钟信息写入CPU2中,把CPU2中的实时时钟信息读写到CPU1中。

图1CPU通信网络配置图

1、CPU1主动端编程

CPU1主程序中包含读取CPU实时时钟、初始化PUT/GET指令的TABLE参数表、调用PUT指令和GET指令等。

网络1:

读取CPU1实时时钟,存储到VB100~VB107。

图2读取CPU1实时时钟

 注:

READ_RTC指令用于读取CPU实时时钟指令,并将其存储到从字节地址T开始的8字节时间缓冲区中,数据格式为BCD码。

网络2:

定义PUT指令TABLE参数表,用于将CPU1的VB100~VB107传输到远程CPU2的VB0~VB7。

图3定义PUT指令TABLE参数表

∙a.定义通信状态字节

∙b.定义CPU2IP地址

∙c.定义CPU2的通信区域,从VB0地址开始

∙d.定义通信数据长度

∙e.定义CPU1的通信区域,从VB100地址开始

网络3:

定义GET指令TABLE参数表,用于将远程CPU2的VB100~VB107读取到CPU1的VB0~VB7。

图4定义GET指令TABLE参数表

∙a.定义通信状态字节

∙b.定义CPU2IP地址

∙c.定义CPU2的通信区域,从VB100地址开始

∙d.定义通信数据长度

∙e.定义CPU1的通信区域,从VB0地址开始

网络4:

调用PUT指令和GET指令。

图5调用PUT指令和GET指令

2、CPU2被动端编程

CPU2的主程序只需包含一条语句用于读取CPU2的实时时钟,并存储到VB100~VB107,如图6所示。

图6读取CPU2实时时钟

PUT/GET例程

为了更好地理解PUT/GET指令的编程,可参考下面的例程。

PUT_GET_CPU1.smart

PUT_GET_CPU2.smart

 注意:

此指令库/程序的作者和拥有者对于该软件的功能性和兼容性不负任何责任。

使用该软件的风险完全由用户自行承担。

由于它是免费的,所以不提供任何担保,错误纠正和热线支持,用户不必为此联系西门子技术支持与服务部门。

二:

S7-200SMARTCPUPUT/GET向导

在 S7-200SMARTCPU之间以太网通信 章节中CPU1的PUT/GET指令的编程可以使用PUT/GET向导以简化编程步骤。

该向导最多允许组态16项独立PUT/GET操作,并生成代码块来协调这些操作。

PUT/GET向导编程步骤

1、STEP7Micro/WINSMART在“工具”菜单的“向导”区域单击“Get/Put”按钮,启动PUT/GET向导(见图1)。

图1启动PUT/GET向导

2、在弹出的“Get/Put”向导界面中添加操作步骤名称并添加注释(见图2)。

图2添加PUT/GET操作

∙a.点击“添加”按钮,添加PUT/GET操作

∙b.为每个操作创建名称并添加注释

3、定义PUT/GET操作(见图3、图4)。

图3定义PUT操作

∙a.选择操作类型,PUT或GET

∙b.通信数据长度

∙c.定义远程CPU的IP地址

∙d.本地CPU的通信区域和起始地址

∙e.远程CPU的通信区域和起始地址

图4定义GET操作

∙a.选择操作类型,PUT或GET

∙b.通信数据长度

∙c.定义远程CPU的IP地址

∙d.本地CPU的通信区域和起始地址

∙e.远程CPU的通信区域和起始地址

4、定义PUT/GET向导存储器地址分配(见图5)。

图5分配存储器地址

 注:

点击“建议”按钮向导会自动分配存储器地址。

需要确保程序中已经占用的地址、PUT/GET向导中使用的通信区域与不能存储器分配的地址重复,否则将导致程序不能正常工作。

5、在图5中点击“生成”按钮将自动生成网络读写指令以及符号表。

只需用在主程序中调用向导所生成的网络读写指令即可(见图6)。

图6主程序中调用向导生成的网络读写指令

PUT/GET向导例程

为了更好地理解PUT/GET指令的编程,可参考下面的例程。

PUT_GET_CPU1.smart

PUT_GET_CPU2.smart

 注意:

此指令库/程序的作者和拥有者对于该软件的功能性和兼容性不负任何责任。

使用该软件的风险完全由用户自行承担。

由于它是免费的,所以不提供任何担保,错误纠正和热线支持,用户不必为此联系西门子技术支持与服务部门。

常见问题

1、S7-200SMARTCPU以太网通信端口支持哪些通信协议,是否支持TCP、UDP和ISOonTCP等开放式用户通信或ModbusTCP通信?

S7-200SMARTCPU以太网通信端口从V2.2固件支持TCP、UDP和ISOonTCP等开放式用户通信及ModbusTCP通信。

2、S7-200SMARTCPU标准型和紧凑型产品是否都支持GET/PUT通信?

S7-200SMARTCPU全系列产品都支持GET/PUT通信。

但是固件版本低于V2.0的产品不支持GET/PUT通信,CPU固件可以通过MicroSD卡进行升级。

3、S7-200SMARTCPU在同一时刻能否对同一个远程CPU调用多于8个GET/PUT指令?

同一时刻对同一个远程CPU可以调用多于8个GET/PUT指令。

同一时刻对同一个远程CPU调用多个GET/PUT指令只会占用1个GET/PUT主动连接资源,而不是8个主动连接资源。

4、为什么有些第三方触摸屏不能与STEP7-Micro/WINSMART软件同时访问S7-200SMARTCPU?

虽然S7-200SMARTCPU以太网端口具有25个连接资源,但是其中只有1个连接资源(PG连接资源)用于与STEP7-Micro/WINSMART软件的通信。

如果第三方触摸屏与S7-200SMARTCPU的连接也使用PG连接资源,就会造成第三方触摸屏不能与STEP7-Micro/WINSMART软件同时访问S7-200SMARTCPU。

5、GET/PUT指令可以传送的最大用户数据是多少?

GET指令可从远程站点读取最大222个字节的用户数据,PUT指令可向远程站点写入最大212个字节的用户数据;大数据量的用户数据通信可以调用多个GET/PUT指令来实现。

采用GET/PUT向导时每个操作的读写用户数据的最大个数为200个字节。

6、GET/PUT通信错误有哪些可能原因?

GET/PUT指令TABLE参数表的第一个字节提供了“错误代码”,用于排查错误原因。

GET/PUT指令故障可能原因:

●S7-200SMARTCPU固件版本较低,通信双方CPU固件都需要V2.0及以上版本。

●超出了本地CPU主动连接资源限制或远程CPU无可用的被动连接资源。

●GET/PUT指令TABLE参数定义错误。

●通信站点之间的物理连接出错。

二:

S7-200SMARTCPU与S7-300/400以太网接口进行S7通信

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

经过测试发现S7-300/400通过集成的PN口或CP343-1/CP443-1与S7-200SMARTPLC之间的S7通信也是可以成功的,但是需要S7-300/400侧编程调用PUT/GET指令。

注意:

1.S7-200SMARTCPU与S7-300/400CPU之间的S7通信未经西门子官方测试,本文档仅供客户测试使用,使用该种通信方式所产生的任何危险需要有客户自己承担!

2.S7-200SMARTPLCV2.0版本才开始支持PUT/GET通信,V1.0版本的CPU需要升级固件后方可支持PUT/GET。

3.S7-300/400若采用CP通信时,则需要采用Standard或Advanced类型通信模块,CP343-1Lean模块不支持。

 

4.本文仅介绍S7-300集成PN口与S7-200SMARTCPUS7通信。

S7通信介绍

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

S7-300/400通过以太网接口与S7-200SMARTPLC之间的S7通讯经过测试是可以成功的,但是需要S7-300/400侧编程调用PUT/GET指令,见表1所示。

表1PUT和GET:

S7-400

S7-300

描述

简要描述

SFB14

FB14

读数据

单边编程读访问。

SFB15

FB15

写数据

单边编程写访问。

S7-300/400根据使用通信接口(集成的PN口或CP343-1/CP443-1)不同,调用的功能块来源也不同。

通信接口为S7-300集成PN接口时,需要使用StandardLibrary中PUT/GET指令,如图1所示。

图1S7-300PN接口需采用StandardLibrary

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

 

图2S7-300CP模块接口需采用SIMATIC_NET_CP库

S7-400CPU不区分通信接口,需要使用SystemFunctionBlocks中的SFB14/SFB15指令块,如图3所示。

 

图3S7-400需采用SFB程序块

硬件及网络组态

本文以采用1个315-2PN/DP,1个S7-200SMARTPLC为例,介绍它们之间的S7通信。

 

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

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

如图4所示。

 

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

设置CPU315-2PN/DP的IP地址:

192.168.0.1,如图5所示。

硬件组态完成后,即可下载该组态。

 

图5设置CPUPNIP地址

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

步骤如图6所示。

 

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

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

 

图7组态新连接

在弹出的S7connection属性对话框中,勾选Establishanactiveconnection,设置Partneraddress:

192.168.0.2(S7-200SMARTPLCIP地址),如图8所示。

 

图8设置S7连接参数

点击"AddressDetails",再弹出来的对话框设置Partner的Slot为1,如图9所示。

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

 

图9设置“addressdetails”参数

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

 

图10保存并编译连接

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

 

图11下载组态连接

程序编程

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

打开SIMATIC315PN-1的OB1,在OB1中依次调用FB14,FB15如图12、图13所示:

图12FB14调用

表2.FB14参数说明:

参数

描述

数据类型

存储区

描述

REQ

INPUT

BOOL

I、Q、M、D、L

上升沿触发调用功能块

ID

INPUT

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-200SMART的数据地址中读取数据;V区数据对应DB1。

S7-300:

 

RD_1

S7-400:

 

RD_i

(1≤i≤4)

IN_OUT

ANY

S7-300:

M、D

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

本站接收数据地址

图13FB15调用

表3.FB15参数说明:

参数

描述

数据类型

存储区

描述

REQ

INPUT

BOOL

I、Q、M、D、L

上升沿触发调用功能块

ID

INPUT

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-200SMART的数据地址中读取数据;V区数据对应DB1。

S7-300:

 

SD_1

S7-400:

 

SD_i

(1≤i≤4)

IN_OUT

ANY

S7-300:

M、D

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

本站发送数据地址

   注意:

S7-200SMARTPLC不需要编程。

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

三:

S7-200SMARTCPU与S7-1200进行S7通信

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

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

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2