梯控模式切换指令(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模式) 优先保障特定机器人/人员使用