怎样使用通讯功块FC5FC6.docx

上传人:b****6 文档编号:11894691 上传时间:2023-06-03 格式:DOCX 页数:9 大小:54.57KB
下载 相关 举报
怎样使用通讯功块FC5FC6.docx_第1页
第1页 / 共9页
怎样使用通讯功块FC5FC6.docx_第2页
第2页 / 共9页
怎样使用通讯功块FC5FC6.docx_第3页
第3页 / 共9页
怎样使用通讯功块FC5FC6.docx_第4页
第4页 / 共9页
怎样使用通讯功块FC5FC6.docx_第5页
第5页 / 共9页
怎样使用通讯功块FC5FC6.docx_第6页
第6页 / 共9页
怎样使用通讯功块FC5FC6.docx_第7页
第7页 / 共9页
怎样使用通讯功块FC5FC6.docx_第8页
第8页 / 共9页
怎样使用通讯功块FC5FC6.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

怎样使用通讯功块FC5FC6.docx

《怎样使用通讯功块FC5FC6.docx》由会员分享,可在线阅读,更多相关《怎样使用通讯功块FC5FC6.docx(9页珍藏版)》请在冰点文库上搜索。

怎样使用通讯功块FC5FC6.docx

怎样使用通讯功块FC5FC6

怎样使用通讯功块FC5FC6

 

 

————————————————————————————————作者:

————————————————————————————————日期:

 

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

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

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

通信连接

CP

订货号

备注

∙TCP连接

∙ISO-on-TCP通信

(RFC1006)

∙UDP连接

CP343-1

Lean

6GK7343-1CX10-0XE0

6GK7343-1CX00-0XE0

关于TCP,ISO-on-TCP(RFC1006)和UDP协议的更多信息请参考条目号26171811,26484227和26484229.

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-1IT

6GK7343-1GX20-0XE0

6GK7343-1GX11-0XE0

∙ISO传输连接

CP343-1

Standard

6GK7343-1EX21-0XE0

6GK7343-1EX30-0XE0

6GK7343-1EX11-0XE0

关于ISO传输协议的更多信息请参考条目号26582267.

CP343-1

Advanced

6GK7343-1GX31-0XE0

6GK7343-1GX30-0XE0

6GK7343-1GX21-0XE0

CP343-1IT

6GK7343-1GX11-0XE0

∙FDL连接

CP342-5

6GK7342-5DA03-0XE0

6GK7342-5DA02-0XE0

6GK7342-5DA01-0XE0

6GK7342-5DA00-0XE0

关于FDL协议的更多信息请参考条目号26098555.

CP342-5FO

6GK7342-5DF00-0XE0

CP343-5

6GK7343-5FA01-0XE0

6GK7343-5FA00-0XE0

表01

通信功能块FC5"AG_SEND"和FC6"AG_RECV"的特点

∙FC5和FC6是异步通信方式。

∙在本例中,通过OB1调用这些功能块。

(见EntryID:

2795485)。

∙它们的执行可能需要多个OB1循环。

∙FC5通过输入参数"ACT"激活。

∙由"DONE"或"ERROR"表示任务结束。

∙AG_SEND和AG_RECV能够同时通过同一连接通信。

∙最新版本的功能块FC5"AG_SEND"和FC6"AG_RCV"可以在SIMATIC_NET_CP库中"CP300>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"对话框中可以找到。

图01

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

OB100OB100是启动OB,在CPU重新启动(暖启动)时执行。

在这个OB块中,首次通信的触发位M0.3"START-UP"被使能。

OB1OB1是循环调用块。

FB200(背景数据块:

DB200)在OB1中调用,M0.3"START-UP"作为调用参数(INIT_COM)的实参,在FB200运行后,复位M0.3"START-UP"。

图02

FB200OB1循环调用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.0BYTE100。

在输入参数"LEN"中,需要输入被发送数据的字节长度,本例中是100字节。

输出参数"DONE","ERROR"和"STATUS"用来评估通信任务,并且仅在同一个循环中有效。

图03

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

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

图04

FC6"AG_RECV"参数输入参数"ID"和"LADDR"的值必须和NetPro中的通信连接的属性对话框中的参数一致(见图1)。

在FC6的输入参数"RECV"中,必须指定接收的数据区域(接收缓冲区)的地址和长度,它包含接收数据,例如P#DB201.DBX100.0BYTE100。

图05

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

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

图06

在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并包括状态评估的示例程序,程序由STEP7V5.4SP3创建。

S7_300_SEND_RCV.zip(45KB)

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

 

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

当前位置:首页 > 教学研究 > 教学案例设计

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

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