Logo  
企业邮局QQ快速登录
浏览文档 当前位置:广州若恒 >> 支持中心 >> 网上课堂 >> 可编程控制器 >> S7-300 >> 浏览文档
通过 S7-300 或 S7-400 CPU 集成工业以太网接口以 OPEN IE 的通信方式
通过 S7-300 或 S7-400 CPU 集成工业以太网接口以 OPEN IE 的通信方式
核心提示:描述:可以通过集成的 PROFINET 接口使用 OPEN IE 的通信方式进行数据交换,下列通信协议支持数据交换: TCP ISO-on-TCP UDP 通过工业以太网 OPEN IE 通信方式下的 UDP 协议进行数据交换,需要使用以下程序块。 FB65 "TCON" 用于连接端点 FB66 "TDISCON" 用于断开端点 FB67 "TUSEND" 用于发送数据 FB6

描述:
可以通过集成的 PROFINET 接口使用 OPEN IE 的通信方式进行数据交换,下列通信协议支持数据交换:

  • TCP
  • ISO-on-TCP
  • UDP

通过工业以太网 OPEN IE 通信方式下的 UDP 协议进行数据交换,需要使用以下程序块。

  • FB65 "TCON" 用于连接端点
  • FB66 "TDISCON" 用于断开端点
  • FB67 "TUSEND" 用于发送数据
  • FB68 "TURCV" 用于接收数据

这些通信功能块可以在函数库 Standard Library -> Communication Blocks中找到. 用于连接 UDP 端点的参数存储于一个数据结构体中。在这个例子中,数据结构体 UDT65 "TCON_PAR" 将被使用,用户将对这个数据结构体进行参数化。需要在 NetPro 中配置通信连接。

Note:
通过工业以太网 OPEN IE 通信方式得到详细信息可以参考手册"System Software for S7-300/400 System and Standard Functions",登陆条目ID: 1214574.

示例程序的描述
S7 程序中包括 FB65 "TCON" 的调用及带有 UDP 连接端点参数的数据结构体 UDT65 "TCON_PAR"。S7 程序中还包含函数库 Standard Library -> Communication Blocks 中函数 FB67 "TUSEND" and FB68 "TURCV" 的调用,The FB67 "TUSEND" 用于将数据发送给一个 S7 站,一个 PC 站或第三方系统。FB68 "TURCV" 用于接收一个 S7 站,一个 PC 站或第三方系统发送的数据。

首先在硬件配置中生成 S7-300 站,在这里将 MB10 作为脉冲时钟,通过脉冲时钟发送数据。存盘编译并将硬件配置下载到 CPU 中。

STEP 7 程序包含程序块 OB100, OB1, FB500, DB500, FC95, FC96, UDT65, UDT66, and FB63, FB64, FB67 and FB68。

OB100:
OB100 在 CPU 重新运行时执行一次(暖起动)。在这个 OB 块中第一次的通信通过 M0.3 "START-UP" 触发。

OB1:
OB1 循环执行,FB500 (背景数据块:DB500) 在 OB1 中调用,使用 M0.3 "START-UP" 对 INIT_COM 赋值.,在 OB1 结束前将 M0.3 "START-UP" 复位。


Fig. 01: OB1 

FB500:
FB500 在 OB1 中循环调用。在这个 FB 中调用 FC95 "SET_UDP_REMOTE" ,FC96 "SET_UDP_ENDPOINT" 及 FB65 "TCON", FB67 "TUSEND", FB68 "TURCV" 和 FB66 "TDISCON"。

通过 FC95 "SET_UDP_ENDPOINT" 定义的本地 UDP 端点连接参数,下列参数需要考虑:

  • ID: 连接 ID
  • DEV_ID:
    DEV_ID = B#16#2 用于 CPU 31x-2PN/DP 或
    DEV_ID = B#16#3 用于 CPU 319-3PN/DP 或
    DEV_ID = B#16#5 用于 CPU 41x-3PN/DP
  • LOC_PORT: CPU 中的本地端口号


图. 02: 调用 FC95

通过 FC96  "SET_UDP_REMOTE" 定义远端的 UDP 端点。下列参数需要考虑:

  • REM_PORT: 通信方的端口号
  • IP_ADDR1 ... IP_ADDR4: 通信方的 IP 地址


图. 03: 调用 FC96

在 FB65 "TCON" 输入参数 "REQ" 施加一个上升沿触发本地 UDP 端点连接的建立。数据结构体 UDT65 "TCON_PAR" 中的本地端点参数包含在 FB500 的背景数据块中。在 FB65 "TCON" 的输入参数 "CONNECT" 定义了本地端点参数的数据区,本地端点连接在系统启动时建立并保持,通过 FB66 "TDISCON" 或 CPU 停止及断电可以断开通信连接。


图. 04: 调用 FB65 "T_CON"

在 FB67 "TUSEND" 输入参数 "REQ" 施加上升沿触发发送请求,发送请求通过脉冲时钟 M10.6 及变量 "C1.SEND_BUSY" 控制。如果发送请求正在运行,"C1.SEND_BUSY" 被置位,新的发送不能执行 (参考图06)。
在输入参数 "DATA" 中定义数据发送区。在输入参数 "LEN" 中定义发送的字节数。
在输入参数 ADDR 定义接收方的 IP 地址,在示例程序中,通信方的地址参数存储于数据结构 UDT66 "TADDR_PAR" 中,数据结构包含于背景数据块 DB500 中。
通过输出参数 "DONE", "ERROR" 及 "STATUS" 可以查询请求状态。


图. 05: 调用 FB67 "TUSEND"

如果发送请求成功完成, "C1.SEND_BUSY" 被复位。新的发送请求可以被再次触发。

如果发送请求完成但是有错误,"C1.SEND_BUSY" 同样被复位,FB67 的输出参数 "STATUS" 存储故障代码用于故障分析。


图. 06: 上升沿触发发送请求/复位 "C1.SEND_BUSY"


图. 07:  FB67 "TUSEND" 的输出参数 STATUS 存储发送状态

一旦 UDP 端点被连接即可接收数据。在输入参数 "DATA" 定义接收的数据区的地址和长度用于存储接收数据。在 ADDR 中定义的数据全用于存储发送方的  IP 地址。在这个示例中,通信方的地址参数存储于数据结构 UDT66 "TADDR_PAR" 中,数据结构包含于背景数据块 DB500 中。


图. 08: FB68 "TURECV" 的调用

输出参数 "NDR" 用于显示接收新的数据。输出参数 "LEN" 指示接收数据的长度。
如果接收数据不成功,可以评估输出参数 "STATUS" 的存储的状态字。


图. 09: FB68 "TURECV" 的输出参数 STATUS 的存储发送状态

可以调用 FB66 "TDISCON" 断开 UDP 本地端点的连接。通过赋值 FB66 "TDISCON" 的输入参数 "REQ" 一个上升沿触发断开本地端点连接。


图. 10: 调用 FB66 "TDISCON"

下载 STEP 7 项目
STEP 7 项目包含一个调用 FB500 及 FC95 "SET_UDP_ENDPOINT", FC96 "SET_UDP_REMOTE" 的例子程序,FB65 "TCON", FB66 "TDISCON", FB67 "TUSEND" 和 FB68 "TURECV" 用于状态评估,例子程序使用 STEP 7 V5.4 SP3 生成。 

Sample_open_UDP.zip ( 45 KB )

配置额外的 UDP 连接
为了发送 UDP 数据包到多个通信方,需要配置额外的本地和远程的 UDP 端点。 可以复制 FB500 以便得到更多的功能块 (例如 FB501)。修改本地和远程的 UDP 端点的参数,可以生成新的背景数据块。

当地 UDP 端点的 ID 可以选择的值范围从 1 到 4095 。
本地和远程端口可以选择的值范围从 2000 到 5000 。

ID 和端口必须是唯一的对于每一个本地的 UDP 端点。即必须定义一个不同的 ID 和一个不同的端口对于每个本地 UDP 端点。

根据通讯方的配置,定义远程端口和 IP 地址。

下表显示了如何配置多个本地和远程 UDP 端点。在这个示例中,相同的 ID 和 同一端口被用于本地和远程终端。 

本地/远程 UDP 端点 1 2 3
ID 1 2 3
LOC_PORT 2000 2001 2002
REM_PORT 2000 2001 2002
通讯方的 IP 地址 140.80.0.50 140.80.0.51 140.80.0.52


Tags:

0% (0)
0% (10)
相关文档
发表评论
用户评论
最新文档
·How can you protect the S7-300 
·S7-300 CPU 可以使用哪一类存储卡 
·如何从装载内存中备份程序? 
·通过 PUT 和 GET S7 通讯功能进行 
·哪些通信口可以被释放来进行 Mod 
推荐文档
视觉焦点
How can you protect the S7-300/400 against unauthorized access from the LAN (local area network)?
S7-300 CPU 可以使用哪一类存储卡?
  2880306702
  sales@gzrh.com   在线发送
微信扫一扫
  技术支持
  技术论坛
  Support@gzrh.com   在线发送
  项目洽谈
  Support@gzrh.com   在线发送
  投诉与建议
  gzrh@gzrh.com   在线发送
  订阅精彩内容
  填写您的邮件地址,订阅我们的精彩内容:
  联系我们
销售热线:020-85520027/85520287
项目洽谈:020-85533142/85533145
联系传真:020-85520030/85536394
技术热线:020-61087040
咨询邮箱:gzrh@gzrh.com
公司地址:广州市天河区黄埔大道中662号金融城绿地中心509室