300plc之间以太网通信之欧阳计创编.docx
- 文档编号:2093762
- 上传时间:2022-10-26
- 格式:DOCX
- 页数:15
- 大小:1,018.09KB
300plc之间以太网通信之欧阳计创编.docx
《300plc之间以太网通信之欧阳计创编.docx》由会员分享,可在线阅读,更多相关《300plc之间以太网通信之欧阳计创编.docx(15页珍藏版)》请在冰豆网上搜索。
300plc之间以太网通信之欧阳计创编
S7-300和S7-400集成PN口的S7通信
时间:
2021.02.11
创作:
欧阳计
推荐文档:
西门子工程师推荐本文档!
∙文献
∙涉及产品
1.S7通信简介
S7通信是S7系列PLC基于MPI、PROFIBUS、ETHERNET网络的一种优化的通信协议,主要用于S7300/400PLC之间的通信。
SIMATICS7-PNCPU包含一个集成的PROFINET接口,该接口除了具有PROFINETI/O功能,还可以进行基于以太网的S7通信。
SIMATICS7-PNCPU支持无确认数据交换、确认数据交换和单边访问功能。
功能块的调用如图1、图2所示。
块
S7-400
块
S7-300
描述
简要描述
SFB8
FB8
用于发送
无确认的快速数据交换,发送数据后无对方接收确认。
SFB9
FB9
用于接收
SFB12
FB12
用于发送
确认数据交换,发送数据后有对方接收确认。
SFB13
FB13
用于接收
SFB14
FB14
读数据
单边编程读访问。
SFB15
FB15
写数据
单边编程写访问。
表1
图1
图2
要通过S7-PNCPU的集成PROFINET接口实现S7通信,需要在硬件组态中建立连接。
2.硬件及网络组态
CPU采用两个315-2PN/DP,使用以太网进行通信。
在STEP7中创建一个新项目,项目名称为PNS7。
插入两个S7-300站,在硬件组态中,分别插入CPU315-2PN/DP。
如图3所示。
图3
新建以太网,打开“NetPro”设置网络参数,选中CPU,在连接列表中建立新的连接。
如图4所示。
图4
然后双击该连接,设置连接属性。
在“General”属性中块参数ID=1,这个参数即是下面程序中的参数“ID”。
在SIMATIC315PN-1中激活“Establishanactiveconnection”,作为Client端,SIMATIC315PN-2作为Server端。
3.软件编程
3.1.无确认数据交换
SFB/FB8"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/FB9"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上完全相同。
打开SIMATIC315PN-1的OB1,在OB1中依次调用FB8,FB9如图5、图6所示:
图5
程序中的参数说明见表2
参数
描述
数据类型
存储区
描述
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、ZI、Q、M、D、T、C
发送数据区
表2FB8参数说明
图6
程序中的参数说明见表3
参数
参数
数据类型
存储区
描述
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、ZI、Q、M、D、T、Z
接收数据区
表3FB9参数说明
同样,在SIMATIC315PN-2的OB1中,调用FB8/FB9。
通信双方的“R_ID”均设为0。
将SIMATIC315PN-1的MB100-MB109赋值B#16#02,在SIMATIC315PN-2中,将FB9的“EN_R”置1,然后在SIMATIC315PN-1中,将FB8中“REQ”设置上升沿信号,此时SIMATIC315PN-2的MB110-MB119接收到B#16#02。
如图7所示。
图7
同理,将SIMATIC315PN-2的MB100-MB109赋值为B#16#03,SIMATIC315PN-1的MB110-MB119接收到B#16#03。
如图8所示。
图8
3.2.确认数据交换
SFB/FB12"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/FB13"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/FB13为止。
如果在数据的异步接收期间调用块,则将引发一个警告,该警告通过STATUS参数输出;如果当控制输入EN_R数值为0时进行调用,则接收将被终止,并且SFB/FB将返回到它的初始状态。
打开SIMATIC315PN-1的OB1,在OB1中依次调用FB12,FB13如图9、图10所示:
图9
程序中的参数说明见表4
参数
描述
数据类型
存储区
描述
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
发送数据的长度
表4FB12参数说明
图10
程序中的参数说明见表5
参数
描述
数据类型
存储区
描述
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
接收到的数据长度
表5FB13参数说明
同样,在SIMATIC315PN-2的OB1中,调用FB12/FB13。
通信双方的R_ID设为0,LEN设为10,将SIMATIC315PN-1的MB120-MB129赋值B#16#04,在SIMATIC315PN-2中,将FB13的“EN_R”置1,然后在SIMATIC315PN-1中,将FB12中“REQ”设置上升沿信号,此时SIMATIC315PN-2的MB130-MB139接收到B#16#04。
如图11所示。
图11
同理,将SIMATIC315PN-2的MB120-MB129赋值为B#16#05,SIMATIC315PN-1的MB130-MB139接收到B#16#05。
如图12所示。
图12
3.3.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 300 plc 之间 以太网 通信 欧阳 创编