STEP7通讯中使用通讯功能块FC5和FC6.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
STEP7通讯中使用通讯功能块FC5和FC6

使用下面的通讯连接,在S7-300中的S7程序中,必须调用通信功能块 FC5 AG_SEND?和 FC6 AG_RECV 。 TCP?连接 ISO-on-TCP 连接 (RFC 1006) ISO? 传输连接 UDP 连接 FDL 连接 通信功能块 FC5 AG_SEND?和 FC6 AG_RECV?的特点 FC5和FC6是异步通信方式。 在本例中,是通过OB1调用这些功能块的 。(见 Entry ID:?2795485) 。 能够在OB1的几个循环中执行. FC5通过输入参数 ACT被激活。 由DONE或 ERROR表示工作结束状态。? AG_SEND?和 AG_RECV能够通过连接实时通信。? 在SIMATIC_NET_CP?库中 CP 300 Blocks,能够找到功能块 FC5 AG_SEND V4.2?和 FC6 AG_RCV V4.7。 示例程序 S7软件的SIMATIC_NET_CP?库中包含了通信功能块FC5 AG_SEND??和 FC6 AG_RCV ,FC5 AG_SEND是向另外的S7站,计算机站,或者第三方的系统发送数据。FC6 AG_RECV 是从另外的S7站,计算机站,或者第三方的系统接收数据。 示例程序通过ISO-on-TCP 连接演示了FC5 AG_SEND??和 FC6 AG_RCV 的功能。 首先在S7-300站中进行硬件配置。 注意Note: 设置MB10 作为时钟字节,时钟标记触发发送请求,保存和编译S7-300硬件配置并下载到CPU中。在本示例程序中使用了定时器T10。 在NetPro中配置通信连接,如果通信对象在同一个S7项目中被设置,那么就能够设置一个指定的通信连接;如果通信对象没有在同一个S7项目中被设置,那么一个非指定的通信连接可以被设置。当设置通信连接时,确保正确的IP地址或者PROFIBUS 地址,以及正确的接口,TSAP,或者LSAP,这些是在通信对象之间建立通信连接的条件。 在通信连接-? General属性对话框中,能够找到通信功能块 FC5 AG_SEND?和 FC6 AG_RECV输入参数ID?和 LADDR。 图一:设置通信连接 STEP7程序包含了OB100, OB1, FB200, DB200, DB201, FC5?和 FC6块。 OB100: OB100是CPU重新启动(热启动)块。在这个OB块中,通过标记M0.3 START-UP.使能首次通信。 OB1: OB1是循环调用块。调用参数(INIT_COM)为M0.3 START-UP的FB200(背景数据块:DB200),在FB200运行后,复位M0.3 START-UP。? 图二OB1?? FB200 OB1调用FB200,在FB200中调用通信功能块 FC5 AG_SEND?和 FC6 AG_RECV,在输入参数ACT输入一个上升沿,来触发发送请求。通过时钟标记M10.7和变量 SND_BUSY.来控制发送请求。如果发送请求正在运行,这时候SND_BUSY被置位,那么触发一个新的发送请求是不可能的。 这个互锁是非常重要的,因为通信是异步的,并且能够持续几个循环周期。持续的触发新的发送请求,而没有等待检查工作是否结束,这将会产生通信过载的错误。 输入参数ID?和 LADDR的值必须和通信连接的属性对话框中的参数一致(见图一)。在FC5的输入参数 SEND中,必须指定被发送的数据区域(发送缓冲区)的地址和长度,例如 P#DB201.DBX0.0 BYTE 100 。在输入参数 LEN中,需要输入被发送的字节长度(100)。输出参数DONE, ERROR和 STATUS用来表示同一个循环中通讯完成情况及状态。 图三FB200FC5 AG_SEND 调用 如果发送请求成功完成,SND_BUSY被复位,然后一个新的发送请求能够被再次触发。 如果发送请求产生错误,SND_BUSY同样被复位,并且FC5的STATUS 输出参数值作为错误记录被保存。 图四:FB200复位SND_BUSY 和保存STATUS 。 输入参数ID?和 LADDR的值必须和通信连接的属性对话框中的参数一致(见图一)。在FC6的输入参数 RECV中,必须指定接收的数据区域(接收缓冲区)的地址和长度,例如 P#DB201.DBX100.0 BYTE 100?。 图5:FB200调用FC6 AG_RECV 输出参数 NDR 是表示新数据是否被接收,输出参数LEN 表示接收数据的长度。 如果没有成功接收数据,输出参数的值将被保存和分析。 ? 图6 :FB200:FC6的状态和接收的数据的长度? 在FB200中,有对FC5 AG_SEND?和 FC6 AG_RCV产生的状态值的分析,在数据类型Structure.的变量STATISTIC

文档评论(0)

st4739288 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档