欢迎来到众智博远官网网站!

7*24小时在线咨询电话

010-52873850

新闻资讯

contact us

24小时免费咨询热线

010-52873850

技术资讯

当前位置: 首页 >> 新闻资讯 >> 技术资讯

西门子S7-300/400与S7-200SMART之间的以太网S7通信-编程

发布时间:2019-08-24 来源:众智博远

可以通过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

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-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

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-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数据块的形式体现。