使用OpenCommunication Wizard 建立开放式 TCP 通信Word格式.docx
- 文档编号:18201327
- 上传时间:2022-12-14
- 格式:DOCX
- 页数:16
- 大小:2.04MB
使用OpenCommunication Wizard 建立开放式 TCP 通信Word格式.docx
《使用OpenCommunication Wizard 建立开放式 TCP 通信Word格式.docx》由会员分享,可在线阅读,更多相关《使用OpenCommunication Wizard 建立开放式 TCP 通信Word格式.docx(16页珍藏版)》请在冰豆网上搜索。
依据RFC793的TCP协议,在STEP7”通讯块”的“标准库”(图1所示)中提供了下列FB,通过用户程序与符合以太网标准的通讯伙伴进行数据交换:
•用于分配连接参数的UDT65"
TCON_PAR"
•用于建立连接的FB65"
TCON"
•用于终止连接的FB66"
TDISCON"
•用于发送数据的FB63"
TSEND"
•用于接收数据的FB64"
TRCV"
OPENCommunicationWizard下载地址:
25209116
图1
解决方案
要通过S7-PNCPU的集成PROFINET接口实现开放的TCP通信,不能在硬件组态中完成,必须在一个数据块中指定每个连接的参数。
使用“OpenCommunicationWizard”工具可以简单明了地指定连接参数,该工具可将一个包含所有参数的UDT导出到您的STEP项目中。
使用该UDT可建立含有连接描述的数据块。
随后,需使用通信功能块FB65"
、FB66"
、FB63"
和FB64"
完成程序的编写。
2.系统配置
CPU采用两个315-2PN/DP,使用以太网进行通信,网络拓扑如图2所示:
图2
3.配置OPENCommunicationWizard
首先使用STEP7创建一个项目,名称为open_TCP_wizard,建立两个315PN/DP站。
安装并打开向导。
从路径“开始→Simatic→OpenCommunicationWizard→OpenCommunicationWizard”打开向导。
打开后如图3所示,点击下一步:
图3
在图4中选择STEP7项目以及块文件夹,点击下一步,如图5所示:
图4
图5
在图5中选择New,然后点击下一步,如图6所示:
图6
在图6中选择TCPnative,点击下一步,如图7所示:
图7
点击下一步,如图8所示:
图8
在图8中设置两个315PN/DP的“ConnectionID”“Connectionname”“Connectionestablishment”“IPaddress”“Usedinterface”,在本例中,将partnerA设置为Active,即为客户端。
PartnerB设置为Passive,即为服务器端。
对于“Unspecifiedconnectionpartner”,如果选中,则服务器端不指定客户端的IP地址;
如果不选中,则服务器端指定客户端的IP地址。
点击下一步,如图9所示:
图9
在图9中设定partnetB的端口号,本例中设置为2000。
点击下一步,如图10所示:
图10
在图10中分别定义用于TCP通信的数据连接结构的名称UDT65,以及在项目open_TCP_wizard中选择块文件夹。
点击下一步如图11所示,再点击下一步如图12所示:
图11
图12
编译无误后如图13所示:
图13
点击Finish完成向导的配置。
这样在项目open_TCP_wizard的块中生成了UDT65,如图14所示。
图14
4.在STEP7中为项目open_TCP_wizard编写程序
首先为Active端编写程序。
在SIMATIC315PN-1的块中创建DB101,定义一个变量DB_VAR,变量类型为UDT65。
如图15所示。
图15
在OB1中依次调用FB65,FB63,FB64,FB66,如图16,17,18,19所示:
图16
程序中的参数说明见表1
参数名
参数说明
REQ
上升沿触发建立通信连接
ID
连接ID
CONNECT
与变量类型为UDT65的变量相连
DONE
为1时,连接正确建立
BUSY
为1时,正建立连接
ERROR
为1时,有故障发生
STATUS
故障代码
表1FB65参数说明
图17
程序中的参数说明见表2
上升沿触发
LEN
数据发送的最大长度
DATA
数据发送的区域
表2FB63参数说明
图18
程序中的参数说明见表3
EN_R
为1时使能
接收区域的长度
接收数据区
NDR
为1时,接收完成
为1时,正在接收
RCVD_LEN
实际接收的数据长度
表3FB64参数说明
图19
程序中的参数说明见表4
为1时,断开连接完成
为1时,正断开连接
表4FB66参数说明
OB1编写完成后,SIMATIC315PN-1的程序块如图20所示:
图20
同理,为SIMATIC315PN-2站编写程序,与SIMATIC315PN-1类似,在DB101中定义数据类型为UDT65的变量,在OB1中调用FB65,FB63,FB64,FB66。
将硬件组态和程序分别下到两个S7300站中。
在cpu运行的情况下分别监控两个站OB1的状态。
首先在两个站的FB65中,将“REQ”置1,使连接建立。
然后将SIMATIC315PN-1MB100-MB109赋值B#16#12,同时在SIMATIC315PN-2站中将FB64的EN_R置1,接着在SIMATIC315PN-1的FB63中,将M0.2设置上升沿信号,此时SIMATIC315PN-2站的MB200-MB209接收到来自SIMATIC315PN-1站的数据B#16#12,如图21所示:
图21
同样的操作,将SIMATIC315PN-2的MB100-MB109赋值B#16#03,SIMATIC315PN-1的MB200-MB209接收到B#16#03,图22所示。
图22
5.常见问题
•→接收区的长度怎么指定?
如果LEN不为0,区域长度由LEN的值指定;
如果LEN为0,则由DATA参数长度信息指定。
•→接收功能块FB64的参数LEN怎么设置?
答:
接收器无法检测数据流中的某条消息在何处结束以及下一条消息在何处开始。
因此,建议将通讯伙伴接收功能块FB64的参数LEN设置为发送方FB63参数LEN的值,即通信双方发送区的长度与对方接收区的长度保持一致。
•→FB64有时显示故障代码80A1?
通信双方的通信连接未成功建立,先执行FB66,然后再次调用FB65。
•→FB65的DONE为什么一直为0?
在连接建立的很短时间DONE为1,然后复位到0,所以无法监控1的状态。
可以通过采集它的上升沿信号来获取。
•→FB65显示故障代码873A?
功能块没有正确关联变量类型为UDT65的参数。
检查所定义的变量以及相应的DB块。
引用声明
1.“SystemsoftwareforS7-300/400system-andstandardfunctions”手册1214574
2.生成使用OpenCommunicationWizard建立开放式TCP/IP通信所需的连接数据25209116
关键词:
开放式通信向导,PN接口,TCP,STEP7,编程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 使用OpenCommunication Wizard 建立开放式 TCP 通信 使用 OpenCommunication 建立 开放式
链接地址:https://www.bdocx.com/doc/18201327.html