你现在位置:首页>技术论文>经验技巧>西门子PLC>正文
S7-300中如何编程通信块FB8"USEND"和FB9"URCV"进行数据交换?
日期:2008-6-15 22:55:51 来源:本站整理  
点击: 作者:
点击【】放大字体.
WWW_PL※CJS_COM-PLC-技.术_网

下面的通信块也可用于S7-300 的通过S7连接的通信:
WW.W_PLC※JS_C,OM-PL,C-技.术_网

  • FB8 "USEND"
  • FB9 "URCV"
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

以上通信块位于Standard Library > Communication Blocks > Blocks ,只能在S7-300的S7程序中调用。
WWcW_PLCJS_COM-PLC-技.术_网

注意:
WW.W_PLC※JS_C,OM-PL,C-技.术_网

对于S7-400, 必须在S7程序中从Standard Library > System Function Blocks > Blocks 中调用通信块SFB8 "USEND"和SFB9 "URCV"
plcjs.技.术_网

 
WWW_PLC※JS_COM-PmLC-技.术_网

通信块 FB8 "USEND" 和 FB9 "URCV" 的特点
WWW_PLCJS@_COM%-PLC-技.术_网

  • FB8 和 FB9 是异步通信。
  • 必须在 OB1 中调用。
  • FB8 和 FB9 运行时间可能持续多个 OB1 循环周期。
  • FB8 和 FB9 通过输入参数("REQ" 或 "EN_R")使能。
  • 运行结果通过 "DONE" 或 "ERROR" 指示。
  • USEND 和 URCV 可以通过一个连接同时进行。
  • 数据传输是不带确认的。
WW.W_PLCJS_COM-PLC-技.术_网

示例程序包括一个S7连接,FB8通过此连接发送数据,FB9通过此连接接收数据。
WW.W_PLCJS_COM-PLC-技.术_网

示例程序描述:
P.L.C.技.术.网——可编程控制器技术门户

此S7程序包含标准库中的FB8 "USEND" 和 FB9 "URCV"通信功能块的调用。FB8 "USEND"用于向另一S7 站点或PC站发送数据。FB9 "URCV"用于接收来自另一S7 站点或PC站的数据。
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

首先建立S7-300 站的硬件配置。确保标志字节10作为时钟标志。发送任务由此时钟标志触发。保存、编译此S7-300 站的硬件配置并下载。
WW.W_PLCJS_COM-PLC-技.术_网

然后,在NetPro中配置S7连接。如果通信对象在同一STEP 7项目被配置,则可以配置成指定的S7连接。否则只能配置成非指定的S7连接。必须在通信对象两端均配置S7连接,因为通过FB8 "USEND" 和FB9 "URCV"实现的S7通信是基于客户端-客户端的原则。
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

配置通信连接时要确保正确配置IP地址和PROFIBUS地址。同样,要确保TSAP配置正确。它们是通信对象间通信连接的惟一标识。
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

通信块FB8 "USEND"和FB9 "URCV"的输入参数"ID"的值必须与S7连接的属性对话框的"General"栏一致。
WWW.PLCJS.COM——可编程控制器技术门户

WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

图01:S7连接的配置
——可——编——程——控-制-器-技——术——门——户

示例 STEP 7 程序包含块 OB100, OB1, FB100, DB100, DB200, DB201, FB8 和 FB9.
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

  • OB100
    P.L.C.技.术.网——可编程控制器技术门户

    OB100 是一个重启动组织块,在 CPU 重启时(暖启动)运行。在这个块中,通信触发标志位 M1.0 和 M0.1 被使能。
  • OB1
    W1WW_P4LCJS_COM-PLC-技.术_网

    OB1 是循环调用的。在 OB1 中通过M1.0 和 M0.1 使能调用 FB100(背景数据块DB100),M1.0 在 FB100 执行完成后被立即复位。
WW.W_PLCJS_COM-PLC-技.术_网

WWW.PLCJS.COM——可编程控制器技术门户

图02:OB1
plcjs.技.术_网

FB100
WWcW_PLCJS_COM-PLC-技.术_网

FB100 在 OB1 中循环调用。在这个 FB 中调用 FB8 ("USEND") 和 FB9 ("URCV")。FB8的输入参数 "REQ" 的上升沿信号触发发送任务。发送任务的触发受控于变量"PLC1_COM.USEND_REQ",该变量通过时钟标志M10.6置位,在发送任务完成或出错时复位。因此,执行发送任务时将变量"PLC1_COM.USEND_REQ"置位,确保在此期间不可能触发新的发送任务。对功能块调用的这个锁定是非常得要的,因为该功能块是异步的,并且可持续多个循环周期。在没有等待当前任务执行完成或有错误发生的情况下,持续的触发新的发送任务可能导致通信过载。输入参数 "ID" 必须来自 NetPro 中 S7 连接属性对话框  (参见图 01)。利用参数 "R_ID" 定义一对发送 FB 和 接收 FB。"R_ID" 在发送端 FB 和 接收端 FB 必须匹配。FB8的输入参数"SD_1" 用来指定发送数据(发送缓冲区)的地址和长度(如p#DB201.DBX0.0 BYTE 20)。输出参数 "DONE", "ERROR" 和 "STATUS" 用于任务评估,三个参数只有在同一循环周期中才有效。
WWW_PL※CJS_COM-PLC-技.术_网

 
WWW_P※LCJS_CO※M-PLC-技-.术_网

WW.W_PLCJS_COM-PLC-技.术_网

图03: FB100:FB8 "USEND"的调用
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

发送任务成功完成后将"PLC1_COM.USEND_REQ"复位。这样新的发送任务可以被触发。
WWW_P※LCJS_CO※M-PLC-技-.术_网

如果发送任务因为错误中断,"PLC1_COM.USEND_REQ"被复位,FB8的输出参数"STATUS"的值被保存用于错误分析。
WWW_PLCJS_COM-PLC-技.术_网

WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

图 04: FB100: 保存状态字
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

FB9 "URCV"通过输入参数"EN_R"激活。输入参数的值总是"1",因此S7-300 时刻准备着接收数据。
WW.W_PLC※JS_C,OM-PL,C-技.术_网

FB9 "URCV"的输入参数 "ID" 必须来自 NetPro中S7 连接属性对话框  (参见图01)。利用参数 "R_ID" 定义一对发送 FB 和 接收 FB。"R_ID" 在发送端 FB 和 接收端 FB 必须匹配。FB9的输入参数"SD_1" 用来指定接收数据区(接收缓冲区)的地址和长度(如p#DB200.DBX0.0 BYTE 20)。输出参数 "NDR", "ERROR" 和 "STATUS" 用于任务评估,三个参数只有在同一循环周期中才有效。
WWW_PLCJS_COM-PLC-技.术_网

WWW_PLCJS_COM-PLC-技.术_网

图05: FB100:FB9 "URCV"的调用
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

如果数据未被成功接收,输出参数 "STATUS"的值被保存用于故障诊断。
——可——编——程——控-制-器-技——术——门——户

P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

图 06: FB100: 保存状态字
WWW_P※LCJS_COM-PLC-)技.术_网

注意:
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

手册 "System Software for S7-300/400 System and Standard Functions" 第21章 "S7 Communication" 中 提供了通过通信块 FB8 "USEND" 和 FB9 "URCV" 所能传送的数据量的信息。
WW.W_PLCJS_COM-PLC-技.术_网

评论内容
载入中...
载入中...
P
L
C



|










|


P
L
C









·最新招聘信息
·最新求职信息
·推荐产品
·推荐厂商
·栏目热门排行
·站内热门排行