开放式用户通信
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
全部0条评论
快来发表一下你的评论吧 !