• {{item.name}}
{{item.name}}
{{item2.name}}
更多
常问问题

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

star star star star star
5.0 分
  • 通信(通讯)
  • 系统接口
文档编号:17853532| 文档类型:常问问题| 发布时间:2023年10月24日
  • 0
  • 1473
  • 12646
  内容预览: ......   说明: 使用下面的通讯连接,在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。

表01说明了通过通信处理器(CP)有哪些通信连接可用来做数据交换,以及CP所支持的通信连接。


使用表01中列出的任一通信连接通信时,在S7-300的S7程序中 必须调用通信功能块 FC5 "AG_SEND" 和 FC6 "AG_RECV" 。

通信连接CP订货号备注
TCP 连接ISO-on-TCP 通信(RFC 1006)UDP 连接CP343-1
Lean
6GK7343-1CX10-0XE0
6GK7343-1CX00-0XE0
关于TCP, ISO-on-TCP (RFC 1006) 和UDP 协议的更多信息请参考条目号, 26171811.
CP343-1
Standard
6GK7343-1EX30-0XE0
6GK7343-1EX21-0XE0
6GK7343-1EX20-0XE0
6GK7343-1EX11-0XE0
CP343-1
Advanced
6GK7343-1GX30-0XE0
6GK7343-1GX31-0XE0
6GK7343-1GX21-0XE0
CP343-1 IT6GK7343-1GX20-0XE0
6GK7343-1GX11-0XE0
ISO 传输连接CP343-1
Standard
6GK7343-1EX21-0XE0
6GK7343-1EX30-0XE0
6GK7343-1EX11-0XE0
关于 ISO 传输协议的更多信息请参考条目号  26171811.
CP343-1
Advanced
6GK7343-1GX31-0XE0
6GK7343-1GX30-0XE0
6GK7343-1GX21-0XE0
CP343-1 IT6GK7343-1GX11-0XE0
FDL 连接CP342-56GK7342-5DA03-0XE0
6GK7342-5DA02-0XE0
6GK7342-5DA01-0XE0
6GK7342-5DA00-0XE0
关于FDL 协议的更多信息请参考条目号 26098555.
CP342-5 FO6GK7342-5DF00-0XE0
CP343-56GK7343-5FA01-0XE0
6GK7343-5FA00-0XE0表 01

通信功能块 FC5 "AG_SEND" 和 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"  和 FC6 "AG_RCV"的调用。FC5 "AG_SEND"用于向另外的S7站、计算机站或者第三方的系统发送数据。FC6 "AG_RECV" 用于从另外的S7站、计算机站或者第三方的系统接收数据。
示例程序演示了通过ISO-on-TCP 连接通信时FC5 "AG_SEND"  和 FC6 "AG_RCV" 的功能。

首先创建
S7-300站的硬件配置。

注意
设置MB10 作为时钟标记,发送请求由此时钟标记触发,保存和编译S7-300硬件配置并下载到CPU中。
在本示例程序中使用了定时器T10。

在NetPro中为CPU配置上述的通信功能块。如果通信对象组态在同一个S7项目中,那么就能够配置一个指定的通信连接;如果通信对象没有作为一个S7站组态在同一个S7项目中,那么可以配置一个非指定的通信连接。当配置通信连接时,确保指定了正确的IP地址或者PROFIBUS 地址,以及正确的端口、TSAP,或者LSAP,这些用于在通信对象之间正确识别通信连接。

通信功能块 FC5 "AG_SEND" 和 FC6 "AG_RECV"必须使用的输入参数“ID”和“LADDR”在通信连接的属性->  "General"对话框中可以找到。


图 1

示例 STEP7 程序包含了OB100, OB1, FB200, DB200, DB201, FC5 和 FC6块。

OB100
OB100是启动OB,在CPU重新启动(暖启动)时执行。在这个OB块中,首次通信的触发位M0.3 "START-UP"被使能。

OB1
OB1是循环调用块。FB200(背景数据块:DB200)在OB1中调用,M0.3 "START-UP"作为调用参数(INIT_COM)的实参,在FB200运行后,复位M0.3 "START-UP"。
   


图 2

FB200
OB1循环调用FB200。在FB200中调用通信功能块 FC5 "AG_SEND" 和 FC6 "AG_RECV"

FC5 "AG_SEND" 参数
在输入参数"ACT"输入一个上升沿,来触发发送请求。通过时钟位M10.7和变量 "SND_BUSY".来控制发送请求。如果发送请求正在运行,"SND_BUSY"被置位,不可能再触发一个新的发送请求。

这个互锁是非常重要的,因为通信是异步的,能够持续几个循环周期。持续触发新的发送请求,而没有等待检查任务是否结束或因出错而停止,将会导致通信过载。

输入参数"ID" 和 "LADDR"的值必须和NetPro中通信连接的属性对话框中的参数一致(见图1)。
在FC5的输入参数 "SEND"中,必须指定被发送的数据区域的地址和长度,它包含要发送的数据(发送缓冲区),例如 P#DB201.DBX0.0 BYTE 100 。
在输入参数 "LEN"中,需要输入被发送数据的字节长度,本例中是100字节。
输出参数"DONE", "ERROR"和 "STATUS"用来评估通信任务,并且仅在同一个循环中有效。


图 3

如果发送请求成功完成,"SND_BUSY"被复位,然后可以再次触发一个新的发送请求。

如果发送请求产生错误,"SND_BUSY"同样被复位,并且FC5的"STATUS" 输出参数值被保存用于错误分析。


图 4

FC6 "AG_RECV" 参数
输入参数"ID" 和 "LADDR"的值必须和NetPro 中的通信连接的属性对话框中的参数一致(见图1)。在FC6的输入参数 "RECV"中,必须指定接收的数据区域(接收缓冲区)的地址和长度,它包含接收数据,例如 P#DB201.DBX100.0 BYTE 100 。



图 5

输出参数 "NDR" 表示是否接收到新数据,输出参数"LEN" 表示接收数据的长度。

如果没有成功接收数据,输出参数的值将被保存和分析。

 


图 6

在FB200中,有对FC5 "AG_SEND" 和 FC6 "AG_RCV"产生的相关STATUS值发生频率的评价,该信息保存在FB200的统计接口参数"STATISTIC" ,数据类型为"Structure"。


图 7

通过变量"#STATISTIC.ON_OFF"可以打开/关掉STATUS评价。 默认STATUS评价打开。


图 8


特殊情况
如果通过建立TCP连接交换数据,只有整个接收缓存区填满的情况下,输出参数"NDR"才能被置位。
因此输出参数 "LEN"的值总是表示了接收缓冲区的整个长度。

下载STEP7项目
示例STEP7 项目包含了调用FC5和FC6并包括状态评估的示例程序,程序由  STEP 7 V5.4 SP3创建。
 S7-300_SendRcv.zip (36,6 KB)


注意
从SIMATIC_NET_CP库中复制最新的通信块 FC5 和 FC6 到用户程序,并在程序中调用它们。

其它关键字
FUP, SEND/RECEIVE, Sample program, STEP 7 configuration, Data transfer


您可以前往全球资源库查看此文档:http://support.automation.siemens.com/CN/view/zh/17853532


  • 评论
更多
  • 分享

    扫码分享

提示
您即将前往“全球技术资源库”。
“全球技术资源库”的用户名与本地支持中心(下载中心、技术论坛、找答案、1847工业学习平台)的用户名不通用。如果需要在全球技术资源库下载文档,您需要重新登录或注册。
确定

扫码进入移动端

信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。