两个西门子PLC之间是怎样传输数据的?
2020-11-29
基于 TCP 的 ISO 传输服务的协议:ISO-on-TCPISO on TCP 是一种能够将 ISO 应用移植到 TCP/IP 网络的机制。该协议有以下特点:
- 它是与硬件关系紧密的高效通信协议。
- 它适合用于中等大小或较大的数据量(多 8192 字节)。
- 与 TCP 相比,它的消息提供了数据结束标识符并且它是面向消息的。
- 具有路由功能;
- 可用于 WAN。
- 可用于实现动态数据长度。
- 由于使用 SEND/RECEIVE 编程接口的缘故,需要对数据管理进行编程。
- 通过传输服务访问点 (TSAP, Transport Service Access Point),TCP 协议允许有多个连接访问单个 IP 地址(多 64K 个连接)。
- 借助 RFC 1006,TSAP 可**标识连接到同一个 IP 地址的这些通信端点连接。
- 在“连接参数”(Connection Parameters) 对话框的“地址详细信息”(Address Details) 部分,定义要使用的 TSAP。
- 在“本地 TSAP”(Local TSAP) 域中输入 CPU 中连接的 TSAP。
- 在“伙伴 TSAP”(Partner TSAP) 域下输入为伙伴 CPU 中的连接分配的 TSAP。
传输控制协议 (TCP):TCP 是由 RFC 793 描述的一种标准协议:传输控制协议。TCP 的主要用途是在过程对之间提供可靠、安全的连接服务。该协议有以下特点:
- 由于它与硬件紧密相关,因此它是一种高效的通信协议。
- 它适合用于中等大小或较大的数据量(多 8192 字节)。
- 它为应用带来了更多的便利,特别是:错误恢复、流控制、可靠性。
- 它是一种面向连接的协议。
- 它可以非常灵活地用于只支持 TCP 的第三方系统。
- 有路由功能。
- 只能应用静态数据长度。
- 消息会被确认。
- 使用端口号对应用程序寻址。
- 大多数用户应用协议(例如 TELNET 和 FTP)都使用 TCP。
- 由于使用 SEND/RECEIVE 编程接口的缘故,需要对数据管理进行编程。
让我们通过下面的实例来了解一下PLC与PLC之间的通讯吧。
一、调用通讯模块,点击工具箱标志,进行通讯参数进行配置。
二、连接参数(本地)
- 选择本地PLC。
- 选择本地通讯接口(通讯网络)。
- 选择连接类型:TCP。
- 选择连接ID:1。
- 创建连接数据。
- 填入本地端口号:当本体主动建立连接时无需设置。
连接参数
选择伙伴PLC。
选择伙伴通讯接口(通讯网络)。
选择连接ID:1。
创建连接数据:此数据将在伙伴PLC中创建。
填入本地端口号:当伙伴主动建立连接时无需设置。
三、块参数
- 指定启动请求信号。
- 选择连接状态。
- 选择连接数据指针:此数据位连接参数创建时的连接数据。
- 发送数据区域:此时数据为通讯数据内容,数据的小单位为Byte。
四、通讯控制指令
TSEND_C命令建立连接并发送数据,TRCV_C命令通过以太网接收数据。
a. TSEND_C命令 :建立连接并发送数据。
使用“TSEND_C”指令设置并建立通信连接。设置并建立连接后,CPU 会自动保持和监视该连接。该指令异步执行且具有以下功能:
- 设置并建立通信连接;
- 通过现有的通信连接发送数据;
- 终止或重置通信连接;
- 指令“TSEND_C”在内部使用通信指令“TCON”、“TSEND”、“T_DIAG”、“T_RESET”和“TDISCON”。
b. TRCV_C命令:通过以太网接收数据。
“TRCV_C”指令异步执行并会按顺序实施以下功能:
- 设置并建立通信连接
- 通过现有的通信连接
- 接收数据终止或重置通信连接指令“TRCV_C”在内部使用通信指令“TCON”、“TRCV”、“T_DIAG”、“T_RESET”和“TDISCON”。