SF_GetStatus函数
返回安全功能的状态位。
格式
SF_GetStatus (索引)
参数
- 索引
- 以整数值指定要检索的信息索引。
返回值
以整数值返回指定的索引的信息。
说明
返回值的位信息如下表所示。
索引 | 位 | 值 | 说明 |
---|---|---|---|
0 | 0-6 | - | 已预约 |
7 | &H80 | Safety板的故障检测 | |
1 | 0 | &H1 | 启用SLS_1功能 |
1 | &H2 | 启用SLS_2功能 | |
2 | &H4 | 启用SLS_3功能 | |
3-7 | - | 已预约 | |
2 | 0 | &H1 | 启用SLP_A功能 |
1 | &H2 | 启用SLP_B功能 | |
2 | &H4 | 启用SLP_C功能 | |
3-6 | - | 已预约 | |
7 | &H80 | 启用轴软限位功能(通常为启用) | |
3 | 0 | &H1 | SAFETY_IN1信号High(功能关闭) *1 |
1 | &H2 | SAFETY_IN2信号High(功能关闭) *1 | |
2 | &H4 | SAFETY_IN3信号High(功能关闭) *1 | |
3 | &H8 | SAFETY_IN4信号High(功能关闭) *1 | |
4 | &H10 | SAFETY_IN5信号High(功能关闭) *1 | |
5-7 | - | 已预约 | |
4 | 0 | &H1 | SAFETY_OUT1信号High(功能关闭) *2 |
1 | &H2 | SAFETY_OUT2信号High(功能关闭) *2 | |
2 | &H4 | SAFETY_OUT3信号High(功能关闭) *2 | |
3-7 | - | 已预约 | |
5 | 0 | &H1 | SLP_A *3 |
1 | &H2 | SLP_B *3 | |
2 | &H4 | SLP_C *3 | |
3-6 | - | 已预约 | |
7 | &H80 | SLP_J *3 | |
6~11 | 0-7 | - | 已预约 |
12 | 0-7 | - | STF_ID |
13 | 0-7 | - | STF_DET_L |
14 | 0-7 | - | STF_DET_U |
15 | 0-7 | - | 已预约 |
- *1. 安全输入信号为负逻辑(Active Low)。
- 如果在安全输入中输入信号水平High,本函数将返回1,分配给安全输入的功能不执行动作。
如果在安全输入中输入信号电平Low,本函数将返回0,分配给安全输入的功能将执行动作。如果不将设备连接到安全输入,将变为此状态。 - *2 安全输出信号为负逻辑(Active Low)。
- 如果分配给安全输出的任一功能处于动作状态,安全输出将被启用,安全输出的信号水平变为Low,本函数返回0。
如果分配给安全输出的任一功能均不处于动作状态,安全输出将被禁用,安全输出的信号水平变为High,本函数返回1。
如果未对安全输出分配任何功能,安全输出的信号水平将变为Low,本函数返回0。 - *3 无论是否对安全输入分配了SLP功能,也无论输入信号是有效还是无效,进入监视位置时均为1。
使用STF_ID和STF_DET_L、STF_DET_H,即可确认错误发生原因。 使用SPEL+进行确认的方法将在后面说明。 STF_ID和STF_DET_L、STF_DET_H的信息如下所示。
STF_ID | 错误名称 | STF_DET_L | STF_DET_U |
---|---|---|---|
100 | 停止通知 安全输入 | 安全输入端口 SAFETY_IN1 0×01 SAFETY_IN2 0×02 SAFETY_IN3 0×04 SAFETY_IN4 0×08 SAFETY_IN5 0×10 | 不使用 |
101 | 停止通知 SLS_1 超速 关节 | 关节编号 J1 0×01 / J2 0×02 J3 0×04 / J4 0×08 J5 0×10 / J6 0×20 | 不使用 |
102 | 停止通知 SLS_1 超速 部位 | 部位 夹具 0×01 / 肘部 0×02*1 手腕 0×04 / 肩部 0×08 *1 | 不使用 |
103 | 停止通知 SLS_2 超速 关节 | 关节编号 J1 0×01 / J2 0×02 J3 0×04 / J4 0×08 J5 0×10 / J6 0×20 | 不使用 |
104 | 停止通知 SLS_2 超速 部位 | 部位 夹具 0×01 / 肘部 0×02*1 手腕 0×04 / 肩部 0×08 *1 | 不使用 |
105 | 停止通知 SLS_3 超速 关节 | 关节编号 J1 0×01 / J2 0×02 J3 0×04 / J4 0×08 J5 0×10 / J6 0×20 | 不使用 |
106 | 停止通知 SLS_3 超速 部位 | 部位 夹具 0×01 / 肘部 0×02*1 手腕 0×04 / 肩部 0×08 *1 | 不使用 |
107 | 停止通知 SLS_T 超速 关节 | 关节编号 J1 0×01 / J2 0×02 J3 0×04 / J4 0×08 J5 0×10 / J6 0×20 | 不使用 |
108 | 停止通知 SLS_T 超速 部位 | 部位 夹具 0×01 / 肘部 0×02*1 手腕 0×04 / 肩部 0×08 *1 | 不使用 |
109 | 停止通知 SLS_T2 超速 关节 | 关节编号 J1 0×01 / J2 0×02 J3 0×04 / J4 0×08 J5 0×10 / J6 0×20 | 不使用 |
110 | 停止通知 SLS_T2 超速 部位 | 部位 夹具 0×01 / 肘部 0×02*1 手腕 0×04 / 肩部 0×08 *1 | 不使用 |
115 | 停止通知 SLP_A位置违规 监控位置 | 监控位置 YL 0×01 / YU 0×02 XL 0×04 / XU 0×08 ZL 0×10 / ZU 0×20 *2 | 关节编号 J6 0×08 J5 0×04 J3 0×02 J2 0×01 |
116 | 停止通知 SLP_B位置违规 监控位置 | 监控位置 YL 0×01 / YU 0×02 XL 0×04 / XU 0×08 ZL 0×10 / ZU 0×20 *2 | 关节编号 J6 0×08 J5 0×04 J3 0×02 J2 0×01 |
117 | 停止通知 SLP_C位置违规 监控位置 | 监控位置 YL 0×01 / YU 0×02 XL 0×04 / XU 0×08 ZL 0×10 / ZU 0×20 *2 | 关节编号 J6 0×08 J5 0×04 J3 0×02 J2 0×01 |
118 | 停止通知 轴软限位 | 关节编号 J1 0×01 / J2 0×02 J3 0×04 / J4 0×08 J5 0×10 / J6 0×20 | 不使用 |
121 | 停止通知 开关输入 | 开关编号 使能开关 0×01 紧急停止开关(示教器) 0×02 紧急停止开关(控制器连接) 0×04 | 不使用 |
122 | 停止通知 模式控制 | 模式 参数通信许可 0×08 安全功能(Safety板) 禁用 0×04 操作模式切换 0×02 参数设置 已认证 0×01 | 不使用 |
123 | 停止通知 减速监控 | 检测异常 减速异常0×08, 0×04 减速完成 0×02 经过了监视时间 0×01 | 不使用 |
124 | 停止通知 关节角度极限 | 关节编号 J1 0×01 / J2 0×02 J3 0×04 / J4 0×08 J5 0×10 / J6 0×20 | 不使用 |
131 | 故障停止通知 编码器通信异常 | 关节编号 J1 0×01 / J2 0×02 J3 0×04 / J4 0×08 J5 0×10 / J6 0×20 | 不使用 |
132 | 故障停止通知 位置异常 | 关节编号 J1 0×01 / J2 0×02 J3 0×04 / J4 0×08 J5 0×10 / J6 0×20 | 不使用 |
133 | 故障停止通知 重复输入异常 | 检测到异常的部位 安全输入端口 SAFETY_IN 1 0×01 SAFETY_IN 2 0×02 SAFETY_IN 3 0×04 SAFETY_IN 4 0×08 SAFETY_IN 5 0×10 使能开关 0×20 紧急停止开关(示教器) 0×40 紧急停止开关(控制器连接) 0×80 | 不使用 |
134 | 故障停止通知 重复输出异常 | 检测到异常的部位 安全输出端口 SAFETY_OUT 1 0×01 SAFETY_OUT 2 0×02 SAFETY_OUT 3 0×04 STO 0×80 | 不使用 |
135 | 故障停止通知 Safety板异常 | 检测到异常的部位 通信总线 0×20 电源(3.3V) 0×08 电源(5V) 0×04 看门狗定时器检测 0×02 继电器融接 0×01 | 不使用 |
136 | 故障停止通知 Safety板 MCU异常 | 检测到异常的部位 序列监控 0×10 CPU 0×08 RAM 0×04 程序ROM 0×02 数据ROM 0×01 | DET_L = 0×01时 (数据ROM) 0×00 - 0×FE 数据故障位置 0×FF 参数的故障 |
137 | 故障停止通知 Safety板 重复内部异常 | 检测到异常的部位 TCP位置不一致 0×02 状态不一致 0×01 | 不使用 |
138 | 故障停止通知 编码器 内部异常 | 关节编号 J1 0×01 / J2 0×02 J3 0×04 / J4 0×08 J5 0×10 / J6 0×20 | 不使用 |
139 | 故障停止通知 控制器 内部异常 | 检测到异常的部位 操作模式接收错误 0×01 | 不使用 |
*1 安全功能管理器的安全极限速度的监控关节J2、J3、J5与本手册中提及的超速部位(夹具、手腕、肘部和肩部)之间的对应关系如下所示。
- 水平多关节型
- J2:肘
- J3:无
- J5:无
- Hand:末端夹具
- 垂直6轴型
- J2:肩
- J3:肘
- J5:手腕
- Hand:末端夹具
*2 安全功能管理器的安全极限位置的监控位置X1、X2、Y1、Y2、Z1、Z2与本手册提及的监控位置XL、XU、YL、YU、ZL、ZU的对应关系如下所示。
- 在监控位置选择“壁面”时
- X1 = XL, X2 = XU
- Y1 = YL, Y2 = YU
- Z1 = ZL, Z2 = ZU (仅垂直6轴型)
- 在监控位置选择“限制区域”时
- X1 = XU, X2 = XL
- Y1 = YU, Y2 = YL
- Z1 = ZL, Z2 = ZU (仅垂直6轴型)
使用STF_ID和STF_DET_L、STF_DET_H确认错误发生原因的方法
在命令窗口等按以下顺序输入并确认命令。
> SF_GetStatus (12)
115 '表示由于“停止通知 SLP_A 位置违规”而产生的错误。
> SF_GetStatus (13)
1 '表示超过“YL”方向的监控位置。(确认STF_ID: 115的内容。)
> SF_GetStatus (14)
1 '表示“J2轴”已超过。(确认STF_ID: 115的内容。)
综上所述,可知错误发生的原因在于“J2轴超过了SLP_A的YL的监控位置”。
错误信息也被记录在Epson RC+的系统历史中。错误发生原因则被记录在“附加信息”中。请参阅《状态与错误信息》中关于错误信息的内容。
本命令可用于安装有Safety板的控制器。
SF_GetStatus函数使用示例
If (SF_GetStatus(3) And &H1) = &H1 Then
Print "SAFETY_IN1 is High"
Else
Print "SAFETY_IN1 is Low"
EndIf