表格 13- 3 PTP 指令的常见输入参数
参数 | 说明 |
REQ | 许多 PtP 指令使用 REQ 输入在由低电平向高电平切换时启动操作。 REQ 输入在指令执行一次的时间内必须为高电平 (TRUE),不过 REQ 输入可以在所需时间内一直保持为 TRUE。 在 REQ 输入为 FALSE 时调用指令以便能复位 REQ 输入的历史状态之前,指令不会启动其它操作。 只有这样,指令才能检测低电平到高电平的跳变以启动下一个操作。
将 PtP 指令放入程序时,STEP 7 会提示用户指定背景数据块。 对每个 PtP 指令调用使用一个**的背景数据块。 这样可确保每个指令都能正确地处理诸如 REQ 等输入。 |
PORT | 在通信设备组态过程中分配端口地址。 组态后,可以从参数帮助下拉列表中选择默认端口的符号名称。 分配的 CM 或 CB 端口值为设备配置属性“硬件标识符”。 端口符号名称在 PLC 变量表的“常量”(Constants) 选项卡中分配。 |
位时间精度 | 有几个参数以位时间(通过组态的波特率确定)为单位指定的。 以位时间为单位指定参数可以使参数与波特率无关。 所有以位时间为单位的参数都可以被指定为多 65535 个位。但 CM 或 CB 可测量的长时间是 8 秒。 |
PtP 指令的输出参数 DONE、NDR、ERROR 和 STATUS 可提供 PtP操作的执行完成状态。
表格 13- 4 DONE、NDR、ERROR 和 STATUS 输出参数
参数 | 数据类型 | 默认值 | 说明 |
DONE | Bool | FALSE | 设置为 TRUE 并持续执行一次所需的时间,以表明上一请求已经完成且 没有出现错误;否则为 FALSE。 |
NDR | Bool | FALSE | 设置为 TRUE 并持续执行一次所需的时间,以表明请求的动作已经完成 且没有出现错误并已接收新的数据;否则为 FALSE。 |
ERROR | Bool | FALSE | 设置为 TRUE 并持续执行一次所需的时间,以表明上一请求已经完成但 出现了错误,相应的错误代码在 STATUS 中;否则为 FALSE。 |
STATUS | Word | 0 | 结果状态:
· 如果设置了 DONE 或 NDR 位,则 STATUS 被设置为 0 或信息代码。 · 如果设置了 ERROR 位,则 STATUS 被设置为一个错误代码。 · 如果没有设置以上任何一位,则指令会返回说明功能 当前状态的状态结果。 STATUS 在该功能执行期间一直保持其值。 |
说明
DONE、NDR 和 ERROR 参数仅置位一个执行周期的时间。 程序逻辑必须将临时输出状态值保存在数据锁存器中,以便能检测到后续程序扫描中的状态变化。
表格 13- 5 公共条件代码
STATUS
(W#16#....) |
说明 |
0000 | 无错误 |
7000 | 功能不忙 |
7001 | 功能忙于处理个调用。 |
7002 | 功能忙于处理后续调用(个调用后的轮询)。 |
8x3A | 参数 x 中的指针非法 |
8070 | 所有内部实例存储器都被占用,正在执行的并发指令过多 |
8080 | 端口号非法。 |
8081 | 超时、模块错误或其它内部错误 |
8082 | 由于正在后台进行参数化,参数化失败。 |
8083 | 缓冲区溢出:
CM 或 CB 返回一条接收到的消息,该消息的长度大于长度参数所允许的值。 |
8090 | 内部错误:错误的消息长度、错误的子模块或非法消息 请联系客户支持。 |
8091 | 内部错误:参数化消息中的版本错误 请联系客户支持。 |
8092 | 内部错误:参数化消息中的记录长度错误 请联系客户支持。 |
表格 13- 6 常见的错误类别
类别说明 | 错误类别 | 说明 |
端口组态 | 16#81Ax | 用于定义常见端口组态错误 |
传送组态 | 16#81Bx | 用于定义常见传送组态错误 |
接收组态 | 16#81Cx
16#82Cx |
用于定义常见接收组态错误 |
传送运行时 | 16#81Dx | 用于定义常见传送运行时错误 |
接收运行时 | 16#81Ex | 用于定义常见接收运行时错误 |
信号处理 | 16#81Fx | 用于定义与所有信号处理相关的常见错误 |
指针错误 | 16#8p01 到
16#8p51 |
用 ANY 指针错误,其中“p”是指令的参数编号 |
嵌入式协议错误 | 16#848x
16#858x |
用于嵌入式协议错误 |
继续阅读

plc入门知识问答
所有PLC工程师都会关注的微信公众账号,只需输入您的问题,就会有答案
评论