文档介绍:该【怎样使用通讯功能块FC50和FC60编程全解 】是由【泰山小桥流水】上传分享,文档一共【10】页,该文档可以免费在线阅读,需要了解更多关于【怎样使用通讯功能块FC50和FC60编程全解 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。如何使用通信功能块FC50和FC60编程?
显示订货号
说明:
使用下边的连接通信,一定在S7-400的S7程序中调用通信功能块FC50"AG_LSEND"和FC60"AG_LRECV"。
TCP连接
ISO-on-TCP连接(RFC1006)
ISO传输连接
UDP连接
FDL连接
通信功能块FC50“AG_LSEND”和FC60“AG_LRECV”的特色
FC50和FC60是异步通信功能块。
FC50和FC60的运转需要几个OB1周期。
FC50由输入参数"ACT"使能。
通信任务结束由“DONE”或“ERROR”指示。
AG_LSEND和AG_LRECV可以经过同一个连接同时通信。
最新版本的功能块FC50"AG_LSEND"和FC60"AG_LRCV"可以在SIMATIC_NET_CP库"CP400>
Blocks"里找到。
例程说明
S7程序包含来自SIMATIC_NET_CP库的通信功能块FC50“AG_LSEND”和FC60“AG_LRECV”的调用。FC50
“AG_LSEND”用于发送数据到S7或S5站,PC也许第三方系统。FC60“AG_LRECV”用于接收来自S7或S5站,
PC站或第三方系统的数据。
例程中通信功能块FC50"AG_LSEND"和FC60"AG_LRCV"用于ISO-on-TCP连接的通信。
第一创办S7-400站的硬件配置。
注意:
将MB10配置为时钟标记。发送任务由该时钟标记触发。保存并编译S7-400站的硬件组态并装载到CPU。
例程顶用到了准时器T10。
而后在NetPro中为CPU配置上边提到的通信连接。假如通信伙伴也在该STEP7项目中一起配置,可以配置一个
指定的通信连接。假如通信伙伴没有与S7-400站在同一个STEP7项现在,可以配置一个未指定的通信连接。配置
通信连接时,确认IP地址和Profibus地址已经正确分配。相同,确认PORT,TSAP,LSAP已经正确分配。这些
用于鉴别通信伙伴间的通信连接。
FC50“AG_LSEND”和FC60“AG_LRECV”的输入参数“ID”和LADDR“”一定被指定。该参数在通信连接的属性对话框
“老例”选项卡中设置。
STEP7的程序由块OB100,OB1,FB200,DB200,DB201,FC50和FC60构成。
OB100:
OB100是启动组织块,当CPU重新启动(暖启动)时运转。在这个组织块中经过使能第一次通信触发器。
OB1:
OB1循环组织块。在这个组织块中调用FB200(背景数据块:DB200),使用作为参数(INIT_COM)。FB200
一旦执行则复位。
FB200
FB200在OB1中调用。在FB200中调用了FC50“AG_LSEND”和FC60“AG_LRECV”。在FC50的输入参数
“ACT”获取一个上升沿后触发发送任务。时钟标记位和“SND_BUSY”参数控制发送任务的触发。当发送任务
正在执行时,“SND_BUSY”被置位,此时不可以触发新的发送任务。
接收央求的触发由变量"RCV_DISABLE"
控制,其值等于
FALSE
,因此
FC50"AG_LRCV"
总是准备接收数据,这样
数据可以在任何时候都被接收。
因为功能块的执行是异步的,并可以连续几个周期,因此“锁定”功能特别重要。假如不等候第一个发送工作成功完成或
出错停止就不中止的触发新的发送任务会引起通信过载。
输入参数“ID”和“LADDR”的值一定取自NetPro入参数指定包含将要发送数据的数据区地址和长度
中通信连接的属性对话框(发送缓冲区),比方:
(拜见图01)。需要为FC50
BYTE100
的“SEND”输
。在“LEN”输入
参数中键入要发送的字节数,本例中是100。
输出参数“DONE”,“ERROR”和“STATUS”用于任务评估,而且只在同一个周期内有效。
当发送任务成功完成后,“SND_BUSY”被复位。而后可以触发下一个发送任务。
假如发送任务出错停止,“SND_BUSY”也会被复位,FC50输出参数“STATUS”的值被保存用于故障解析。
假如“STATUS”输出参数的值是0x7000Hex(28672Dec),FC50“AG_LSEND”再次被调用。
假如输出参数“STATUS”的值是0x8183Hex(32381Dec)也许0x8304Hex(31996Dec),也就是说通信连接不可以建立的时
候,那仅每10秒倡导一次发送任务。
输入参数“ID”和“LADDR”的值一定取自NetPro中通信连接的属性对话框(拜见图01)。需要为FC60的输入参数
“RECV”指定包含接收数据的数据地域地址和长度(接收缓冲区),比方:BYTE100。
输出参数“NDR"用于表示已经接收到了新数据。输出参数"LEN"表示接收到的数据长度。
假如没有成功接收到数据,输出参数“STATUS”的值被保存用于故障解析。
假如输出参数"STATUS"的值是0x8183Hex(32381Dec)也许0x8304Hex(31996Dec),即不可以建立连接时,变量
"RCV_DISABLE"被置位10秒。在此时期,没有数据被接收。只有在过了10秒后才可能再次接收数据。
成功接收数据的长度保存在静态变量里。
在FB200中,对FC50"AG_LSEND"和FC60"AG_LRCV"的STATUS各种值出现次数有评估。这些信息保存在
FB200的"Structure"种类的变量"STATISTIC"中,这是FB200统计信息接口参数。
可以经过变量"#"打开/关闭STATUS评估。
特例
假如经过TCP连接进行数据交换,只有在接收缓冲区满后才会置位“NDR”输出参数。输出参数“LEN”的数值总是指示接
收缓冲区的总长度。
下载STEP7项目:
例程STEP7项目包含一个调用带有状态赋值的FC50和FC60功能的例子。这个例子在STEP7SP2中创
建。
(195KB)
提示
从SIMATIC_NET_CP库中复制最新的通信块FC50和FC60并在自己的程序中调用它们。
要点字
发送,接收
条目号:18513371日期:2012-07-23