如何实现两个scpu之间的以太网通信.pdf

上传人:b****1 文档编号:3210601 上传时间:2022-11-20 格式:PDF 页数:27 大小:836.10KB
下载 相关 举报
如何实现两个scpu之间的以太网通信.pdf_第1页
第1页 / 共27页
如何实现两个scpu之间的以太网通信.pdf_第2页
第2页 / 共27页
如何实现两个scpu之间的以太网通信.pdf_第3页
第3页 / 共27页
如何实现两个scpu之间的以太网通信.pdf_第4页
第4页 / 共27页
如何实现两个scpu之间的以太网通信.pdf_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

如何实现两个scpu之间的以太网通信.pdf

《如何实现两个scpu之间的以太网通信.pdf》由会员分享,可在线阅读,更多相关《如何实现两个scpu之间的以太网通信.pdf(27页珍藏版)》请在冰豆网上搜索。

如何实现两个scpu之间的以太网通信.pdf

如何实现两个如何实现两个S7-1200CPU之间的以太网通信之间的以太网通信HowtorealizetheEthernetcommunicationbetween2S7-1200CPUsGetting-StartedEdition(2009年年1月月)摘摘要要本文介绍了S7-1200CPU通过以太网通信的方法及详细步骤关键词关键词S7-1200,以太网,TCP,ISOonTCPKeyWordsS7-1200,Ethernet,TCP,ISOonTCPIA&DTService&SupportPage2-27目目录录1概述概述.41.1S7-1200的PROFINET通信口.41.2S7-1200支持的协议和最大的连接资源.41.3物理网络连接.52S7-1200CPU通过通过ETHERNET与与S7-1200CPU通信通信.62.1硬件和软件需求及所完成的通信任务.62.2创建新项目及建立逻辑连接.72.3TCP通信.92.3.1在PLC_1中调用并配置“TSEND_C”、“T_RCV”通信指令.92.3.2在PLC_2中调用并配置“TRCV_C”通信指令.152.3.3下载硬件组态及程序并监控通信结果.202.4ISOonTCP通信.202.4.1ISOonTCP协议通信连接参数的配置.202.4.2ISOonTCP动态长度数据传输.222.5T-block通信块的状态及错误代码.242.5.1T-block通信块的状态代码.242.5.2T-block通信块的错误代码.24IA&DTService&SupportPage3-271概述概述1.1S7-1200的PROFINET通信口S7-1200CPU本体上集成了一个PROFINET通信口,支持以太网和基于TCP/IP的通信标准。

使用这个通信口可以实现S7-1200CPU与编程设备的通信,与HMI触摸屏的通信,以及与其它CPU之间的通信。

这个PROFINET物理接口是支持10/100Mb/s的RJ45口,支持电缆交叉自适应,因此一个标准的或是交叉的以太网线都可以用于这个接口。

1.2S7-1200支持的协议和最大的连接资源S7-1200CPU的PROFINET通信口支持以下通信协议及服务TCPISOonTCP(RCF1006)S7通信(服务器端)通信口所支持的最大通信连接数S7-1200CPUPROFINET通信口所支持的最大通信连接数如下:

3个连接用于HMI(触摸屏)与CPU的通信1个连接用于编程设备(PG)与CPU的通信8个连接用于OpenIE(TCP,ISOonTCP)的编程通信,使用T-block指令来实现3个连接用于S7通信的服务器端连接,可以实现与S7-200,S7-300以及S7-400的以太网S7通信S7-1200CPU可以同时支持以上15个通信连接,这些连接数是固定不变的,不能自定义。

TCP(TransportConnectionProtocol)TCP是由RFC793描述的标准协议,可以在通信对象间建立稳定、安全的服务连接。

如果数据用TCP协议来传输,传输的形式是数据流,没有传输长度及信息帧的起始、结束信息。

在以数据流的方式传输时接收方不知道一条信息的结束和下一条信息的开始。

因此,发送方必须确定信息的结构让接收方能够识别。

在多数情况下TCP应用了IP(Internetprotocol),也就是“TCP/IP协议”,它位于ISO-OSI参考模型的第四层。

协议的特点:

与硬件绑定的高效通信协议适合传输中等到大量的数据(“PLC_1”“Deviceconfiguration”中,选中CPU,然后在下面的属性窗口中,“Properties”“Systemandclockmemory”下,将系统位定义在MB1,时钟位定义在MB0,如图4所示。

时钟位我们主要使用M0.3,它是以2Hz的速率在0和1之间切换的一个位。

可以使用它去自动激活发送任务。

IA&DTService&SupportPage7-27使能系统位的使用,放到MB1中。

使能时钟位的使用,放到MB0中。

图4系统位与时钟位为PROFINET通信口分配以太网地址在“DeviceView”中点击CPU上代表PROFINET通信口的绿色小方块,在下方会出现PROFINET接口的属性,在“Ethernetaddresses”下分配IP地址为192.168.0.1,子网掩码为255.255.255.0,如图5所示。

IA&DTService&SupportPage8-27设置IP地址及子网掩码地址图5分配IP地址同样方法,在同一个项目里添加另一个新设备S7-1200CPU并为其分配IP地址为192.168.0.2创建CPU之间的逻辑网络连接在项目树“Projecttree”“Devices&Networks”“Networksview”视图下,创建两个设备的连接。

用鼠标点中PLC_1上的PROFINET通信口的绿色小方框,然后拖拽出一条线,到另外一个PLC_2上的PROFINET通信口上,松开鼠标,连接就建立起来了,如图6所示。

图6建立两个CPU的逻辑连接2.3TCP通信2.3.1在PLC_1中调用并配置“TSEND_C”、“T_RCV”通信指令在PLC_1的OB1中调用“TSEND_C”通信指令IA&DTService&SupportPage9-27在第一个CPU中调用发送通信指令,进入“Projecttree”“PLC_1”“Programblocks”“OB1”主程序中,从右侧窗口“Instructions”“ExtendedInstructions”“Communications”下调用“TSEND_C”指令,并选择“SingleInstance”生成背景DB块。

然后单击指令块下方的“下箭头”,使指令展开显示所有接口参数,如图7所示。

图7调用“TSEND_C”通信指令定义PLC_1的“TSEND_C”连接参数PLC_1的TSEND_C指令的连接参数需要在指令下方的属性窗口“Properties”“Configuration”“Connectionparameter”中设置,如图8所示。

IA&DTService&SupportPage10-27图8定义TSEND_C连接参数连接参数说明:

Endpoint:

可以通过点击选择按钮选择伙伴CPU:

PLC_2Connectiontype:

选择通信协议为TCPConnectionID:

连接的地址ID号,这个ID号在后面的编程里会用到Connectiondata:

创建连接时,系统会自动生成本地的连接DB块,所有的连接数据都会存在这个DB块中。

通信伙伴的连接DB块,只有在对方(PLC_2)建立连接后才能生成,然后在本地(PLC_1)中才能通过选择按钮选择。

Activeconnectionsetup:

选择本地PLC_1作为主动连接Addressdetails:

定义通信伙伴方的端口号为:

2000;如果选用的是ISOonTCP协议,则需要设定的是TSAP地址(ASCII形式),本地PLC_1可以设置成“PLC1”,伙伴方PLC_2可以设置成“PLC2”。

定义PLC_1的“TSEND_C”发送通信块接口参数首先,根据所使用的接口参数定义符号表IA&DTService&SupportPage11-27在“Projecttree”“PLC_1”“PLCtags”中定义所使用的符号名,如图9所示。

图9定义所使用的符号表然后,创建并定义PLC_1的发送数据区DB块。

通过“Projecttree”“PLC_1”“Programblocks”“Addnewblock”,选择“Datablock”创建DB块,选择绝对寻址,点击“OK”键,定义发送数据区为100个字节的数组,如图10及图11所示。

IA&DTService&SupportPage12-27生成DB3不勾选符号寻址,选择绝对寻址。

选择生成DB图10创建发送数据区DB块注意:

注意:

对于双边编程通信的CPU,如果通信数据区使用DB块,既可以将DB块定义成符号寻址,也可以定义成绝对寻址。

使用指针寻址方式,必须创建绝对寻址的DB块。

图11定义发送数据区为字节类型的数组定义完通信数据区,继续定义PLC_1的“TSEND_C”发送通信块接口参数,如图12所示。

IA&DTService&SupportPage13-27图12定义TSEND_C接口参数参数说明:

输入接口参数:

REQ:

=“2Hz_clock”/使用2Hz的时钟脉冲,上升沿激活发送任务CONT:

=TRUE/建立连接并一直保持连接LEN:

=100/发送数据长度CONNECT:

=“PLC_1_Connection_DB”/连接数据DB块DATA:

=P#DB3.DBX0.0BYTE100/发送数据区的数据,使用指针寻址时,DB块要选用绝对寻址COM_RST:

=“T_C_COMR”/为1时,完全重启动通信块,现存的连接会中断输出接口参数:

DONE:

=“TSENDC_DONE”/任务执行完成并且没有错误,该位置1BUSY:

=“TSENDC_BUSY”/该位为1,代表任务未完成,不能激活新任务ERROR:

=“TSENDC_ERROR”/通信过程中有错误发生,该位置1STATUS:

=“TSENDC_STATUS”/有错误发生时,会显示错位信息号在PLC_1的OB1中调用接收指令T_RCV并配置基本参数为了实现PLC_1接收来自PLC_2的数据,则在PLC_1中调用接收指令T_RCV并配置基本参数。

IA&DTService&SupportPage14-27接收数据与发送数据使用同一连接,所以使用不带连接管理的T_RCV指令。

根据所使用的接口参数定义符号表,如图2-15所示。

配置接口参数,如图13所示:

图13调用TRCV指令并配置接口参数参数说明:

输入接口参数:

EN_R:

=TRUE/准备好接收数据ID:

=1/连接号,使用的是TSEND_C的连接参数中ConnectionID的参数地址LEN:

=1/接收数据长度为1个字节DATA:

=“Output_byte0”/接收数据区的符号地址输出接口参数:

NDR:

=“TRCV_NDR”/该位为1,接收任务成功完成BUSY:

=“TSENDC_BUSY”/该位为1,代表任务未完成,不能激活新任务ERROR:

=“TRCV_ERROR”/通信过程中有错误发生,该位置1STATUS:

=“TRCV_STATUS”/有错误发生时,会显示错误信息号RCVD_LEN:

=“TRCV_RCVD_LEN”/实际接收数据的字节数2.3.2在PLC_2中调用并配置“TRCV_C”通信指令同样方法,在PLC_2中调用“TRCV_C”通信指令,进入“Projecttree”“PLC_2”“Programblocks”“Main”主程序中,从右侧窗口

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

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1