• 沒有找到結果。

PLC 概念 3

TIME 32 位 存储形式

6.2.5 通信指令

6.2.5.1 开放式以太网通信

可自动连接/断开的开放式以太网通信(TSEND_C 和 TRCV_C)

说明

处理 TSEND_C 和 TRCV_C 指令花费的时间量无法确定。 要确保这些指令在每次扫描循 环中都被处理,务必从主程序循环扫描中对其调用,例如,从程序循环 OB 中或从程序循 环扫描中调用的代码块中对其调用。 不要从硬件中断 OB、延时中断 OB、循环中断 OB、错误中断 OB 或启动 OB 调用这些指令。

有关使用这些指令传送数据的信息,请参阅数据一致性 (页 94)部分。

TSEND_C 描述

TSEND_C 可与伙伴站建立 TCP 或 ISO on TCP 通信连接,发送数据并且可以终止该连

长沙工控帮教育科技有限公司整理

说明

LEN 参数的默认设置 (LEN = 0) 使用 DATA 参数来确定要传送的数据的长度。 确保 TSEND_C 指令传送的 DATA 的大小与 TRCV_C 指令的 DATA 参数的大小相同。

下列功能说明了 TSEND_C 指令的操作:

● 要建立连接,请在 CONT = 1 时执行 TSEND_C。

● 成功建立连接后,TSEND_C 便会置位 DONE 参数一个周期。

● 要终止通信连接,请在 CONT = 0 时执行 TSEND_C。连接将立即中止。 这还会影响 接收站。 将在接收站关闭该连接,并且接收缓冲区内的数据可能会丢失。

● 要通过建立的连接发送数据,请在 REQ 的上升沿执行 TSEND_C。 发送操作成功执 行后,TSEND_C 便会设置 DONE 参数一个周期。

● 要建立连接并发送数据,请在 CONT =1 且 REQ = 1 时执行 TSEND_C。发送操作成 功执行后,TSEND_C 便会置位 DONE 参数一个周期。

TRCV_C 描述

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

TDISCON 和 TRCV 指令的功能。

使用 TRCV_C 指令可以接收的最小数据单位是字节。 TRCV_C 指令不支持传送布尔数据 或布尔数组。

说明

LEN 参数的默认设置 (LEN = 0) 使用 DATA 参数来确定要传送的数据的长度。 确保 TSEND_C 指令传送的 DATA 的大小与 TRCV_C 指令的 DATA 参数的大小相同。

下列功能说明了 TRCV_C 指令的操作:

● 要建立连接,请在参数 CONT = 1 时执行 TRCV_C。

● 要接收数据,请在参数 EN_R = 1 时执行 TRCV_C。参数 EN_R = 1 且 CONT = 1 时 TRCV_C 连续接收数据。

● 要终止连接,请在参数 CONT = 0 时执行 TRCV_C。连接将立即中止且数据可能丢 失。

长沙工控帮教育科技有限公司整理

接收模式

TRCV_C 处理与 TRCV 指令相同的接收模式。 下表说明了在接收区输入数据的方法。

协议选项 在接收区输入数据 参数“connection_type”

TCP 指定长度的数据接收 B#16#11

ISO on TCP 协议控制 B#16#12

说明

由于 TSEND_C 采用异步处理,所以在 DONE 参数值或 ERROR 参数值为 TRUE 前,必 须保持发送方区域中的数据一致。

对于 TSEND_C,DONE 参数状态为 TRUE 表示数据成功发送。 但并不表示连接伙伴 CPU 实际读取了接收缓冲区。

由于 TRCV_C 采用异步处理,因此仅当参数 DONE = 1 时,接收器区域中的数据才一 致。

下表说明了参数 BUSY、DONE 和 ERROR 之间的关系。

BUSY DONE ERROR 说明

TRUE 不相关 不相关 作业正在处理。

FALSE TRUE FALSE 作业已成功完成。

FALSE FALSE TRUE 该作业以出错而结束。 出错原因可在 STATUS 参数中找 到。

FALSE FALSE FALSE 未分配新作业。

TSEND_C 参数

长沙工控帮教育科技有限公司整理

参数 参数类型 数据类型 说明

REQ INPUT Bool 控制参数 REQ 在上升沿启动具有 CONNECT 中 所述连接的发送作业。

CONT INPUT Bool  0: 断开

 1: 建立并保持连接

LEN INPUT Int 要发送的最大字节数。 (默认值 = 0,这表示 DATA 参数决定要发送的数据的长度)。

CONNECT IN_OUT TCON-Param

指向连接描述的指针

DATA IN_OUT Variant 发送区;包含要发送数据的地址和长度。

COM_RST IN_OUT Bool  1: 完成功能块的重新启动,现有连接将终止。

DONE OUTPUT Bool  0: 作业尚未开始或仍在运行。

 1: 无错执行作业。

BUSY OUTPUT Bool  0: 作业完成。

 1: 作业尚未完成。 无法触发新作业。

ERROR OUTPUT Bool  1: 处理时出错。 STATUS 提供错误类型的详 细信息。

STATUS OUTPUT Word 错误信息

TRCV_C 参数

长沙工控帮教育科技有限公司整理

参数 参数类型 数据类型 说明

CONNECT IN_OUT TCON-Param

ERROR STATUS (W#16#...)

说明

0 0000 作业已无错执行 0 7000 无激活的作业处理

长沙工控帮教育科技有限公司整理

ERROR STATUS (W#16#...)

说明

0 7004 连接已建立并受到监视,无激活的作业处理 1 8085 LEN 参数的值比最大的允许值大

1 8086 CONNECT 参数超出允许范围

1 8087 已达到最大连接数;无法建立更多连接

1 8088 LEN 参数大于 DATA 中指定的存储区;接收存储区过小 1 8089 参数 CONNECT 未指向数据块。

1 8091 超出最大嵌套深度

1 809A CONNECT 参数指向的域与连接描述的长度不匹配。

1 809B 连接描述中的 local_device_id 与 CPU 的不匹配。

1 80A1 通信错误:

 尚未建立指定的连接

 当前正在终止指定的连接;无法通过该连接传输

 正在重新初始化接口 1 80A3 正在尝试终止不存在的连接

1 80A4 远程伙伴连接的 IP 地址无效。 例如,远程伙伴的 IP 地址与本地 伙伴的 IP 地址相同。

1 80A7 通信错误: 在 TCON 完成前调用了 TDISCON(TDISCON 必须 先完全终止 ID 引用的连接)

1 80B2 参数 CONNECT 指向使用关键字 UNLINKED 生成的数据块 1 80B3 不一致的参数:

 连接描述错误

 本地端口(参数 local_tsap_id)已在另一个连接描述中存在

 连接描述中的 ID 与作为参数指定的 ID 不同

长沙工控帮教育科技有限公司整理

ERROR STATUS

使用 TCP 和 ISO on TCP 协议的以太网通信

TCON、TDISCON、TSEND 和 TRCV 异步运行,即,作业处理需要使用多个指令执行 来完成。

TCON

参数 参数类型 数据类型 说明

REQ IN Bool 控制参数 REQUEST 启动用于建立连接的作 业,该连接是通过 ID 指定的。在上升沿启动该 作业。

ID IN CONN_OUC (Word)

引用要建立的、连接到远程伙伴或在用户程序 和操作系统通信层之间的连接。 标识号必须与 本地连接描述中的相关参数标识号相同。

值范围: W#16#0001 到 W#16#0FFF CONNECT IN_OUT

TCON-Param

指向连接描述的指针

DONE OUT Bool 状态参数 DONE:

 0: 作业尚未启动或仍在运行

 1: 作业已无错执行 BUSY OUT Bool BUSY = 1: 作业尚未完成

BUSY = 0: 作业已完成 ERROR OUT Bool 状态参数 ERROR:

ERROR = 1: 作业处理期间出错。 STATUS 提供错误类型的详细信息。

STATUS OUT Word 状态参数 STATUS:错误信息

长沙工控帮教育科技有限公司整理

TDISCON

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

参数 参数类型 数据类型 说明

REQ IN Bool 控制参数 REQUEST 启动用于建立连接的作 业,该连接是通过 ID 指定的。在上升沿启动该 作业。

ID IN CONN_OU C (Word)

引用要终止的、连接到远程伙伴或在用户程序和 操作系统通信层之间的连接。标识号必须与本地 连接描述中的相关参数标识号相同。

值范围: W#16#0001 到 W#16#0FFF DONE OUT Bool 状态参数 DONE:

 0: 作业尚未启动或仍在运行

 1: 作业已无错执行 BUSY OUT Bool BUSY = 1:作业尚未完成

BUSY = 0:作业已完成 ERROR OUT Bool ERROR = 1:处理时出错。

STATUS OUT Word 错误代码

TSEND

长沙工控帮教育科技有限公司整理

参数 参数类型 数据类型 说明

REQ IN Bool 控制参数 REQUEST 在上升沿启动发送作业。

传送通过 LEN 和 DATA 指定的区域中的数据。

ID IN CONN_OU C (Word)

引用相关的连接。标识号必须与本地连接描述中 的相关参数标识号相同。

值范围: W#16#0001 到 W#16#0FFF

LEN IN Int 要通过作业发送的最大字节数

DATA IN_OUT Variant 指向要发送数据区的指针: 发送方区域;包含 地址和长度。 地址将参考:

 过程映像输入表

 过程映像输出表

 位存储器

 数据块

DONE OUT Bool 状态参数 DONE:

 0: 作业尚未开始或仍在运行。

 1: 无错执行作业。

BUSY OUT Bool  BUSY = 1: 作业尚未完成。 无法触发新作 业。

 BUSY = 0: 作业已完成。

ERROR OUT Bool 状态参数 ERROR:

ERROR = 1:处理时出错。 STATUS 提供有关 错误类型的详细信息

STATUS OUT Word 状态参数 STATUS:错误信息

TRCV

长沙工控帮教育科技有限公司整理

参数 参数类型 数据类型 说明

接收区

TRCV 指令将收到的数据写入到通过以下两个变量指定的接收区:

● 指向区域起始位置的指针

● 区域长度 说明

LEN 参数的默认设置 (LEN = 0) 使用 DATA 参数来确定要传送的数据的长度。 确保 TSEND 指令传送的 DATA 的大小与 TRCV 指令的 DATA 参数的大小相同。

下表说明了 TRCV 如何在接收区输入接收数据。

协议选项 在接收区输入数据 参数连接类型

TCP 指定长度的数据接收 B#16#11

ISO on TCP 协议控制 B#16#12

接收所有作业数据后,TRCV 立即将其传送到接收区并将 NDR 设置为 1。

TCON 的条件代码

ERROR STATUS (W#16#...)

说明

0 0000 连接已成功建立 0 7000 无激活的作业处理

0 7001 启动作业处理,正在建立连接

0 7002 后续调用(与 REQ 不相关),正在建立连接 1 8086 ID 参数超出允许范围。

1 8087 已达到最大连接数;无法建立更多连接

1 809B 连接描述中的 local_device_id 与 CPU 的不匹配。

1 80A1 连接或端口已被用户占用

1 80A2 本地端口或远程端口已被系统占用

长沙工控帮教育科技有限公司整理

ERROR STATUS

W#16#80A4、W#16#80B4 到 W#16#80B9 对应的组错误 1 80B4 使用 ISO on TCP (connection_type = B#16#12) 建立被动连接

1 80B7 以下参数之一有错误: block_length、local_tsap_id_len、

rem_subnet_id_len、rem_staddr_len、rem_tsap_id_len、

TDISCON 的条件代码

ERROR STATUS (W#16#...)

ERROR STATUS (W#16#...)

ERROR STATUS

6.2.6 中断指令

6.2.6.1 附加和分离指令

使用 ATTACH 和 DETACH 指令可激活和禁用中断事件驱动 的子程序。

 ATTACH 启用响应硬件中断事件的中断 OB 子程序执行。

 DETACH 禁用响应硬件中断事件的中断 OB 子程序执行。

参数 参数类型 数据类型 说明

OB_NR IN Int 组织块标识符:

从使用“添加新块”(Add new block) 功能创建 的可用硬件中断 OB 中进行选择。 双击该参 数域,然后单击助手图标可查看可用的 OB。

EVENT IN DWord 事件标识符:

从在 PLC 设备配置中为数字输入或高速计数 器启用的可用硬件中断事件中进行选择。 双 击该参数域,然后单击助手图标可查看这些可 用事件。

ADD

(仅

ATTACH)

IN Bool ADD = 0(默认): 该事件将取代先前为此 OB 附加的所有事件。

ADD = 1: 该事件将添加到先前为此 OB 附 加的事件中。

RET_VAL OUT Int 执行条件代码

长沙工控帮教育科技有限公司整理

硬件中断事件

CPU 支持以下硬件中断事件:

● 上升沿事件(所有内置 CPU 数字量输入外加任何信号板数字量输入)

– 数字输入从 OFF 切换为 ON 时会出现上升沿,以响应连接到输入的现场设备的信 号变化。

● 下降沿事件(所有内置 CPU 数字量输入外加任何信号板输入)

– 数字输入从 ON 切换为 OFF 时会出现下降沿。

● 高速计数器 (HSC) 当前值 = 参考值 (CV = RV) 事件(HSC 1 至 6)

– 当前计数值从相邻值变为与先前设置的参考值完全匹配时,会生成 HSC 的 CV = RV 中断。

● HSC 方向变化事件(HSC 1 至 6)

– 当检测到 HSC 从增大变为减小或从减小变为增大时,会发生方向变化事件。

● HSC 外部复位事件(HSC 1 至 6)

● HSC 外部复位事件(HSC 1 至 6)