S7300中如何编程通信块FB8USEND和FB9URCV进行数据交换_第1页
S7300中如何编程通信块FB8USEND和FB9URCV进行数据交换_第2页
S7300中如何编程通信块FB8USEND和FB9URCV进行数据交换_第3页
S7300中如何编程通信块FB8USEND和FB9URCV进行数据交换_第4页
S7300中如何编程通信块FB8USEND和FB9URCV进行数据交换_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、介绍:下面的通信块也可用于S7-300的通过S7连接的通信:FB8USENDFB9URCV以上通信块位于StandardLibraryCommunicationBlocksBlocks,只能在S7-300的S7程序中调用。、亠注意:对于S7-400,必须在S7程序中从StandardLibrarySystemFunctionBlocksBlocks中调用通信块SFB8USEND和SFB9URCV通信块FB8USEND和FB9URCV的特点FB8和FB9是异步通信。必须在OB1中调用(参见条目号:2795485)。FB8和FB9运行时间可能持续多个OB1循环周期。FB8和FB9通过输入参数(RE

2、Q或EN_R)使能。运行结果通过DONE或ERROR指示。USEND和URCV可以通过一个连接同时进行。数据传输是不带确认的。示例程序包括一个S7连接,FB8通过此连接发送数据,FB9通过此连接接收数据。示例程序描述:此S7程序包含标准库中的FB8USEND和FB9URCV通信功能块的调用。FB8USEND用于向另一S7站点或PC站发送数据。FB9URCV用于接收来自另一S7站点或PC站的数据。首先建立S7-300站的硬件配置。确保标志字节10作为时钟标志。发送任务由此时钟标志触发。保存、编译此S7-300站的硬件配置并下载。然后,在NetPro中配置S7连接。如果通信对象在同一STEP7项目

3、被配置,则可以配置成指定的S7连接。否则只能配置成非指定的S7连接。必须在通信对象两端均配置S7连接,因为通过FB8USEND和FB9URCV实现的S7通信是基于客户端-客户端的原则。配置通信连接时要确保正确配置IP地址和PROFIBUS地址。同样,要确保TSAP配置正确。它们是通信对象间通信连接的惟一标识。通信块FB8USEND和FB9URCV的输入参数ID的值必须与S7连接的属性对话框的General栏一致。图01:S7连接的配置示例STEP7程序包含块OB100,OB1,FB100,DB100,DB200,DB201,FB8和FB9.OB100OB100是一个重启动组织块,在CPU重启时

4、(暖启动)运行。在这个块中,通信触发标志位M1.0和M0.1被使能。OB1OB1是循环调用的。在OB1中通过M1.0和M0.1使能调用FB100(背景数据块DB100),M1.0在FB100执行完成后被立即复位。图02:OB1FB100FB100在0B1中循环调用。在这个FB中调用FB8(USEND)和FB9(URCV)。FB8的输入参数REQ的上升沿信号触发发送任务。发送任务的触发受控于变量PLC1_C0M.USEND_REQ,该变量通过时钟标志M10.6置位,在发送任务完成或出错时复位。因此,执行发送任务时将变量PLC1_C0M.USEND_REQ置位,确保在此期间不可能触发新的发送任务。

5、对功能块调用的这个锁定是非常得要的,因为该功能块是异步的,并且可持续多个循环周期。在没有等待当前任务执行完成或有错误发生的情况下,持续的触发新的发送任务可能导致通信过载。输入参数ID必须来自NetPro中S7连接属性对话框(参见图01)。利用参数R_ID定义一对发送FB和接收FB。R_ID在发送端FB和接收端FB必须匹配。FB8的输入参数”SD_1”用来指定发送数据(发送缓冲区)的地址和长度(如p#DB201.DBX0.0BYTE20)。输出参数DONE,ERROR和STATUS用于任务评估,三个参数只有在同一循环周期中才有效。图03:FB100:FB8USEND的调用发送任务成功完成后将”P

6、LC1_COM.USEND_REQ复位。这样新的发送任务可以被触发。如果发送任务因为错误中断,”PLC1_COM.USEND_REQ被复位,FB8的输出参数STATUS的值被保存用于错误分析。图04:FB100:保存状态字FB9URCV通过输入参数”EN_R”激活。输入参数的值总是”1”,因此S7-300时刻准备着接收数据。FB9URCV1的输入参数ID必须来自NetPro中S7连接属性对话框(参见图01)。利用参数”R_ID”定义一对发送FB和接收FB。”R_ID”在发送端FB和接收端FB必须匹配。FB9的输入参数SD_1用来指定接收数据区(接收缓冲区)的地址和长度(如p#DB200.DBX0.0BYTE20)。输出参数NDR,ERROR和STATUS用于任务评估,三个参数只有在同一循环周期中才有效。图05:FB100:FB9URCV的调用如果数据未被成功接收,输出参数STATUS的值被保存用于故障诊断。图06:FB100:保存状态字、亠注意:手册SystemSoftwareforS7-300/400SystemandStandardFunctions第21章S7Communication中提供了通过通信块FB8

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论