S7_1200要开放式用户通信TCP-IP了?

描述

 

开放式用户通信

CPU 的集成 PROFINET 端口支持多种以太网网络上的通信标准:    

● 传输控制协议 (TCP)

● ISO on TCP (RFC 1006)

● 用户数据报协议 (UDP)

TCP 和 ISO on TCP

传输控制协议 (TCP) 是由 RFC 793 描述的一种标准协议:传输控制协议。TCP 的主要用途是在过程对之间提供可靠、安全的连接服务。该协议有以下特点:

● 由于它与硬件紧密相关,因此它是一种高效的通信协议

● 它适合用于中等大小或较大的数据量(最多 8192 字节)

● 它为应用带来了更多的便利,特别是对于错误恢复、流控制和可靠性。

● 它是一种面向连接的协议

● 它可以非常灵活地用于只支持 TCP 的第三方系统

● 有路由功能

● 只能应用静态数据长度。

● 消息会被确认。

● 使用端口号对应用程序寻址。

● 大多数用户应用协议(例如 TELNET 和 FTP)都使用 TCP。

● 由于使用 SEND/RECEIVE 编程接口的缘故,需要编程来进行数据管理。

基于传输控制协议 (TCP) 的国际标准组织 (ISO) (RFC 1006) (ISO on TCP) 是一种能够将 ISO 应用移植到 TCP/IP 网络的机制。该协议有以下特点:

● 它是与硬件关系紧密的高效通信协议

● 它适合用于中等大小或较大的数据量(最多 8192 字节)

● 与 TCP 相比,它的消息提供了数据结束标识符并且它是面向消息的。

● 具有路由功能;可用于 WAN

● 可用于实现动态数据长度。

● 由于使用 SEND/RECEIVE 编程接口的缘故,需要编程来进行数据管理。

通过传输服务访问点 (TSAP, Transport Service Access Point),TCP 协议允许有多个连接访问单个 IP 地址(最多 64K 个连接)。借助 RFC 1006,TSAP 可唯一标识连接到同一个 IP 地址的这些通信端点连接。  

开放式用户通信指令的连接 ID

将 TSEND_C、TRCV_C 或 TCON PROFINET 指令插入到用户程序中时,STEP 7 会创建一个背景数据块,以组态设备之间的通信通道(或连接)。使用指令的“属性”(Properties) 组态连接的参数。这些参数中有该连接的连接 ID。                          

● 连接 ID 对于 CPU 必须是唯一的。创建的每个连接必须具有不同的 DB 和连接 ID。

● 本地 CPU 和伙伴 CPU 都可以对同一连接使用相同的连接 ID 编号,但连接 ID 编号不需要匹配。连接 ID 编号只与各 CPU 用户程序中的 PROFINET 指令相关。

● CPU 的连接 ID 可以使用任何数字。但是,从“1”开始按顺序组态连接 ID 可以很容易地跟踪特定 CPU 使用的连接数。

用户程序中的每个 TSEND_C、TRCV_C 或 TCON 指令都创建一个新连接。为每个连接使用正确的连接 ID 非常重要。

两个 CPU 之间的通信,这两个 CPU 使用 2 个单独的连接来发送和接收数据。

①CPU_1 上的 TSEND_C 创建一个连接并为该连接分配一个连接 ID(CPU_1 的连接 ID 1)。

②CPU_2 上的 TRCV_C 为 CPU_2 创建连接并分配连接 ID(CPU_2 的连接 ID 1)。

③CPU_1 上的 TRCV_C 为 CPU_1 创建第二个连接并为该连接分配不同的连接 ID(CPU_1 的连接 ID 2)。

④CPU_2 上的 TSEND_C 创建第二个连接并为该连接分配不同的连接 ID(CPU_2 的连接 ID 2)。

以下示例显示了两个 CPU 之间的通信,这两个 CPU 使用 1 个连接来发送和接收数据。

● 每个 CPU 都使用 TCON 指令来组态两个 CPU 之间的连接。

● CPU_1 中的 TSEND 指令通过由 CPU_1 中的 TCON 指令组态的连接 ID(“连接 ID 1”)链接到 CPU_2 中的 TRCV 指令。CPU_2 中的 TRCV 指令通过由 CPU_2 中的 TCON 指令组态的连接 ID(“连接 ID 1”)链接到 CPU_1 中的 TSEND 指令。

● CPU_2 中的 TSEND 指令通过由 CPU_2 中的 TCON 指令组态的连接 ID(“连接 ID 1”)链接到 CPU_1 中的 TRCV 指令。CPU_1 中的 TRCV 指令通过由 CPU_1 中的 TCON 指令组态的连接 ID(“连接 ID 1”)链接到 CPU_2 中的 TSEND 指令。

①CPU_1 上的 TCON 创建一个连接并在 CPU_1  上为该连接分配连接 ID (ID=1)。

②CPU_2 上的 TCON 创建一个连接并在 CPU_2  上为该连接分配连接 ID (ID=1)。

③CPU_1 上的 TSEND 和 TRCV 使用 CPU_1 上的 TCON  创建的连接 ID (ID=1)。

CPU_2 上的 TSEND 和 TRCV 使用 CPU_2 上的 TCON 创建的连接 ID (ID=1)。

如以下示例所示,还可以使用单个 TSEND 和 TRCV 指令通过由 TSEND_C 或 TRCV_C 指令创建的连接进行通信。TSEND 和 TRCV 指令本身不会创建新连接,因此必须使用由 TSEND_C、TRCV_C 或 TCON 指令创建的 DB 和连接 ID。

①CPU_1 上的 TSEND_C 创建一个连接并为该连接分配连接 ID (ID=1)。

②CPU_2  上的 TRCV_C 创建一个连接并在 CPU_2 上为该连接分配连接 ID (ID=1)。

③CPU_1 上的 TSEND 和 TRCV 使用 CPU_1 上的 TSEND_C 创建的连接 ID (ID=1)。CPU_2 上的 TSEND 和 TRCV 使用 CPU_2 上的 TRCV_C 创建的连接 ID (ID=1)。

组态 DNS

必须组态域名系统 (DNS) 才能使用安全 OUC。网络中必须至少存在一个 DNS 服务器,并且必须为 S7-1200 CPU 组态至少一个 DNS 服务器。

按以下步骤组态 DNS 服务器:

1. 导航到 S7-1200 CPU 的设备视图。

2. 转到“属性”(Properties) 页面和“常规”(General) 选项卡。

3. 单击 DNS 组态以显示组态页面。

4. 在“服务器列表”(Server list) 表格中 DNS 服务器地址下的第一行,单击“<添加新地址>”() 并输入 DNS 服务器的 IP 地址。

TSEND_C 和 TRCV_C 指令

从 S7-1200 CPU V4.1 或更高版本开始,与 STEP 7 V13 SP1 或更高版本一起使用时,CPU 可以扩展 TSEND_C 和 TRCV_C 指令的功能,以便使用结构符合 TCON_IP_V4 和 TCON_IP_RFC 的连接参数。

选择 TSEND_C 和 TRCV_C 指令的版本

在 STEP 7 中提供了两种版本的 TSEND_C 和 TRCV_C 指令:          

● V2.5 和 V3.1 可用于 STEP 7 Basic/Professional V13 或更早版本。

● 版本 4.0 在 STEP 7 Basic/Professional V13 SP1 或新版本中提供。

可以从兼容性和移植便利性方面考虑,选择将相应的指令版本插入用户程序中。不要在同一个 CPU 程序中使用不同版本的指令。

单击指令树任务卡上的图标可启用指令树的标题和列。

要更改 TSEND_C 和 TRCV_C 指令的版本,请从下拉列表中选择相应版本。可以选择一组指令或分别选择各个指令。

使用指令树将 TSEND_C 或 TRCV_C 指令放入程序时,将根据所选的 TSEND_C 或 TRCV_C 指令在项目树中创建新的 FB 或 FC 实例。在项目树的“PLC_x > 程序块 > 系统块 > 程序资源”(PLC_x > Program blocks > System blocks > Program resources) 下可看到新的

FB 或 FC 实例。

要检验程序中 TSEND_C 或 TRCV_C 指令的版本,必须检查项目树的属性而不是程序编辑器中所显示框的属性。选择项目树的 TSEND_C 或 TRCV_C FB 或 FC 实例,单击右键,选择“属性”(Properties),然后选择“信息”(Information) 页查看 TSEND_C 或 TRCV_C 指令的版本号。

TSEND_C 和 TRCV_C(使用以太网发送和接收数据)

TSEND_C 指令兼具 TCON、TDISCON 和 TSEND 指令的功能。TRCV_C 指令兼具TCON、TDISCON 和 TRCV 指令的功能。

最少可传送 (TSEND_C) 或接收 (TRCV_C) 一个字节的数据,最多 8192 字节。TSEND_C 不支持传送布尔位置的数据,TRCV_C 也不会在布尔位置中接收数据。有关使用这些指令传送数据的信息,请参见数据一致性部分。

TSEND_C

TSEND_C 可与伙伴站建立 TCP 或 ISO on TCP 通信连接、发送数据,并且可以终止该连接。设置并建立连接后,CPU 会自动保持和监视该连接。

TRCV_C

TRCV_C 可与伙伴 CPU 建立 TCP 或 ISO on TCP 通信连接,可接收数据,并且可以终止该连接。设置并建立连接后,CPU 会自动保持和监视该连接。

TSEND_C 指令需要通过 REQ 输入参数的上升沿来启动发送作业。然后,BUSY 参数在处理期间会设置为 1。发送作业完成时,将通过 DONE 或 ERROR 参数被设置为 1 并持续一个扫描周期进行指示。在此期间,将忽略 REQ 输入参数的上升沿。

TCON、TDISCON、TSEND 和 TRCV 指令

TCON

TCP 和 ISO on TCP:TCON 启动从 CPU 到通信伙伴的通信连接。

TDISCON

TCP 和 ISO on TCP:TDISCON 终止从 CPU 到通信伙伴的通信连接。

TSEND

TCP 和 ISO on TCP:TSEND 通过从 CPU 到伙伴站的通信连接发送数据。

TRCV

TCP 和 ISO on TCP:TRCV 通过从伙伴站到 CPU 的通信连接接收数据。

编辑:jq

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相关推荐
  • TCP

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分