你现在位置:首页>技术论文>经验技巧>西门子PLC>正文
如何使用通信块FC5/FC6编制通信应用程序?
日期:2008-6-15 23:04:50 来源:本站整理  
点击: 作者:
点击【】放大字体.
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

说明:
WWW_PLCJS_COM-PLC-技.术_网

必须在 S7-300的S7程序中调用通信功能块FC5 ("AG_SEND",用于发送数据)和FC6 ("AG_RECV",用于接收数据) 以通过以下协议实现通信。
WWW_PLCJS@_COM%-PLC-技.术_网

  • TCP 连接
  • ISO-on-TCP 连接 (RFC 1006)
  • ISO transport 连接
  • UDP 连接
  • FDL 连接
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

FC5 ("AG_SEND") 和 FC6 ("AG_RECV") 通信块的特征
WWW_PLCJS_COM-PLC-技.术_网

  • FC5 和 FC6 是异步通信块
  • 在这个例子中FC5 和 FC6 必须在OB1 中被调用 (参见 条目号: 2795485)
  • FC5 和 FC6 的运行需要多个OB1循环周期
  • FC5 通过输入参数"ACT" 激活使用
  • 通信过程结束标志变量为"DONE" 或 "ERROR"
  • AG_SEND 和 AG_RECV 可以在一个连接同时进行通信
  • 功能块包含在S7-300 和 S7-400 控制器的"SIMATIC_NET_CP"库中
WWW_P※LCJS_COM-PLC-)技.术_网

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

 S7 程序包含两个通信块(FC5 "AG_SEND"/FC6 "AG_RECV",属于SIMATIC_NET_CP 库)的调用。FC5 "AG_SEND"用于给其它S7站点,PC站或第三方系统发送数据。FC6 "AG_RECV"用于接收来自其它S7站点,PC站或第三方系统的数据。
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

首先,新建 S7-300 站的硬件配置。确保标志位10配置为时钟标志位. 发送任务是通过这个时钟标志触发的。保存并编译S7-300 站的硬件配置,下载到CPU。
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

然后,在NetPro里配置上面提到的CPU的一个通信连接。如果通信对象在STEP 7项目里配置,就能配置一个特定的通信连接。如果通信对象和S7-300站不在同一STEP 7项目里配置,那就配置一个非特定通信连接。配置网络连接时要确保IP 地址和PROFIBUS 地址分配正确。同样要确保端口号,TSAP 和 LSAP分配正确。它们是用来在通信连接中与通信对象区分的独特标识。
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

通信功能块FC5 "AG_SEND" 和 FC6 "AG_RECV" 的输入参数"ID"的值可以从STEP 7 通信连接属性对话框的"常规"栏获得。
WWcW_PLCJS_COM-PLC-技.术_网

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

图01:通信连接配置
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

通信功能块FC5 "AG_SEND" 和 FC6 "AG_RECV" 的输入参数"LADDR"的值可以从STEP 7 硬件配置界面里工业以太网CP属性对话框的"地址"栏获得。
——可——编——程——控-制-器-技——术——门——户

该值要以十六进制的形式填入通信块:
WWW_PL※CJS_COM-PLC-技.术_网

256(十进制)=100(十六进制)
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

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

图02:工业以太网CP 属性对话框-> "地址"栏
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

STEP7程序中包括下述程序块:OB100, OB1, FB200, DB200, DB201, FC5 和 FC6。
WWW_PLC※JS_COM-PmLC-技.术_网

OB100:
WWcW_PLCJS_COM-PLC-技.术_网

OB100是一个启动OB块,在CPU重启(暖启动)时运行一次。第一次通信通过M1.0进行触发。
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

OB1:
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

OB1被周期性调用。在OB1中,FB200 (背景数据块: DB200)被调用, 参数"INIT_COM"赋值给M1.0。在 FB200执行完时,M1.0被复位。
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

WWW_PLCJS@_COM%-PLC-技.术_网

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

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

FB200在OB1循环中被调用。FB200功能块调用FC5 "AG_SEND" 和 FC6 "AG_RECV"。FC5的输入变量 "ACT" 的上升沿会触发发送任务。发送任务的触发由clock marker M10.7和变量"SND_BUSY"控制。发送任务进行时,"SND_BUSY"被置位,这样就阻止了新的发送任务被触发。因为此功能是异步的,而且可能持续几个周期,所以这种互锁功能是很重要的。在第一个发送任务未成功完成或者有错误发生时持续触发新的发送任务会导致通信过载。
WW.W_PLC※JS_C,OM-PL,C-技.术_网

输入参数"ID" 和"LADDR"的值必须与NetPro (见图 01)里的通信连接属性对话框一致。 FC5的输入参数"SEND"指的是存储被发送数据的数据区域(发送缓冲区)的地址和长度,例如:P#DB201.DBX0.0 BYTE 100。 输入参数"LEN"指的是发送的字节数(例如100).。输出参数"DONE", "ERROR" 和 "STATUS"用于对发送任务的评估,而且只在同一周期有效。
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

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

图04:FB200: 调用FC5 "AG_SEND"
WW.W_PLC※JS_C,OM-PL,C-技.术_网

数据发送任务成功完成,"SND_BUSY"参数被复位。接下来可触发一个新的数据发送任务。
WWW.PLCJS.COM——可编程控制器技术门户

如果数据发送任务因出错而中断,,"SND_BUSY"参数被复位,FC5的输出参数 "STATUS"的值被保存做故障分析。
WWcW_PLCJS_COM-PLC-技.术_网

W1WW_P4LCJS_COM-PLC-技.术_网

图05:FB200: "SND_BUSY"参数复位和"STATUS"参数值保存
WWW_P※LCJS_CO※M-PLC-技-.术_网

输入参数"ID" 和"LADDR"的值必须与NetPro (见图 01)里的通信连接属性对话框一致。 FC5的输入参数"SEND"指的是存储被发送数据的数据区域(发送缓冲区)的地址和长度,例如:P#DB201.DBX100.0 BYTE 100。
WWW.PLCJS.COM——可编程控制器技术门户

WW.W_PLCJS_COM-PLC-技.术_网

图06:FB200: 调用FC6 "AG_RECV"
WWW_PL※CJS_COM-PLC-技.术_网

输出参数"NDR"指示是否已接收到新数据,输出参数 "LEN"则指示接收到的数据长度。
WWW_P※LCJS_COM-PLC-)技.术_网

如果数据未成功接收,输出参数值会被保存以备分析。
W1WW_P4LCJS_COM-PLC-技.术_网

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

图07:FB200
WWW_PLC※JS_COM-PmLC-技.术_网

特别注意:
WWW_PLCJS_COM-PLC-技.术_网

如果数据交换是通过TCP连接,输出参数"NDR"仅在接收缓冲区完全填满时置位。
plcjs.技.术_网

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



|










|


P
L
C









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