怎样使用通讯功能块FC5和FC6

上传人:千****8 文档编号:204047623 上传时间:2021-10-24 格式:DOC 页数:8 大小:192KB
返回 下载 相关 举报
怎样使用通讯功能块FC5和FC6_第1页
第1页 / 共8页
怎样使用通讯功能块FC5和FC6_第2页
第2页 / 共8页
怎样使用通讯功能块FC5和FC6_第3页
第3页 / 共8页
怎样使用通讯功能块FC5和FC6_第4页
第4页 / 共8页
怎样使用通讯功能块FC5和FC6_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《怎样使用通讯功能块FC5和FC6》由会员分享,可在线阅读,更多相关《怎样使用通讯功能块FC5和FC6(8页珍藏版)》请在金锄头文库上搜索。

1、个人收集整理 勿做商业用途怎样使用通讯功能块FC5和FC6?表01说明了通过通信处理器(CP)有哪些通信连接可用来做数据交换,以及CP所支持的通信连接。使用表01中列出的任一通信连接通信时,在S7-300的S7程序中 必须调用通信功能块 FC5 ”AG_SEND” 和FC6 AG_RECV” .通信连接CP订货号备注 TCP 连接 ISOonTCP 通信(RFC 1006) UDP 连接CP3431Lean6GK7343-1CX10-0XE06GK73431CX000XE0关于TCP, ISOon-TCP (RFC 1006) 和UDP 协议的更多信息请参考条目号 26171811,26484

2、227 和26484229。CP343-1Standard6GK7343-1EX300XE06GK73431EX21-0XE06GK73431EX20-0XE06GK7343-1EX110XE0CP343-1Advanced6GK73431GX30-0XE06GK73431GX31-0XE06GK73431GX21-0XE0CP343-1 IT6GK73431GX200XE06GK7343-1GX110XE0 ISO 传输连接CP3431Standard6GK73431EX210XE06GK73431EX300XE06GK73431EX11-0XE0关于 ISO 传输协议的更多信息请参考条目号

3、 26582267。CP343-1Advanced6GK7343-1GX31-0XE06GK7343-1GX30-0XE06GK73431GX210XE0CP3431 IT6GK7343-1GX110XE0 FDL 连接CP34256GK7342-5DA030XE06GK7342-5DA02-0XE06GK7342-5DA010XE06GK7342-5DA00-0XE0关于FDL 协议的更多信息请参考条目号 26098555。CP3425 FO6GK73425DF000XE0CP34356GK73435FA01-0XE06GK73435FA00-0XE0表 01 通信功能块 FC5 AG_SE

4、ND 和 FC6 ”AG_RECV的特点 FC5和FC6是异步通信方式。 在本例中,通过OB1调用这些功能块 。(见 Entry ID: 2795485) 。 它们的执行可能需要多个OB1循环。 FC5通过输入参数 ”ACT激活。 由DONE或 ”ERROR表示任务结束。 AG_SEND 和 AG_RECV能够同时通过同一连接通信. 最新版本的功能块 FC5 ”AG_SEND” 和 FC6 ”AG_RCV”可以在SIMATIC_NET_CP 库中 ”CP 300 Blocks下找到 。示例程序说明示例S7程序包含从SIMATIC_NET_CP 库中对通信功能块FC5 ”AG_SEND” 和 F

5、C6 AG_RCV”的调用。FC5 ”AG_SEND”用于向另外的S7站、计算机站或者第三方的系统发送数据。FC6 AG_RECV” 用于从另外的S7站、计算机站或者第三方的系统接收数据。示例程序演示了通过ISO-onTCP 连接通信时FC5 AG_SEND 和 FC6 ”AG_RCV 的功能。首先创建S7300站的硬件配置。注意设置MB10 作为时钟标记,发送请求由此时钟标记触发,保存和编译S7300硬件配置并下载到CPU中.在本示例程序中使用了定时器T10。在NetPro中为CPU配置上述的通信功能块。如果通信对象组态在同一个S7项目中,那么就能够配置一个指定的通信连接;如果通信对象没有作

6、为一个S7站组态在同一个S7项目中,那么可以配置一个非指定的通信连接。当配置通信连接时,确保指定了正确的IP地址或者PROFIBUS 地址,以及正确的端口、TSAP,或者LSAP,这些用于在通信对象之间正确识别通信连接。通信功能块 FC5 ”AG_SEND” 和 FC6 AG_RECV必须使用的输入参数“ID”和“LADDR”在通信连接的属性 General对话框中可以找到。 图 01示例 STEP7 程序包含了OB100, OB1, FB200, DB200, DB201, FC5 和 FC6块。OB100OB100是启动OB,在CPU重新启动(暖启动)时执行。在这个OB块中,首次通信的触发

7、位M0.3 START-UP被使能。OB1OB1是循环调用块.FB200(背景数据块:DB200)在OB1中调用,M0.3 ”STARTUP”作为调用参数(INIT_COM)的实参,在FB200运行后,复位M0。3 ”STARTUP。 图 02FB200OB1循环调用FB200。在FB200中调用通信功能块 FC5 ”AG_SEND” 和 FC6 AG_RECV”FC5 ”AG_SEND 参数在输入参数ACT”输入一个上升沿,来触发发送请求。通过时钟位M10.7和变量SND_BUSY.来控制发送请求。如果发送请求正在运行,SND_BUSY”被置位,不可能再触发一个新的发送请求。这个互锁是非常重

8、要的,因为通信是异步的,能够持续几个循环周期.持续触发新的发送请求,而没有等待检查任务是否结束或因出错而停止,将会导致通信过载。输入参数ID” 和 ”LADDR”的值必须和NetPro中通信连接的属性对话框中的参数一致(见图1).在FC5的输入参数 SEND中,必须指定被发送的数据区域的地址和长度,它包含要发送的数据(发送缓冲区),例如 PDB201.DBX0。0 BYTE 100 .在输入参数 LEN中,需要输入被发送数据的字节长度,本例中是100字节。输出参数DONE, ”ERROR”和 ”STATUS用来评估通信任务,并且仅在同一个循环中有效.图 03如果发送请求成功完成,SND_BUS

9、Y被复位,然后可以再次触发一个新的发送请求.如果发送请求产生错误,”SND_BUSY同样被复位,并且FC5的”STATUS 输出参数值被保存用于错误分析。图 04FC6 AG_RECV 参数输入参数ID 和 LADDR”的值必须和NetPro 中的通信连接的属性对话框中的参数一致(见图1)。在FC6的输入参数 ”RECV中,必须指定接收的数据区域(接收缓冲区)的地址和长度,它包含接收数据,例如 P#DB201。DBX100。0 BYTE 100 。图 05输出参数 ”NDR 表示是否接收到新数据,输出参数”LEN 表示接收数据的长度. 如果没有成功接收数据,输出参数的值将被保存和分析。 图 0

10、6在FB200中,有对FC5 AG_SEND” 和 FC6 ”AG_RCV”产生的相关STATUS值发生频率的评价,该信息保存在FB200的统计接口参数”STATISTIC ,数据类型为Structure”。图 07通过变量”#STATISTIC.ON_OFF”可以打开/关掉STATUS评价。 默认STATUS评价打开。图 08特殊情况如果通过建立TCP连接交换数据,只有整个接收缓存区填满的情况下,输出参数NDR”才能被置位。因此输出参数 ”LEN的值总是表示了接收缓冲区的整个长度。下载STEP7项目示例STEP7 项目包含了调用FC5和FC6并包括状态评估的示例程序,程序由 STEP 7 V5。4 SP3创建. S7_300_SEND_RCV。zip ( 45 KB )注意从SIMATIC_NET_CP库中复制最新的通信块 FC5 和 FC6 到用户程序,并在程序中调用它们。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号