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

上传人:wj 文档编号:3430429 上传时间:2023-05-05 格式: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_第6页
第6页 / 共27页
如何实现两个scpu之间的以太网通信.pdf_第7页
第7页 / 共27页
如何实现两个scpu之间的以太网通信.pdf_第8页
第8页 / 共27页
如何实现两个scpu之间的以太网通信.pdf_第9页
第9页 / 共27页
如何实现两个scpu之间的以太网通信.pdf_第10页
第10页 / 共27页
如何实现两个scpu之间的以太网通信.pdf_第11页
第11页 / 共27页
如何实现两个scpu之间的以太网通信.pdf_第12页
第12页 / 共27页
如何实现两个scpu之间的以太网通信.pdf_第13页
第13页 / 共27页
如何实现两个scpu之间的以太网通信.pdf_第14页
第14页 / 共27页
如何实现两个scpu之间的以太网通信.pdf_第15页
第15页 / 共27页
如何实现两个scpu之间的以太网通信.pdf_第16页
第16页 / 共27页
如何实现两个scpu之间的以太网通信.pdf_第17页
第17页 / 共27页
如何实现两个scpu之间的以太网通信.pdf_第18页
第18页 / 共27页
如何实现两个scpu之间的以太网通信.pdf_第19页
第19页 / 共27页
如何实现两个scpu之间的以太网通信.pdf_第20页
第20页 / 共27页
亲,该文档总共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”主程序中,从右侧窗口“Instructions”“ExtendedIA&DTService&SupportPage15-27Instructions”“Communications”下调用“TRCV_C”指令,并选择“SingleInstance”生成背景DB块。

定义连接参数,PLC_2的“TRCV_C”指令的连接参数需要在指令下方的属性窗口“Properties”“Connectionparameter”中设置,如图14所示。

图14TRCV_C的连接参数配置连接参数的配置与TSEND_C的连接参数配置基本相似,各参数要与通信伙伴CPU对应设置。

定义接收通信块参数首先,创建并定义接收数据区DB块。

通过“Projecttree”“PLC_2”“Programblocks”“Addnewblock”,选择“Datablock”创建DB块,选择符号寻址,点击“OK”键,定义接收数据区为100个字节的数组,如图15及图16所示。

IA&DTService&SupportPage16-27定义符号名,因为DB块是符号寻址,程序中会用到生成DB3选择仅符号寻址选择生成DB图15创建接收数据区DB块图16定义接收区为100个字节的数组然后,定义所使用参数的符号地址,如图17所示。

IA&DTService&SupportPage17-27图17TRCV_C指令所使用的符号地址最后,定义接收通信块接口参数,如图18所示。

图18TRCV_C块参数配置参数配置:

输入接口参数:

EN_R:

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

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

=100/接收的数据长度为100个字节CONNECT:

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

=“PLC2_TRCVC_Data”.Static_1/接收数据区,DB块选用的是符号寻址IA&DTService&SupportPage18-27COM_RST:

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

DONE:

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

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

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

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

=“TRCVC_RCVLEN”/实际接收数据的字节数PLC_2将I/O输入数据IB0发送到PLC_1的输出QB0中,则在PLC_2中调用发送指令并配置块参数,发送指令与接收指令使用同一个连接,所以使用不带连接的发送指令T_SEND,如图19所示。

图19调用T_SEND指令并配置块接口参数参数说明:

输入接口参数:

REQ:

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

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

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

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

IA&DTService&SupportPage19-27DONE:

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

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

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

“TSEND_STATUS”/有错误发生时,会显示错误信息号2.3.3下载硬件组态及程序并监控通信结果下载两个CPU中的所有硬件组态及程序,从监控表中可以看到,PLC_1的TSEND_C指令发送数据:

“11”,“22”,“33”数据,PLC_2接收到数据:

“11”,“22”,“33”。

而PLC_2发送数据IB0为“0001_0001”,PLC_1接收数据到QB0也是“0001_0001”,如图20所示。

图20PLC_1及PLC_2的监控表2.4ISOonTCP通信使用ISOonTCP协议通信,除了连接参数的定义不同,其它组态编程与TCP协议通信完全相同。

2.4.1ISOonTCP协议通信连接参数的配置S7-1200CPU中,使用ISOonTCP协议通信时,PLC_1的连接参数如图21所示。

通信伙伴PLC_2的连接参数,如图22所示。

IA&DTService&SupportPage20-27图21PLC_1的ISOonTCP协议通信连接参数IA&DTService&SupportPage21-27图22PLC_2的ISOonTCP协议通信连接参数2.4.2ISOonTCP动态长度数据传输ISOonTCP协议支持动态长度的数据传输,而TCP协议只支持静态长度的数据传输。

而且只有使用符号寻址的ISOonTCP通信才支持动态数据长度传输。

使用符号寻址数据传输,需要数据块发送方和接收方的数据区结构一致。

通信数据区的定义发送方的数据块通信数据区定义为5个字节,如23所示IA&DTService&SupportPage22-27图23发送方数据块通信数据区的定义接收方的数据区也定义为5个字节,如图4.所示图24接收方数据块通信数据区的定义编程发送方的程序如图25所示,“LEN”参数要定义成变量。

图25发送方的编程接收方的程序如图所示,“LEN”参数赋一个常数“0”,以便实现动态数据长度传输。

IA&DTService&SupportPage23-27图26接收方的编程动态长度数据传输要实现动态长度数据传输,需要将接收方的数据长度设为0。

如果发送方数据长度“TSENDC_LEN设为3,则传送3个字节给接收方;如果要将数据区的全部数据传送,可以将发送方数据长度“TSENDC_LEN设为0.2.5T-block通信块的状态及错误代码2.5.1T-block通信块的状态代码表1状态代码错误状态(W#16#.)描述00000执行任务无错误07000没有激活的任务07001启动任务处理,建立连接,等待连接伙伴07002数据正在发送或接收07003连接中断07004连接建立并被监视,无激活的任务2.5.2T-block通信块的错误代码IA&DTService&SupportPage24-27表2错误代码错误状态(W#16#.)描述18070所有内部背景存储区在使用中18080输入的通信口ID号无效18081超时,模块错误,内部错误18085LEN参数值为0,或者大于允许值18086CONNECT参数在允许范围之外18087已经到达最大连接数,不允许额外的连接。

18088LEN参数大于DATA中所定义的长度;接收存储区太小。

18089CONNECT参数未指向DB块18090信息长度非法,模块非法,信息非法。

18091参数化信息版本错误18092参数化信息中非法的长度记录1809ACONNECT参数指向的区域不符合连接描述的长度1809B连接描述中的local_device_id与CPU不符180A1连接错误定义的连接还未建立定义的连接当前被结束;通过这个连接的传输不允许接口正在重新初始化180A3试图终止一个不存在的连接180A4远程伙伴连接的IP地址非法。

例如,远程IP与本地IP相同。

180A7通信错误:

在TCON指令完成前又调用了TDISCON。

180B2CONNECT参数指向了一个由关键字UNLINKED生成的DB块180B3参数不一致:

连接描述中有错误本地端口(参数local_tsap_id)已经在另一个连接中出现连接描述中的ID与参数定义的ID不同180B4当使用ISOonTCP建立一个被动连接时,错误代码警告你所输入的TSAP不符合下面的地址要求:

对于本地的一个2字节的TSAPID值,第一个字节可以是E0或是E1(十六进制),第二个字节是00或是01。

对于本地的三个字节或大于三个字节的TSAPID值,第一个字节可以是E0或是E1(十六进制),第二个字节是00或是01,所有其它字节应该是有效的ASCII字符。

对于本地的三个字节或大于三个字节的TSAPID值,如果第一个字节不是E0或E1(十六进制),那么所有TSAPID必须是有效的ASCII字符。

180C3所有连接资源都被使用了180C4临时通信错误:

此时无法建立连接接口正在接收新参数TDISCON当前正在删除已组态连接18722CONNECT参数:

源区域无效:

DB中不存在该区域1873ACONNECT参数:

无法访问连接描述(例如,DB不可用)1877FCONNECT参数:

内部错误,如无效ANY引用IA&DTService&SupportPage25-27如果您对该文档有任何建议,请将您的宝贵建议提交至如果您对该文档有任何建议,请将您的宝贵建议提交至下载中心留言板下载中心留言板。

该文档的文档编号:

该文档的文档编号:

A0421IA&DTService&SupportPage26-27附录推荐网址附录推荐网址自动化系统自动化系统西门子(中国)有限公司工业自动化与驱动技术集团客户服务与支持中心网站首页:

自动化系统下载中心下载中心:

http:

/自动化系统全球技术资源全球技术资源:

http:

/“找答案找答案”自动化系统版区:

http:

/通信通信/网络网络西门子(中国)有限公司工业自动化与驱动技术集团客户服务与支持中心网站首页:

通信/网络下载中心下载中心:

http:

/通信/网络全球技术资源全球技术资源:

http:

/“找答案找答案”Net版区:

http:

/注意事项注意事项应用示例与所示电路、设备及任何可能结果没有必然联系,并不完全相关。

应用示例不表示客户的具体解决方案。

它们仅对典型应用提供支持。

用户负责确保所述产品的正确使用。

这些应用示例不能免除用户在确保安全、专业使用、安装、操作和维护设备方面的责任。

当使用这些应用示例时,应意识到西门子不对在所述责任条款范围之外的任何损坏/索赔承担责任。

我们保留随时修改这些应用示例的权利,恕不另行通知。

如果这些应用示例与其它西门子出版物(例如,目录)给出的建议不同,则以其它文档的内容为准。

声明声明我们已核对过本手册的内容与所描述的硬件和软件相符。

由于差错难以完全避免,我们不能保证完全一致。

我们会经常对手册中的数据进行检查,并在后续的版本中进行必要的更正。

欢迎您提出宝贵意见。

版权西门子(中国)有限公司2001-2008版权保留复制、传播或者使用该文件或文件内容必须经过权利人书面明确同意。

侵权者将承担权利人的全部损失。

权利人保留一切权利,包括复制、发行,以及改编、汇编的权利。

西门子(中国)有限公司西门子(中国)有限公司IA&DTService&SupportPage27-27

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

当前位置:首页 > 工程科技 > 纺织轻工业

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

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