ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:1,017.91KB ,
资源ID:74254      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-74254.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(300plc之间以太网通信.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

300plc之间以太网通信.docx

1、300plc之间以太网通信S7-300和S7-400集成PN口的S7通信欧阳光明(2021.03.07)推荐文档: 西门子工程师推荐本文档!文献涉及产品1. S7通信简介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-

2、300描述简要描述SFB 8FB 8用于发送无确认的快速数据交换,发送数据后无对方接收确认。SFB 9FB 9用于接收SFB 12FB 12用于发送确认数据交换,发送数据后有对方接收确认。SFB 13FB 13用于接收SFB 14FB 14读数据单边编程读访问。SFB 15FB 15写数据单边编程写访问。表1图1图2要通过 S7-PN CPU 的集成PROFINET 接口实现S7 通信,需要在硬件组态中建立连接。2. 硬件及网络组态CPU采用两个315-2PN/DP,使用以太网进行通信。在STEP7中创建一个新项目,项目名称为PN S7。插入两个S7-300站,在硬件组态中,分别插入CPU 3

3、15-2 PN/DP。如图3所示。图3新建以太网,打开“NetPro”设置网络参数,选中CPU,在连接列表中建立新的连接。如图4所示。图4然后双击该连接,设置连接属性。在“General”属性中块参数ID = 1,这个参数即是下面程序中的参数“ID”。在SIMATIC 315PN-1中激活“Establish an active connection”,作为Client端,SIMATIC 315PN-2作为Server 端。3. 软件编程3.1. 无确认数据交换SFB/FB 8 USEND 向类型为“URCV”的远程伙伴SFB/FB发送数据。执行发送过程而不需要和SFB/FB伙伴进行协调。也就

4、是说,在进行数据传送时不需要伙伴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中完全相同。如果传送成功完成,则通过状态参数

5、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上)所定义的区域在以下几个方面保持一致: 编号 长

6、度 数据类型。通过NDR状态参数逻辑数值为1来指示已经成功完成复制处理过程。参数R_ID必须在两个SFB/FB上完全相同。打开SIMATIC 315PN-1的OB1,在OB1中依次调用FB8,FB9如图5、图6所示:图5程序中的参数说明见表2参数描述数据类型存储区描述REQINPUTBOOLI、Q、M、D、L上升沿触发工作IDINPUTWORDM、D、常数连接IDR_IDINPUTDWORDI、Q、M、D、L、常数连接号,相同连接号的功能块互相对应发送/接收数据DONEOUTPUTBOOLI、Q、M、D、L为1时,发送完成ERROROUTPUTBOOLI、Q、M、D、L为1时,有故障发生STA

7、TUSOUTPUTWORDI、Q、M、D、L状态代码S7-300:SD_1S7-400:SD_i(1 i 4)IN_OUTANYM、D、T、Z I、Q、M、D、T、C发送数据区表2 FB8参数说明图6程序中的参数说明见表3参数参数数据类型存储区描述EN_RINPUTBOOLI、Q、M、D、L、常数为1时,准备接收IDINPUTWORDM、D、常数连接IDR_IDINPUTDWORDI、Q、M、D、L、常数连接号,相同连接号的功能块互相对应发送/接收数据NDROUTPUTBOOLI、Q、M、D、L为1时,接收完成ERROROUTPUTBOOLI、Q、M、D、L为1时,有故障发生STATUSOUT

8、PUTWORDI、Q、M、D、L状态代码S7-300:RD_1S7-400:RD_i(1 i 4)IN_OUTANYM、D、T、Z I、Q、M、D、T、Z接收数据区表3 FB9参数说明同样,在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同

9、理,将SIMATIC 315PN-2 的MB100-MB109赋值为B#16#03,SIMATIC 315PN-1的MB110-MB119接收到B#16#03。如图8所示。图83.2. 确认数据交换SFB/FB 12 BSEND 向类型为“BRCV”的远程伙伴SFB/FB发送数据。通过这种类型的数据传送,更多的数据可以在通讯伙伴之间传输,超过任何其它用于组态的S7连接的通讯SFB/FB所能传输的数据量,通过集成PN口的S7-400和S7-300是65534字节。要发送的数据区是分段的。各个分段单独发送给通讯伙伴。通讯伙伴在接收到最后一个分段时对此分段进行确认,该过程与相应SFB/FB BRCV

10、 的调用无关。在调用块之后,当在控制输入REQ上有上升沿时,发送作业被激活。发送用户存储区中的数据与处理用户程序是异步执行的。由SD_1指定起始地址和要发送数据的最大长度。可以通过LEN来确定数据域的作业指定长度。在这种情况下,LEN替换SD_1的长度区域。参数R_ID必须在相应的两个SFB/FB上完全相同。如果在控制输入R处有上升沿,则当前数据传送将被取消。如果传送成功完成,则通过将状态参数DONE的数值设置为1来进行指示。如果状态参数DONE或ERROR的数值为1,则在前一个发送处理结束之前,不能处理新的发送作业。SFB/FB 13 BRCV 接收来自类型为“BSEND”的远程伙伴SFB/

11、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参数输出;如果当控制输入

12、EN_R数值为0时进行调用,则接收将被终止,并且SFB/FB将返回到它的初始状态。打开SIMATIC 315PN-1的OB1,在OB1中依次调用FB12,FB13如图9、图10所示:图9程序中的参数说明见表4参数描述数据类型存储区描述REQINPUTBOOLI、Q、M、D、L上升沿触发工作RINPUTBOOLI、Q、M、D、L、常数复位,终止数据交换IDINPUTWORDM、D、常数连接IDR_IDINPUTDWORDI、Q、M、D、L、常数连接号,相同连接号的功能块互相对应发送/接收数据DONEOUTPUTBOOLI、Q、M、D、L为1时,发送完成ERROROUTPUTBOOLI、Q、M、D

13、、L为1时,有故障发生STATUSOUTPUTWORDI、Q、M、D、L状态代码SD_1IN_OUTANYS7-300:M、DS7-400:I、Q、M、D、T、Z发送数据区LENIN_OUTWORDI、Q、M、D、L发送数据的长度表4 FB12参数说明图10程序中的参数说明见表5参数描述数据类型存储区描述EN_RINPUTBOOLI、Q、M、D、L、常数为1时,准备接收IDINPUTWORDM、D、常数连接IDR_IDINPUTDWORDI、Q、M、D、L、常数连接号,相同连接号的功能块互相对应发送/接收数据NDROUTPUTBOOLI、Q、M、D、L为1时,接收完成ERROROUTPUTBO

14、OLI、Q、M、D、L为1时,有故障发生STATUSOUTPUTWORDI、Q、M、D、L状态代码RD_1IN_OUTANYS7-300:M、DS7-400:I、 Q、M、D、T、C接收数据区LENIN_OUTWORDI、Q、M、D、L接收到的数据长度表5 FB13参数说明同样,在SIMATIC 315PN-2的OB1中,调用FB12/FB13。通信双方的R_ID设为0,LEN设为10,将SIMATIC 315PN-1的MB120-MB129赋值B#16#04,在SIMATIC 315PN-2中,将FB13的“EN_R”置1,然后在SIMATIC 315PN-1中,将FB12中“REQ”设置上

15、升沿信号,此时SIMATIC 315PN-2的MB130-MB139接收到B#16#04。如图11所示。图11同理,将SIMATIC 315PN-2 的MB120-MB129赋值为B#16#05,SIMATIC 315PN-1的MB130-MB139接收到B#16#05。如图12所示。图123.3. 单边访问可以通过SFB/FB 14 GET,从远程CPU中读取数据。S7-300:在REQ的上升沿处读取数据。在REQ的每个上升沿处传送参数ID、ADDR_1和RD_1。在每个作业结束之后,可以分配新数值给ID、ADDR_1和RD_1参数。S7-400:在控制输入REQ的上升沿处启动SFB。在此过

16、程中,将要读取的区域的相关指针(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的上升沿处发送

17、数据。在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可以处于R

18、UN或STOP模式。如果正在写入数据时发生访问故障,或如果执行检查过程中出错,则出错和警告信息将通过ERROR和STATUS输出表示。打开SIMATIC 315PN-1的OB1,在OB1中依次调用FB14,FB15如图13、图14所示:图13参数描述数据类型存储区描述REQINPUTBOOLI、Q、M、D、L上升沿触发调用功能块IDINPUTWORDM、D、常数地址参数IDERROROUTPUTBOOLI、Q、M、D、L接收到新数据STATUSOUTPUTWORDI、Q、M、D、L故障代码S7-300:ADDR_1S7-400:ADDR_i(1 i 4)IN_OUTANYM、DI、Q、M、D、

19、T、C从通信对方的数据地址中读取数据S7-300:RD_1S7-400:RD_i(1 i 4)IN_OUTANYS7-300:M、DS7-400 I、Q、M、D、T、C本站接收数据地址表6 FB14参数说明图14参数描述数据类型存储区描述REQINPUTBOOLI、Q、M、D、L上升沿触发调用功能块IDINPUTWORDM、D、常数地址参数DONEOUTPUTBOOLI、Q、M、D、L为1时,发送完成ERROROUTPUTBOOLI、Q、M、D、L为1时,有故障发生STATUSOUTPUTWORDI、Q、M、D、L故障代码S7-300:ADDR_1S7-400:ADDR_i(1 i 4)IN_

20、OUTANYM、DI、Q、M、D、T、C通信对方的数据接收地址S7-300:SD_1S7-400:SD_i(1 i 4)IN_OUTANYS7-300:M、DS7-400 I、Q、M、D、T、C本站发送数据地址表7 FB15参数说明同样,在SIMATIC 315PN-2的OB1中,调用FB14/FB15。将SIMATIC 315PN-2的MB140-MB149赋值B#16#06,在SIMATIC 315PN-1中,将FB14的“REQ”置上升沿信号,此时SIMATIC 315PN-1的MB150-MB159接收到B#16#06。如图15所示。图15将SIMATIC 315PN-1的MB140-

21、MB149赋值B#16#08,在SIMATIC 315PN-2中,将FB14的“REQ”置上升沿信号,此时SIMATIC 315PN-2的MB150-MB159接收到B#16#08。如图16所示。图16将SIMATIC 315PN-1的MB170-MB179赋值B#16#07,将FB15的“REQ”置上升沿信号,此时SIMATIC 315PN-2的MB160-MB169接收到B#16#07。如图17所示。图17将SIMATIC 315PN-2的MB170-MB179赋值B#16#11,将FB15的“REQ”置上升沿信号,此时SIMATIC 315PN-1的MB160-MB169接收到B#16#11。如图18所示。图184. 常见问题 两个S7-300PN CPU之间建立S7连接可有哪些通信方式?答:可以有确认连接、非确认连接、单边通信 使用FB8/9时,数据已发送,程序块没有错误显示,但是没收到任何数据?答:发送区与接收缓冲区长度不一致。 使用FB12/13时,发送区与接收缓冲区长度是否必须一致?答:发送区的大小只要不超过接收缓冲区就可以。 FB12发送数据时,发送数据的长度由哪个参数决定?答:发送长度由LEN决定。但发送数据的起始地址和最大长度由SD_1决定。

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

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