这种方案通常用于无法进行外呼(呼叫电梯到指定楼层)或者为了最大化利用电梯运力(人机混乘)的场景。由于是通过"内呼"逻辑,机器人需要像人一样进入电梯后才能按下目标楼层。
梯控模式切换指令(Type 类型参数)
| Type 值 | 模式说明 | 适用场景 |
|---|---|---|
| 0 | 梯控专用模式 | 刷卡 / 刷脸 / 机器人专用电梯,禁止无权限使用 |
| 1 | 梯控退出模式 | 电梯恢复原始状态,无需权限即可使用 |
| 2 | VIP 强制接管模式 | 禁止外呼和内部按键操作,仅 VIP 或机器人可使用 |

import time
class ElevatorControl:
def init(self, current_floor, target_floor, direction):
self.current_floor = current_floor
self.target_floor = target_floor
self.direction = direction
self.elevator_status = None
def send_call_button(self):
发送内呼点亮楼层按键指令
print(f"发送内呼点亮楼层按键指令: {self.current_floor}")
def read_elevator_status(self):
模拟读取电梯运行状态
status = {
"direction": "up" if self.target_floor > self.current_floor else "down",
"current_floor": self.current_floor,
"door_open": False
}
return status
def control_flow(self):
while True:
self.send_call_button()
time.sleep(1) # 每秒获取一次状态
self.elevator_status = self.read_elevator_status()
if self.elevator_status["direction"] == self.direction and \
self.elevator_status["current_floor"] == self.current_floor and \
self.elevator_status["door_open"]:
print("电梯门开到位,开始进入电梯")
break
if self.elevator_status["door_open"] and self.elevator_status["direction"] != self.direction:
print("电梯门开但方向不对,等待电梯关门")
time.sleep(1) # 等待电梯关门
continue
if self.elevator_status["door_open"] and self.elevator_status["direction"] == self.direction:
print("电梯门开且方向对,进入电梯")
break
time.sleep(1) # 每秒检查一次状态
示例调用
control = ElevatorControl(current_floor=8, target_floor=1, direction="down")
control.control_flow()

以下是基于多奥提供的信息及行业标准逻辑整理的详细流程:
🤖 第一阶段:召唤电梯(内呼DAIC-DT-MB按键模拟)
机器人到达电梯厅门口后,由于没有"外呼"权限或功能,它需要通过控制"内呼板"来影响电梯。
- 发送内呼指令 :
- 机器人向梯控系统发送指令,模拟按下当前所在楼层的按键。
- 目的:告诉电梯"我要去这个楼层",从而诱使电梯来到机器人面前。
- 设备指令 :
点亮当前楼层按键 (DAIC-DT-MB)。
核心指令说明
| 指令代码 | 指令功能 | 调用场景 |
|---|---|---|
| DAIC-DT-MB | 内呼点亮楼层 / 开门按键 | 召唤电梯、电梯内选层、保持电梯门开启 |
| DAIC-DT-ZT | 读取电梯运行状态 | 实时判断电梯方向、当前楼层、门状态 |

🔍 第二阶段:判断与进入(状态DAIC-DT-ZT轮询)
机器人需要实时监控电梯状态,以决定是否进入。建议每秒 发送一次读取状态指令 (DAIC-DT-ZT)。
系统会根据电梯的运行方向和当前状态,出现以下三种情况:
情况 A:正确电梯(推荐进入)
- 条件 :电梯的运行方向 与机器人需求一致(例如机器人都要下楼),且停靠楼层 正是机器人所在楼层,同时门已完全打开。
- 动作:机器人立即驶入电梯轿厢。
情况 B:方向错误,等待重试(保守策略)
- 条件:电梯到了,门也开了,但运行方向不对(例如机器人要下楼,结果来了个上行电梯)。
- 动作 :
- 不进入电梯。
- 等待:等待电梯门关闭并离开。
- 重新召唤:待电梯走后,再次发送指令点亮当前楼层按键,直到正确的方向到来。
- 注意:在此期间不要持续发指令,否则电梯会认为有人挡门而不关门。
情况 C:方向错误,人机混乘(激进策略)
- 条件:电梯到了,门开了,方向不对,但机器人选择进入。
- 动作 :
- 机器人进入电梯,跟随当前乘客到达其目的地。
- 重新点亮目标 :当电梯到达乘客楼层,按键灯可能会熄灭。机器人需要检测到电梯开始反向行驶(即准备回程)时,再次发送指令,点亮自己想去的目标楼层。
- 注意:这是纯内呼方案的弊端,运力较低且逻辑复杂。

flowchart TD
A[机器人抵达目标电梯厅] --> B[持续发送"内呼"指令<br>点亮当前楼层按钮]
B --> C[循环查询电梯状态]
C --> D{电梯是否到达本层<br>且开门?}
D -- 否 --> C
D -- 是 --> E{判断电梯运行方向<br>与目标方向是否一致?}
E -- 是, 方向一致 --> F[安全进入电梯]
E -- 否, 方向相反 --> G{决策: 进还是不进?}
G --> H[策略A: 放弃等待<br>(不进入)]
H --> I[确认电梯离开并关门]
I --> B
G --> J[策略B: 跟随搭乘<br>(进入)]
J --> K[进入反方向电梯]
K --> L[静默等待电梯完成当前任务<br>(如上行至顶层)]
L --> M[电梯清空/反向运行后<br>重新点亮目标楼层按钮]
M --> N[乘梯至目标层]
F --> N
N --> O[在目标层安全离开电梯]

🚪 第三阶段:出梯流程
当电梯到达目标楼层后,机器人需要控制开门并驶出。
- 持续轮询 :
- 机器人持续发送读取状态指令,监测当前楼层 和开门状态。
- 确认到达 :
- 当检测到"当前楼层 = 目标楼层"且"门已开到位"时,机器人开始驶出。
- 强制保持开门 :
- 在出梯过程中,机器人应持续发送内呼点亮"开门"按钮的指令(每秒一次),直到完全驶出。
- 原因:梯控系统必须在收到"开门指令"且"按钮被按住"的情况下,才会反馈"门开状态"。如果机器人到了楼层但不发开门指令,梯控会认为门是关的。
⚙️ 关键参数与防捣蛋机制
在实施上述逻辑时,必须注意以下技术细节:
表格
| 注意事项 | 说明 |
|---|---|
| 防捣蛋功能 | 电梯按钮通常有"防捣蛋"逻辑:在电梯未启动前,连续按两次同一按钮会取消登记。机器人程序需避免误触此逻辑。 |
| 开门保持逻辑 | 机器人必须持续发送指令,梯控才会保持继电器吸合(模拟人按住开门键)。一旦停止发指令,梯控松开,电梯可能会按自身逻辑关门。 |
| 时间间隔 | 建议每 10-15秒 发送一次开门指令(具体视现场电梯开关门时间而定),以确保电梯门不会因超时而关闭。 |
🔐 梯控状态DAIC-TK-ZT模式说明
根据你的补充内容,梯控系统通常有以下几种交互模式,机器人需根据场景调用:
表格
| 模式 Type | 数值 | 描述 |
|---|---|---|
| 专用模式 | 0 | 进入该状态。只有刷卡、刷脸或授权的AGV/AMR才能使用电梯。 |
| 原始模式 | 1 | 退出该状态。电梯恢复原始状态,任何人都可以按按钮使用。 |
| 强制接管 | 2 | VIP状态。禁止外部呼叫及内部按键(除了特权用户),通常用于紧急情况或特定任务。 |
💡 总结建议
多奥描述的这套流程是典型的**"纯内呼"** 或**"虚拟内呼"**方案。
指令类型说明
| 内容 | 字节 | 数据说明 |
|---|---|---|
| Type类型 | 1 | 0 = 进入梯控状态,刷卡、刷人脸,AGV机器人、AMR、机器狗等才可以使用电梯(专用模式) 1 = 退出梯控状态,不刷卡、不刷人脸等也可以使用电梯(电梯恢复原始状态) 2 = 强制接管,禁止外呼及内在按键(VIP乘梯状态,只有等VIP用完或AGV机器人、AMR、机器狗用完) |
- 优点:改造成本低,不需要电梯预留外呼接口。
- 缺点:效率低(可能叫来反方向电梯),逻辑复杂(需要处理按键灯灭、反向行驶等情况)。
- 建议 :如果条件允许,尽量采用外呼+内呼的混合方案,即先通过外呼叫来电梯,进入后再通过内呼选择目标楼层,这样逻辑最稳定,运力最高。
机器人需通过指令设置梯控模式(基于以上提供的数据表):
| Type值 | 模式描述 | 用途场景 |
|---|---|---|
| 0 | 进入梯控状态(专用模式) | 仅授权设备(如机器人)或人员(刷卡/人脸)使用电梯,普通用户无法操作。 |
| 1 | 退出梯控状态(原始状态) | 电梯恢复默认,无需授权即可使用,机器人指令可能失效。 |
| 2 | 强制接管模式(VIP状态) | 禁止所有外呼及内呼按键,仅当前机器人或VIP使用,完成后需手动退出。 |
| 机器人初始应发送Type=0指令激活专用模式,任务完成后发送Type=1恢复。 |

多奥将AGV机器人、AMR、机器狗乘梯指令调用电梯内召乘梯流程系统优化:
| 缺陷/风险 | 具体表现 | 后果与应对策略 |
|---|---|---|
| 1. 无法主动召梯,运力低下 | 机器人只能被动等待任何一部停靠的电梯,无法调度最优电梯。 | 核心后果 :等待时间不可控,整体运输效率低,高峰期可能长时间等待。应对 :此为架构性缺陷,最优解是加装外呼控制器。本方案仅为无外呼条件时的备选。 |
| 2. 方向判断与路径复杂 | 机器人需处理方向错误时的复杂决策(进/不进),逻辑复杂,容易出错。 | 后果 :程序鲁棒性要求极高。应对:在机器人调度系统中预设清晰策略(如"高峰期限定只坐同向梯"、"非高峰可跟车"),并记录决策日志用于优化。 |
| 3. 电梯状态检测盲区 | 您提到"电梯灯灭梯控系统无法检测",即电梯自身任务结束,轿内按钮灯熄灭,此时梯控系统无法感知电梯是否处于"空闲待命"还是"正在运行"。 | 严重后果 :机器人可能误判。应对 :机器人必须依赖持续的"楼层"和"运行方向"状态反馈,而非按键灯。当检测到电梯在非目标层静止且无方向时,可尝试重新发送内呼指令。 |
| 4. "防捣蛋"功能干扰 | 连续按两次可取消登记。机器人持续发送"开门保持"指令时可能误触发。 | 后果 :目标楼层登记被意外取消,导致过站不停。应对:必须与物业/电梯维保确认此功能,并在机器人逻辑中规避。例如,在检测到电梯开始运行后,立即停止发送"开门保持"指令,改为仅发送"查询状态"指令。 |
| 5. 开门指令与状态同步 | 您注意点中描述的"AGV查询到门开后再发开门指令"的循环依赖。 | 核心 :这是一个严格的时序和因果要求 。必须确保:机器人先发开门指令 -> 梯控按住开门按钮 -> 门开 -> 梯控反馈开门状态 -> 机器人进入。 任何环节延时或丢包都会导致失败。需设置指令重发和超时机制。 |
🔧 Type模式详解与系统管理策略
| Type值 | 模式名称 | 系统行为 | 适用场景 |
|---|---|---|---|
| 0 | 机器人专用模式 | 梯控系统激活,响应机器人的内呼/查询指令。但人工刷卡/按键可能仍有效(除非轿厢内物理屏蔽)。 | 机器人正常作业时段。人机可能混用,依赖管理规则。 |
| 1 | 开放模式 | 梯控系统脱离控制,电梯恢复原始状态,任何人都可自由使用。机器人指令无效。 | 日常办公时段、机器人维护期、消防状态。 |
| 2 | 强制接管/VIP模式 | 最高优先级 。梯控系统锁定电梯,只响应授权指令(如VIP卡、特定机器人任务)。禁止一切外呼及轿内非授权按键。 | 高管乘梯、紧急物资配送、重要的机器人集群任务时,确保运输绝对优先和私密。 |
模式切换建议 :模式切换应由中央调度系统根据时间表或事件触发,通过标准指令下发,避免混乱。例如,夜间自动切换为Type 0,工作日白天切换为Type 1,收到VIP任务时临时切换为Type 2。
| 数值 | 功能描述 | 应用场景 |
|---|---|---|
| 0 | 进入梯控状态(专用模式) | AGV/机器人独立使用电梯时 |
| 1 | 退出梯控状态(原始模式) | 恢复普通乘客使用电梯 |
| 2 | 强制接管(VIP模式) | 优先保障特定机器人/人员使用 |
