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