该块协调各个机器人之间的互锁请求。
为了防止机器人之间发生“死锁” , 这些机器人在进入互锁之前输出互锁请求并且等待 PLC 确认。
每个机器人均有 16 个机器人/机器人互锁。在进入互锁 1 之前, 机器人输出比特位“Ver_Afn.X0” 作为互锁请求, 若为互锁 2 则输出“Ver_Anf.X1” , 以此类推。最多可以将 16 个机器人参数化。一旦 2 个机器人中只有一个输出互锁请求,就会立即获得相应的确认位。如果两个机器人在同一个周期中提出相同的互锁请求,那么首先在 PLC 中处理的那一个就会获得确认位。另一个机器人现在必须等待, 直至“第一个” 机器人撤回互锁请求并且获得确认位。
具有哪些互锁的哪些机器人彼此互锁的数据均存放在与块的 IN/OUT 变量“ST_ROBVER” 相连的数据结构中。通过块的参数化将该结构参数化。为此给相应的输入参数“Ver1_Rob” ...“Ver16_Rob” 提供一个值。
外部互锁(与块 FB_Rob_Ver_ext 有关)需要输入参数 Ver1_Rob 至 Ver16_Rob 上大于等于 99 的值。
该块还准备机器人的允许信号。从块输入“Stell_Frg” 、 “PF0” 、 “SAK” 和“ohne_Rob” 形成这些允许信号。
"Frg1_an":= "ohne_Rob" Or ("SAK" And ("Stell_Frg.X0" Or "PF0")); ... "Frg16_an":= "ohne_Rob" Or ("SAK" And ("Stell_Frg.X15" Or "PF0"));
VASS标准的A/E41-56机器人互锁信号,A/E81-96用于机器人与PLC确认关闭互锁信号. 2. 模块 1:释放逻辑 / 使能条件(Freigabebits)
功能
16 组互锁释放条件判断
逻辑
ohne_Rob:无机器人模式 → 直接释放
SAK:安全回路正常
Stell_Frg.%Xn:位置释放信号
PF0:测试 / 强制信号
作用:只有满足安全条件,互锁才能真正生效。
---
3. 模块 2:错误复位(Fehler loeschen)
每次扫描先复位错误,重新校验合法性。
---
4. 模块 3:机器人编号合法性检查(核心)
功能
机器人编号必须 1~32
超出范围 → 错误 001:机器人号越界
---
5. 模块 4:写入互锁配置(核心数据结构)
ST_ROBVER.Rob[R_Nr].Verriegelung[1] := Ver1_Rob;...ST_ROBVER.Rob[R_Nr].Verriegelung[16] := Ver16_Rob; 含义
ST_ROBVER:全局机器人互锁数据块
Rob[R_Nr]:当前机器人
Verriegelung[1~16]:本机器人需要和哪 16 个对象互锁
特殊值
1~32 = 机器人编号
99 = 外部设备(PLC / 安全回路)
0 = 无互锁
---
6. 模块 5:HMI 显示文本自动生成
IF Ver1_Rob >0 AND <33 THEN ST_ROB.VerrText[1] := 机器人名称ELSIF Ver1_Rob=99 THEN ST_ROB.VerrText[1] := 'Ext.'END_IF; 功能
自动在触摸屏显示:
机器人 A ↔ 机器人 B 互锁
机器人 ↔ 外部设备 互锁
---
7. 模块 6:互锁请求处理(最核心!)
FOR iHM_Zaehler1 := 0 TO 15 DO IF Ver_Anf 对应位=1 THEN 检查互锁对象是否合法 检查对方机器人是否也互锁了我 都满足 → 输出应答信号 Quitt_Anf END_IF;END_FOR; 互锁逻辑(必须满足 2 个条件)
A 机器人要和 B 互锁B 机器人必须也要和 A 互锁双向互锁才生效,否则直接报错!
错误定义
Fehler2:互锁对象编号非法
Fehler3:双向互锁不匹配(单向互锁 = 错误)
---
8. 模块 7:初始化与脉冲触发
PF0 信号上升沿 → 重新加载互锁配置
用于调试、参数修改后生效
---
9. 模块 8:错误报警 + HMI
作用
报警上触摸屏
安全系统停止机器人
提示维修人员故障原因
每个机器人标准有16个锁定命令可用,这些命令已永久分配给I / O。
在在线驾驶条件下必须查询相应的锁定输入。
如果是”小蓝”先进入安全区的话,应先关闭自身给”小黄”的安全信号,然后在安全区工作时等待”小黄”的安全信号.
如果”小黄”后进入安全区的话,由于之前”小蓝”关闭了自己安全信号,小黄只能等待小蓝的安全信号的再次发出
2.在安全区时:
如果”小蓝”在安全区时,始终 等待”小黄”的安全信号.
如果”小黄”后进入安全区的话,由于之前”小蓝”关闭了自己安全信号,小黄只能等待小蓝的安全信号的再次发出.
3.离开安全区时:
如果”小蓝”离开安全区后,应先发给”小黄”的安全信号,释放互锁信号.
”小黄”后进入安全区后,关闭互锁信号,等待小蓝的安全信号.
VASS 标准使用的互锁标准:互锁示意图,设定机器人之间互锁所使用的IO范围.
发出互锁条件:
关闭互锁条件:
Robot<-->机器人互锁
每个机器人标准提供16个锁定命令,这些命令永久分配给I/O。必须在在线驾驶条件下检查相应的锁定输入。
编程机器人锁定示例:
1: PTP VB=100% VE=0% ACC=100% RobWzg=1 Base=1 SPSTrig=5 [1/100s]
1: TECH3 Roboter GRDST-UP Techaufruf=EIN
2: A81 = EIN ~锁定1
3: A82 = EIN ~锁定 2
4: A83 = EIN ~ 锁定 3
5: SPSMAKRO20 = EIN ~ 机器人锁激活,关闭释放信号
6: WARTE BIS E23
7: FB PSPS = E14 & E24 & E41 & E42 & E43 & E80 & M95
Macro20必须与锁定请求同时调用!!!
释放互锁信号
7: A41 = EIN
9: A42 = EIN
11: A43 = EIN
13: A44 = EIN
关闭部分互锁信号,开始进入干涉区工作。
30: A81 = EIN 用于请求关闭互锁信号
31: A83 = EIN
32: SPSMAKRO20 = EIN 关闭A41和A43的互锁信号
35: FB PSPS = E41 & E43
等待其他机器人给入的互锁信号才能进入干涉区工作
离开干涉区后再次发出互锁信号
4: A41 = EIN
6: A43 = EIN
FB PSPS = M1 & M30机器人不用再等干涉信号
--------------------
A41 = A41 + A81 再次发出A41
WARTE BIS (E81 + !A81) & (E82 + !A82) & (E83 + !A83) & (E84 +!A84) & (E85 + !A85) -PLC检查是否设置正确- WARTE BIS (E86 + !A86) & (E87 +!A87) & (E88 + !A88) & (E89 + !A89) & (E90 + !A90)
WARTE BIS (E91 + !A91) & (E92 +!A92) & (E93 + !A93) & (E94 + !A94) & (E95 + !A95)
WARTE BIS (E41 + !A81) & (E42 +!A82) & (E43 + !A83) & (E44 + !A84) & (E45 + !A85) -察看E41 互锁机器人是否允许进入- WARTE BIS (E46 + !A86) & (E47 +!A87) & (E48 + !A88) & (E49 + !A89) & (E50 + !A90) WARTE BIS (E51 + !A91) & (E52 +!A92) & (E53 + !A93) & (E54 + !A94) & (E55 + !A95) A41 = A41 & !A81 -如果给入A81=1关闭A41- 如果不给入A81则不关闭A41 A87 = AUS
---------------------end-------------------------------- 每天进步一点点
Make small but daily progress