热门搜索:
西门子SM421数字量模块
1. S7通信简介
表1
要通过 S7-PN CPU 的 集成PROFINET 接口实现S7 通信,需要在硬件组态中建立连接。
新建以太网,打开“NetPro”设置网络参数,选中CPU,在连接列表中建立新的连接。如图4所示。
西门子SM421数字量模块
然后双击该连接,设置连接属性。在“General”属性中块参数ID = 1,这个参数即是下面程序中的参数“ID”。在SIMATIC 315PN-1中激活“Establish an active connection”,作为Client端,SIMATIC 315PN-2作为Server 端。
3.1. 无确认数据交换
程序中的参数说明见表2
表2 FB8参数说明
程序中的参数说明见表3
表3 FB9参数说明西门子SM421数字量模块
同理,将SIMATIC 315PN-2 的MB100-MB109赋值为B#16#03,SIMATIC 315PN-1的MB110-MB119接收到B#16#03。如图8所示。
3.2. 确认数据交换
程序中的参数说明见表4
表4 FB12参数说明
程序中的参数说明见表5
描述
要求
注意西门子SM421数字量模块
本条目提供的项目包含两个S7-1500 CPU的组态,并包含连接组态和用户程序。下载链接中的STEP 7(博途)项目包含两个S7-400站通过工业以太网通信 。
Station_1中的OB1包含计数器的程序,它的输出会传送到Station_2。
S7通信是S7系列PLC基于MPI、PROFIBUS、ETHERNET网络的一种优化的通信协议,主要用于S7300/400PLC之间的通信。SIMATIC S7- PN CPU包含一个集成的 PROFINET 接口,该接口除了具有 PROFINET I/O功能,还可以进行基于以太网的S7通信。SIMATIC S7- PN CPU支持无确认数据交换、确认数据交换和单边访问功能。功能块的调用如图1、图2所示。
块
S7-400
块
S7-300
描述
简要描述
SFB 8
FB 8
用于发送
无确认的快速数据交换,发送数据后无对方接收确认。
SFB 9
FB 9
用于接收
SFB 12
FB 12
用于发送
确认数据交换,发送数据后有对方接收确认。
SFB 13
FB 13
用于接收
SFB 14
FB 14
读数据
单边编程读访问。
SFB 15
FB 15
写数据
单边编程写访问。
图1
图2
2. 硬件及网络组态
CPU采用两个315-2PN/DP,使用以太网进行通信。
在STEP7中创建一个新项目,项目名称为PN S7。插入两个S7-300站,在硬件组态中,分别插入CPU 315-2 PN/DP。如图3所示。
图3
图4
3. 软件编程
SFB/FB 8 "USEND" 向类型为“URCV”的远程伙伴SFB/FB发送数据。执行发送过程而不需要和SFB/FB伙伴进行协调。也就是说,在进行数据传送时不需要伙伴SFB/FB进行确认。
S7-300:在REQ的上升沿处发送数据。在REQ的每个上升沿处传送参数R_ID、
ID和SD_1。在每个作业结束之后,可以给R_ID、ID和SD_1参数分配新数值。
S7-400:在控制输入REQ的上升沿处发送数据。通过参数SD_1到SD_4来指向要
发送的数据,但并非都需要用到所有四个发送参数。
然而,必须确保参数SD_1到SD_4/SD_1和RD_1到RD_4/RD_1 (在相应通讯伙
伴SFB/FB "URCV" 上)所定义的区域在以下几个方面保持一致:
? ?编号
? ?长度
? ?数据类型
参数R_ID必须在两个SFB中完全相同。如果传送成功完成,则通过状态参数DONE来表示,此时其逻辑数值为1。
SFB/FB 9 "URCV" 从类型为“USEND”的远程伙伴SFB/FB中异步接收数据,并
把接收到的数据复制到组态的接收区域内。
当程序块准备好接收数据时,EN_R输入处的逻辑值为1。可以通过EN_R=0来取
消一个已激活的作业。
S7-300:在EN_R的每个上升沿处应用参数R_ID、ID和RD_1。在每个作业结束
之后,可以给R_ID、ID和RD_1参数分配新数值。
S7-400:通过参数RD_1到RD_4来指向接收数据区。
必须确保参数RD_i/RD_1和SD_i/SD_1 (在相应通讯伙伴SFB/FB "USEND"
上)所定义的区域在以下几个方面保持一致:
?? 编号
? ?长度
? ?数据类型。
通过NDR状态参数逻辑数值为1来指示已经成功完成复制处理过程。参数R_ID必须在两个SFB/FB上完全相同。
打开SIMATIC 315PN-1的OB1,在OB1中依次调用FB8,FB9如图5、图6所示:
图5
参数
描述
数据类型
存储区
描述
REQ
INPUT
BOOL
I、Q、M、D、L
上升沿触发工作
ID
INPUT
WORD
M、D、常数
连接ID
R_ID
INPUT
DWORD
I、Q、M、D、L、常数
连接号,相同连接号的功能块互相对应发送/接收数据
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:
SD_1
S7-400:
SD_i
(1 ≤ i ≤ 4)
IN_OUT
ANY
M、D、T、Z I、Q、M、D、T、C
发送数据区
图6
参数
参数
数据类型
存储区
描述
EN_R
INPUT
BOOL
I、Q、M、D、L、常数
为1时,准备接收
ID
INPUT
WORD
M、D、常数
连接ID
R_ID
INPUT
DWORD
I、Q、M、D、L、常数
连接号,相同连接号的功能块互相对应发送/接收数据
NDR
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:
RD_1
S7-400:
RD_i
(1 ≤ i ≤ 4)
IN_OUT
ANY
M、D、T、Z I、Q、M、D、T、Z
接收数据区
同样,在SIMATIC 315PN-2的OB1中,调用FB8/FB9。通信双方的“R_ID”均设为0。将SIMATIC 315PN-1的MB100-MB109赋值B#16#02,在SIMATIC 315PN-2中,将FB9的“EN_R”置1,然后在SIMATIC 315PN-1中,将FB8中“REQ”设置上升沿信号,此时SIMATIC 315PN-2的MB110-MB119接收到B#16#02。如图7所示。
图7
图8
SFB/FB 12 "BSEND" 向类型为“BRCV”的远程伙伴SFB/FB发送数据。通过这种
类型的数据传送,更多的数据可以在通讯伙伴之间传输,**过任何其它用于组态的
S7连接的通讯SFB/FB所能传输的数据量,通过集成PN口的S7-400和S7-300是65534字节。
要发送的数据区是分段的。各个分段单独发送给通讯伙伴。通讯伙伴在接收到较后
一个分段时对此分段进行确认,该过程与相应SFB/FB "BRCV" 的调用无关。在调用块之后,当在控制输入REQ上有上升沿时,发送作业被激活。发送用户存储区中的数据与处理用户程序是异步执行的。
由SD_1*起始地址和要发送数据的较大长度。可以通过LEN来确定数据域的作业*长度。在这种情况下,LEN替换SD_1的长度区域。参数R_ID必须在相应的两个SFB/FB上完全相同。如果在控制输入R处有上升沿,则当前数据传送将被取消。如果传送成功完成,则通过将状态参数DONE的数值设置为1来进行指示。如果状态参数DONE或ERROR的数值为1,则在**个发送处理结束之前,不能处理新的发送作业。
SFB/FB 13 "BRCV" 接收来自类型为“BSEND”的远程伙伴SFB/FB的数据。在收
到每个数据段后,向伙伴SFB/FB发送一个确认帧,同时更新LEN参数。在块调用完毕,并且在控制输入EN_R数值为1之后,块准备接收数据。可以通过EN_R=0来取消一个已激活的作业。
由RD_1*起始地址和接收区的较大长度。由LEN指示已接收数据域的长度。
从用户存储区中接收数据与处理用户程序是异步执行的。参数R_ID必须在相应的两个SFB/FB上完全相同。通过状态参数NDR的数值为1来指示所有数据段的无错接收。接收到的数据保持不变,直到通过EN_R=1来重新调用SFB/FB 13为止。如果在数据的异步接收期间调用块,则将引发一个警告,该警告通过STATUS参数输出;如果当控制输入EN_R数值为0时进行调用,则接收将被终止,并且SFB/FB将返回到它的初始状态。
打开SIMATIC 315PN-1的OB1,在OB1中依次调用FB12,FB13如图9、图10所示:
图9
参数
描述
数据类型
存储区
描述
REQ
INPUT
BOOL
I、Q、M、D、L
上升沿触发工作
R
INPUT
BOOL
I、Q、M、D、L、常数
复位,终止数据交换
ID
INPUT
WORD
M、D、常数
连接ID
R_ID
INPUT
DWORD
I、Q、M、D、L、常数
连接号,相同连接号的功能块互相对应发送/接收数据
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
状态代码
SD_1
IN_OUT
ANY
S7-300:M、DS7-400:I、Q、M、D、T、Z
发送数据区
LEN
IN_OUT
WORD
I、Q、M、D、L
发送数据的长度
图10
参数
描述
数据类型
存储区
描述
EN_R
INPUT
BOOL
I、Q、M、D、L、常数
为1时,准备接收
ID
INPUT
WORD
M、D、常数
连接ID
R_ID
INPUT
DWORD
I、Q、M、D、L、常数
连接号,相同连接号的功能块互相对应发送/接收数据
NDR
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
状态代码
RD_1
IN_OUT
ANY
S7-300:M、DS7-400:I、 Q、M、D、T、C
接收数据区
LEN
IN_OUT
WORD
I、Q、M、D、L
接收到的数据长度
S7-PLCSIM 支持以下通讯块来做两个S7-400 CPU模块间的通信:
本条目提供的项目包含两个S7-1500 CPU的组态,并包含连接组态和用户程序。
图. 1
图. 2
图. 3
6GT28011AB100AX0
6GT28900AA00
6GT28918FE50
6GT28980AA00
6GT28980AA10
6GT28980AA20
6GT28980BA00
6GT28980DB00
6GT28980EA00
6GT28984AA00
6GT20910FH100AX0
6GT20910FH200AX0
6GT23910AH30
6GT24911HH50
6GT20904AN50
6GT20904AT12
6GT20904AT80
6GT20914EH20
6GT20914EH50
6GT20914EN10
6GT20914EN20
6GT20914EN50
6GT20914FH20
6GT20914FH50
6GT20914LH20
6GT20914LH50
6GT20914LN10
6GT20916EH20
6GT20916EH50
6GT20916EN10
6GT20916EN50
6GT24914EH50
6GT24914EN20
6GT24914EN50
6GT25915AH50
6GT25915CH50
6GT25915CN20
6GT26914BH50
6GT26914BN20
6GT26914FH20
6GT26910CH33
6GT26910CN10
6GT26910DH72
6GT28150BH10
6GT28150BH30
6GT28150BN10
6GT28150BN20
6GT28150BN40
6GT28151BN10
6GT28152BH50
6GT28152BN15
6GT28910CH50
6GT28910DH50
6GT28910NH50
6GT28911HN10
6GT28914EH20
6GT28914EH50
6GT28914FH20
6GT28914FH50
6GT28914FN10
6GT28914FN20
6GT28914FN50
6GT28914JH20
6GT28914JH50
6GT28914JN10
6GT28914KH50
6GT28914KH500AX0
6GT28914LH50
6GT28914LN10
6GT28910MH50
6GT28910MN10
6GT28910PH50
6GT23981CA00
6GT23981CA10
6GT23981CA100AX0
6GT23981CA200AX0
6GT23981CB00
6GT23981CC00
6GT23981CD00
6GT23981CD100AX0
6GT23981CD200AX0
6GT23981CD300AX0
6GT23981CD400AX0
6GT23981CE00
6GT23981CE000AX0
6GT23981CF00
6GT23981CF10
6GT28120AA00
6GT28120AA01
6GT28121EA00
6GT28121EA01
6GT28120GA08
6GT28121GA08
6GT28900BB00
6GT28900BB10
6GT28900BB20
6GT26985AA10
6GT26985AB00
6GT26985AF00
西门子SM421数字量模块