> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mrdvs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 算法检测部署与接口参考

> 部署人体、库位和体积检测算法，完成相机标定、参数配置，并通过 TCP、UDP、HTTP 或 Modbus TCP 获取结果。

> [!TIP]
>
> 查看[完整图文操作说明](https://docs.mrdvs.com/developers/deployment/legacy/algorithm-detection)，包含原版配置截图和参数表。

> [!NOTE]
>
> 文档归档版本 V1.0 · 2026-10-15。适用工具：算法上位机；人体检测当前部署，库位与体积检测按所交付上位机选择。此版本为知识社区本次整理编号，不代表原始发布日期或软件版本。请勿与 AW3 的部署步骤混用。

本页说明 MRDVS 人体检测、库位检测和体积检测算法的部署、标定、参数配置与结果集成方式。算法在相机端运行；算法上位机用于配置、升级和查看结果。

> [!NOTE]
>
> 算法固件和算法上位机按项目交付。刷写算法固件前，确认相机已使用 MDS 版本固件；请向技术支持获取与项目匹配的安装包。

## 支持范围

### 系统组成

| 组件 | 作用 |
| - | - |
| 3D 相机 | 采集 RGB 图像和点云，并在相机端执行检测算法。 |
| 算法上位机 | 配置算法、标定外参、查看结果、升级算法固件。 |
| 工控机或上位系统 | 运行上位机软件，或通过网络接口读取检测结果。 |
| LiDAR | `mid360`，用于原始方案中的雷达配置。 |

### 算法与相机

| 算法 | 支持的相机 |
| - | - |
| 人体检测 | M4 Pro |
| 库位检测 | S10 Pro |
| 体积检测 | S10、S10 Pro |

S10 与 S10 Pro 的产品资料请参阅 [S10 3D 相机产品页](https://docs.mrdvs.com/products/s-series/s10-overview.md)。

### 上位机运行环境

| 项目 | 建议配置 |
| - | - |
| 操作系统 | Windows 10 或更高版本 |
| CPU | Intel® Core™ i5（第 7 代）或更高版本 |
| 内存 | 8 GB 或更高 |
| GPU | Intel® UHD Graphics 或更高性能的核显 / 独立显卡 |

## 硬件与网络部署

### 安装相机

使用刚性支架固定相机，避免安装完成后发生位移或振动。人体检测通常采用水平安装，或倾角不超过 30° 的安装方式。

![相机支架安装示意图](https://mintcdn.com/mrdvs/YGY7ZL7PZ7ENJc3f/images/developers/deployment-algorithm-detection-camera-installation-methods.avif?fit=max\&auto=format\&n=YGY7ZL7PZ7ENJc3f\&q=85\&s=07cb693c4553956882924ce6656c7290)

### 连接设备

**1. 完成供电和网络连接**

使用 24 V 稳压直流电源为相机供电，并使用超六类或七类网线连接相机与千兆交换机或主控设备。

**2. 部署多台相机**

按 CAD 规划的安装高度与位置固定相机。多台相机通过千兆交换机接入网络，并分别确认供电与链路状态。

**3. 准备现场目标**

在相机视野内放置待检测的人员、托盘或货物，再进行外参标定和检测区域配置。

### 配置主机网络

将运行上位机的计算机与相机配置到同一网段。原始示例使用以下地址规划：

| 项目 | 示例值 |
| - | - |
| 主机 IP 地址 | `192.168.100.xxx` |
| 子网掩码 | `255.255.255.0` |
| 默认网关 | `192.168.100.1` |

**1. 打开网络适配器设置**

在 Windows 中依次打开 **控制面板** → **网络和共享中心** → **更改适配器设置**，选择连接相机的以太网适配器。

**2. 配置 IPv4**

打开 **Internet 协议版本 4 (TCP/IPv4)**，选择 **使用下面的 IP 地址**，填写与相机同网段且未被占用的静态地址。

**3. 确认连接**

保存设置后，确认网卡为千兆链路，并使用上位机搜索或打开相机。

![Windows 网络和共享中心](https://mintcdn.com/mrdvs/YGY7ZL7PZ7ENJc3f/images/developers/deployment-algorithm-detection-camera-network-configuration.avif?fit=max\&auto=format\&n=YGY7ZL7PZ7ENJc3f\&q=85\&s=94a32aafef6cc647c44b11e1988b96d1)

![Windows IPv4 静态地址设置示例](https://mintcdn.com/mrdvs/YGY7ZL7PZ7ENJc3f/images/developers/deployment-algorithm-detection-camera-network-configuration-7.avif?fit=max\&auto=format\&n=YGY7ZL7PZ7ENJc3f\&q=85\&s=fae9625bda39900e4df60f672be36d49)

> [!WARNING]
>
> 不要在生产网络中长期关闭防火墙。若上位机无法连接相机，应优先为所需应用或端口创建规则；仅在可信的调试网络中临时关闭防火墙，并在完成调试后恢复防护。

## 安装和升级软件

### 安装上位机

1. 从 [软件下载](https://github.com/Lanxin-MRDVS/CameraSDK/releases "软件下载") 获取相机上位机软件。
2. 安装相机上位机时，选择系统盘以外的目录。
3. 将项目交付的算法上位机文件复制到相机上位机安装目录下的 `Tools` 文件夹；替换同名文件后，双击可启动程序。

![相机上位机软件安装流程](https://mintcdn.com/mrdvs/YGY7ZL7PZ7ENJc3f/images/developers/deployment-algorithm-detection-picture-2.avif?fit=max\&auto=format\&n=YGY7ZL7PZ7ENJc3f\&q=85\&s=bdc85bfa66bfa410a0f3944a1b2a556b)

算法上位机仅升级时，替换交付的 `.exe` 文件即可。

### 升级算法固件

> [!WARNING]
>
> 刷写过程中相机会重启。不要断开电源、网络或关闭上位机；升级包必须与相机型号、MDS 固件版本和项目算法匹配。

**相机上位机**

1. 启动 `LxCameraViewer.exe` 并打开相机。
2. 依次选择 **基础工具** → **功能设置** → **固件升级**。
3. 选择交付的检测算法文件，点击 **执行** 开始刷写。

**算法上位机**

1. 在左侧设备列表选择目标相机。
2. 点击 **升级固件**，选择检测算法文件并打开。
3. 等待相机重新出现在设备列表中。

相机重启后再次出现在设备列表中，表示刷写完成。算法上位机中相机背景显示为绿色，表示相机已连接且算法可用。

## 算法上位机

### 启动和状态

启动 `LxApplicationViewer.exe` 后，设备列表中的绿色图标表示相机已正常连接。选择设备可切换当前视角；显示模式可在 RGB 图像和点云之间切换。普通用户仅能查看检测结果；管理员可修改相机配置和算法参数。

![算法上位机主界面](https://mintcdn.com/mrdvs/YGY7ZL7PZ7ENJc3f/images/developers/deployment-algorithm-detection-administrator.avif?fit=max\&auto=format\&n=YGY7ZL7PZ7ENJc3f\&q=85\&s=239017709283634c5d64a661cfbc5f86)

### 基础工具

| 功能 | 说明 |
| - | - |
| 用户切换 | 切换用户权限。管理员可配置相机与算法参数。 |
| 理想地面 | 显示或隐藏地面参考水平面。 |
| 外参地面 | 显示或隐藏由外参标定得到的地面。 |
| 显示缓存 | 无需修改。 |
| 显示算法 | 显示当前启用的算法。 |
| 导出存图 | 导出已保存的图像。 |
| 历史回放 | 查看 RGB 图像和 ToF 数据日志。 |
| 应用算法切换 | 选择要运行的算法；选择后点击 **保存并下发**。 |
| 检测结果显示 | 显示当前算法的输出结果。 |

### 状态栏与回放

| 功能 | 说明 |
| - | - |
| RGB | 显示 RGB 图像。 |
| 点云 | 显示点云。 |
| 停止算法 | 停止当前算法；在下次相机上电前不会自动启动。 |
| 升级固件 | 打开算法固件升级流程。 |
| 重启相机 | 重启当前相机。 |

状态切换时，软件会保存一帧 RGB 图像和点云数据。不同算法的回放数据不互通；回放时间以相机内部时间为准，而不是主机系统时间。

若设备背景为黄色，或背景为绿色但图像不更新，可启用自动刷新以恢复图像获取。

## 外参标定

### 相机配置项

| 配置项 | 说明 |
| - | - |
| 相机名称 | 用于区分多台相机。 |
| 仿真模式 | 内部功能，用户无需启用。 |
| 存图模式 | 在相机端保存算法图像数据。 |
| 取图模式 | `MDS` 不占用相机访问权限；`SDK` 会占用权限，算法运行时无法同时打开相机上位机。 |
| `x`、`y`、`z` | 相机外参位置；`z` 为相机距地面的高度。 |
| `roll`、`pitch`、`yaw` | 相机外参姿态角。 |
| 理想地面 | 保持默认值即可。 |
| 从相机读取配置 | 读取当前相机配置。 |
| 保存并下发 | 将修改写入相机；未下发的参数不生效。 |
| 外参标定 | 标定相机高度与姿态角。 |

**垂直安装**

1. 打开 **相机配置**。标定前将 `x`、`y`、`z`、`roll`、`pitch`、`yaw` 全部置为 `0`，并点击 **保存并下发**。
2. 点击 **外参标定**。成功后在右侧参数栏确认标定结果。

![垂直安装的外参标定页面](https://mintcdn.com/mrdvs/YGY7ZL7PZ7ENJc3f/images/developers/deployment-algorithm-detection-vertical-installation-of-external-parameter-calibration.avif?fit=max\&auto=format\&n=YGY7ZL7PZ7ENJc3f\&q=85\&s=6c55e81a8dce5bd0c07b872e696d9c4c)

**水平安装**

1. 打开 **相机配置**，进入参数标定页面。
2. 将点云地面与坐标系对齐：`X` 轴（红色）和 `Y` 轴（绿色）与地面重合，`Z` 轴（蓝色）垂直地面并朝上。
3. 通常只需调整 `roll` 与 `z`；其余参数先置为 `0`。确认后点击 **保存并下发**。

![水平安装的外参标定结果](https://mintcdn.com/mrdvs/YGY7ZL7PZ7ENJc3f/images/developers/deployment-algorithm-detection-1.avif?fit=max\&auto=format\&n=YGY7ZL7PZ7ENJc3f\&q=85\&s=a4cba7e0f97086320ea74362af92dc05)

## 算法参数参考

所有算法参数修改后都需要点击 **保存并下发**。除非现场测试证明需要调整，否则保留滤波类参数的默认值。

**人体检测**

![人体检测全局配置](https://mintcdn.com/mrdvs/YGY7ZL7PZ7ENJc3f/images/developers/deployment-algorithm-detection-global-configuration-of-human-detection.avif?fit=max\&auto=format\&n=YGY7ZL7PZ7ENJc3f\&q=85\&s=e4372290aed8560f3c25fbb540e30868)

| 参数 | 说明 |
| - | - |
| 算法版本号 | 当前算法版本。 |
| 检测频率 | 图像与结果的刷新频率。 |
| 时域滤波 | 设为 `3` 时，连续 3 次结果一致才判定为有效。 |
| 核大小 | 2D 图像形态学操作的核大小；值越大，目标越容易缩小、背景越容易扩大。 |
| 距离阈值 | 用于判断点是否相似或属于同一类别。 |
| 最小点数量 | 语义聚类所需的最少点云数量。 |
| 无语义最小点数量 | 无语义聚类所需的最少点云数量。 |
| 邻域大小 | 定义点的邻近范围，影响聚类粒度。 |
| 旋转检测 | 与相机安装方向对应；以 Logo 在下方为 `0°` 参考。 |

| 区域参数 | 说明 |
| - | - |
| 增加区域 / 删除区域 | 新建或删除人体检测区域。 |
| 当前框 | 选择当前检测区域。 |
| 最小 / 最大 `X`、`Y`、`Z` | 定义区域的三维边界。 |
| ID | 区域名称，用于区分多个检测区域。 |
| 鼠标拖动调整区域 | 左键拖动沿 `x`、`y` 平移；右键拖动沿 `z` 移动。 |

![人体检测区域配置](https://mintcdn.com/mrdvs/YGY7ZL7PZ7ENJc3f/images/developers/deployment-algorithm-detection-25909893521-171648566990-human-detection-configuration-parameters-1.avif?fit=max\&auto=format\&n=YGY7ZL7PZ7ENJc3f\&q=85\&s=11adf9716ca4f1a0c23ac6f253124a05)

**库位检测**

![库位检测全局配置](https://mintcdn.com/mrdvs/YGY7ZL7PZ7ENJc3f/images/developers/deployment-algorithm-detection-global-configuration-of-storage-location-detection.avif?fit=max\&auto=format\&n=YGY7ZL7PZ7ENJc3f\&q=85\&s=79f0716953444178b4561d37321e49dc)

| 参数 | 说明 |
| - | - |
| 算法版本号 | 当前算法版本。 |
| AI 过滤 | 语义分割功能，暂未开放。 |
| 检测频率 | 结果刷新频率。 |
| 对齐角度 | 开启对齐校验后，允许货物相对库位的最大偏移角度。 |
| 对齐校验 | 检查角度偏移和越界状态；检测到的物体以黄色体积框显示。 |
| 时域滤波 | 连续多次结果一致后才输出有效状态。 |
| 最小点数量 | 点云数量低于该值的物体会被忽略。 |

| 区域模式 | 配置方式 |
| - | - |
| 2D RGB | 使用像素坐标的最小 / 最大 `X`、`Y` 定义库位；仅支持语义模式，需搭配语义模型。 |
| 3D 点云 | 使用最小 / 最大 `X`、`Y`、`Z` 定义库位；可用鼠标拖动区域，左键沿 `x`、`y` 移动，右键沿 `z` 移动。 |

| 高级功能 | 说明 |
| - | - |
| 拷贝当前框 | 复制当前库位区域。 |
| 方向、间距、数量 | 指定 `X`、`Y` 或 `Z` 方向的等距复制规则。 |
| 执行 | 根据配置生成多个库位区域。 |
| QR Code 标定 | 输入库位宽度、长度和 `Z_MIN`、`Z_MAX` 后执行标定，生成二维码校验库位。 |

![库位检测的三维区域配置](https://mintcdn.com/mrdvs/YGY7ZL7PZ7ENJc3f/images/developers/deployment-algorithm-detection-storage-location-detection-area-configuration-3d-point-cloud.avif?fit=max\&auto=format\&n=YGY7ZL7PZ7ENJc3f\&q=85\&s=049fca1fe36a2cd038c270cffd37d52b)

**体积检测**

![体积检测全局配置](https://mintcdn.com/mrdvs/YGY7ZL7PZ7ENJc3f/images/developers/deployment-algorithm-detection-global-configuration-of-volume-detection.avif?fit=max\&auto=format\&n=YGY7ZL7PZ7ENJc3f\&q=85\&s=cc39418b633d497e9a6fb01be23df073)

| 参数 | 说明 |
| - | - |
| 算法版本号 | 当前算法版本。 |
| 触发模式 | 启用后，需要通过单次触发获取一次图像和结果。 |
| 向上检测 | 使用反向相机坐标系进行检测。 |
| 检测频率 | 图像与结果刷新频率。 |
| 检测平面距离 | 物体下表面的参考位置，单位为 mm。 |
| 邻域数量阈值 / 邻域距离阈值 | 滤波参数，通常保持默认值。 |
| 法向量滤波阈值 | 用于过滤倾斜点云平面；原始推荐值为 `60`。 |
| 法向量距离阈值 | 滤波参数；原始推荐范围为 `20–30`。 |
| 最小点数量 | 点云数量低于该值的物体会被忽略。 |
| 最小 `X`、`Y`、`Z` | 检测物体长、宽、高的最小阈值，单位为 mm。 |

| 区域参数 | 说明 |
| - | - |
| 最小 / 最大 `X`、`Y`、`Z` | 定义体积检测区域的三维边界。 |

![体积检测区域配置](https://mintcdn.com/mrdvs/YGY7ZL7PZ7ENJc3f/images/developers/deployment-algorithm-detection-volume-detection-area-configuration.avif?fit=max\&auto=format\&n=YGY7ZL7PZ7ENJc3f\&q=85\&s=1de3c3dde03cc09f1f853ba9af829344)

## 部署算法

切换到点云模式后，将鼠标置于图像区域并滚动滚轮，可显示点云数据。

### 人体检测

**1. 完成水平安装标定**

将 `X`、`Y` 轴与地面点云重合，`Z` 轴垂直地面并朝上。

**2. 设置全局参数**

打开 **人体检测**。通常只需设置 **旋转检测**；相机顺时针方向仅支持 `0°`、`90°`、`180°` 和 `270°`。

**3. 创建检测区域**

点击 **增加检测区域**，设置最小 / 最大 `X`、`Y`、`Z`。原始示例创建了 `1000 × 1000 × 2000 mm` 的区域。使用鼠标将区域移动到目标位置。

**4. 保存并验证**

点击 **保存并下发**，在区域内进行人员通行测试，并通过状态栏或历史回放验证结果。

| 匹配规则 | 无人 | 有人 | 有障碍物 | 人与障碍物 |
| - | - | - | - | - |
| 仅深度 | `0` | `2` | `2` | `2` |
| 语义加深度 | `0` | `1` | `0` | `1` |

仅深度模式会报告检测区域内的所有物体；语义加深度模式只报告语义分类为人的聚类。

### 库位检测

**1. 标定相机**

按照外参标定步骤，将 `X`、`Y` 轴与地面重合，并使 `Z` 轴垂直向上。

**2. 配置全局参数**

根据现场需求设置 **对齐校验**、**对齐角度** 和 **最小点数量**。若货物必须按指定角度放置，启用对齐校验。

**3. 创建库位**

在点云模式下，点击 **增加库位**，切换到俯视图，按键盘 `X` 开始或结束绘制；拖动矩形框覆盖托盘并调整 `X`、`Y`、`Z` 边界。绘制后必须再次按 `X` 退出绘制模式。

**4. 保存并验证**

点击 **保存并下发**。可使用 2D RGB 或 3D 点云方式配置库位，并检查状态栏中的 `Result`。

![点云模式下绘制库位检测区域](https://mintcdn.com/mrdvs/YGY7ZL7PZ7ENJc3f/images/developers/deployment-algorithm-detection-point-cloud-mode-location-setting-4.avif?fit=max\&auto=format\&n=YGY7ZL7PZ7ENJc3f\&q=85\&s=74085f0f138b4a6642d96dda5cc6721a)

| 库位状态 | `Result` |
| - | - |
| 无物体 | `0` |
| 有物体，或有物体且对齐 | `1` |
| 有物体且角度超过对齐阈值 | `2` |
| 有物体且超出库位区域 | `3` |

若库位布局规则，可使用 **拷贝当前框** 按固定方向和间距批量创建库位。需要二维码校验时，使用 **QR Code 标定** 配置库位尺寸与深度范围。

### 体积检测

**1. 完成垂直安装标定**

体积检测从上向下工作。完成标定后，`Z` 轴应垂直向下，`X`、`Y` 轴组成的平面应与地面平行。

**2. 设置检测平面**

货物直接放在地面时，将检测平面设置为地面高度；只计算托盘上货物时，使检测平面与托盘点云重合。

**3. 设置最小尺寸与检测范围**

设置最小 `X`、`Y`、`Z` 以过滤小目标；再根据检测平面和货物尺寸设置区域的 `X`、`Y`、`Z` 边界。

**4. 保存并验证**

点击 **保存并下发**，在检测区域内放置单个或多个物体，确认返回的长、宽、高和数量。

![体积检测的地面检测平面设置](https://mintcdn.com/mrdvs/YGY7ZL7PZ7ENJc3f/images/developers/deployment-algorithm-detection-the-ground-point-cloud-coincides-with-the-detection-plane-1.avif?fit=max\&auto=format\&n=YGY7ZL7PZ7ENJc3f\&q=85\&s=ee4355c8d6e2e771ed2fc54320b52df0)

![体积检测的单个物体结果](https://mintcdn.com/mrdvs/YGY7ZL7PZ7ENJc3f/images/developers/deployment-algorithm-detection-volumetric-detection-of-a-single-object.avif?fit=max\&auto=format\&n=YGY7ZL7PZ7ENJc3f\&q=85\&s=0bc9001d56b9fada9f4ad9b2f3c8f099)

要启用单次触发，在 **体积检测** 中打开 **触发模式** 并点击 **保存并下发**；随后在 **基础工具** 中点击 **单次触发**，或通过 TCP / UDP 发送 `TM_TRIGGER`。

## 通信接口

> [!NOTE]
>
> 下文中的 IP 地址为原始示例。请替换为现场相机地址，并在接入上层系统前验证网络、算法状态和结果格式。

### 传输方式

| 协议 | 端口 | 请求内容 | 用途 |
| - | - | - | - |
| TCP | `14951` | `RESULT_UPDATE` | 获取当前算法结果。 |
| UDP | `14950` | `RESULT_UPDATE` | 获取当前算法结果。 |
| HTTP | `14952` | `RESULT_UPDATE` | 获取 JSON 格式的算法结果。 |
| TCP / UDP | 对应结果端口 | `TM_TRIGGER` | 在体积检测的触发模式下执行一次检测并返回结果。 |
| Modbus TCP | `16502` | 读保持寄存器 | 读取库位检测状态。 |

### HTTP 结果请求

上层系统向视觉端发送结果请求，视觉端返回 JSON 字符串。HTTP 调试工具中的请求头按项目交付配置；请求体使用以下命令。

**command** `string` *required* (default: RESULT\_UPDATE)

触发相机返回当前算法结果。

### 通用响应字段

**IP** `string` *required*

输出数据的相机 IP 地址。

**nick\_name** `string` *required*

相机名称，可在相机配置中修改。

**ret\_code** `integer` *required*

返回码；`0` 表示成功。

**人体检测（SG）**

**SG** `object` *required*

以检测区域 ID 为键的状态对象：`0` 表示未检测到目标，`1` 表示检测到人员，`2` 表示仅深度规则检测到物体。

**\_\_object\_details** `string[]`

聚类详情数组。每一项是需要再次反序列化的 JSON 字符串。

**SG\_DATA\_TIME** `string`

人体检测数据时间。

**SG\_RES\_TIME** `string`

人体检测结果输出时间。

聚类详情包含 `rbx2d`、`rby2d`、`tlx2d`、`tly2d`（2D 框坐标）、`semantic_index`、`traceID` 与 `x_min`、`x_max`、`y_min`、`y_max`、`z_min`、`z_max`（3D 边界框坐标）。

**库位检测（SS）**

**SS** `object` *required*

以库位 ID 为键的状态对象：`0` 为未占用，`1` 为占用，`2` 为占用且角度偏移，`3` 为占用且越界。

**X\_\_detail\_\_info** `number[]`

库位 `X` 的检测详情，依次为中心点 `x`、`y`、`z`，长、宽、高和相对边界框的偏移角度。2D 创建的库位区域返回全 `-1`。

**SS\_DATA\_TIME** `string`

库位检测数据时间。

**SS\_RES\_TIME** `string`

库位检测结果输出时间。

**体积检测（TM）**

**TM** `object[]` *required*

检测区域内的完整体积盒数组。

**angle** `number`

体积盒偏移角度。

**cx** `number`

体积盒中心点 `x` 坐标。

**cy** `number`

体积盒中心点 `y` 坐标。

**cz** `number`

体积盒中心点 `z` 坐标。

**length** `number`

物体长度。

**width** `number`

物体宽度。

**height** `number`

物体高度。

**type** `string`

语义类型。

**valid** `boolean`

检测结果是否有效。

**TM\_DATA\_TIME** `string`

体积检测数据时间。

**TM\_RES\_TIME** `string`

体积检测结果输出时间。

### 人体检测响应示例

```json theme={null}
{
  "IP": "192.168.100.83",
  "SG": {
    "1": 1,
    "2": 0,
    "__object_details": []
  },
  "SG_DATA_TIME": "2023_03_02_21_52_11.408",
  "SG_RES_TIME": "2023_03_02_21_52_11.689",
  "nick_name": "Unknown",
  "ret_code": 0
}
```

### Modbus TCP（库位检测）

检测结果按库位 ID 排序，最多返回前 16 个库位。

| 配置项 | 值 |
| - | - |
| 端口 | `16502` |
| 监听地址 | `0.0.0.0`（所有网络接口） |
| 寄存器数量 | `16` |
| 起始地址 | `0x0100` |
| 字节序 | 大端序（Big Endian） |

| 寄存器 | 内容 | 数据格式 |
| - | - | - |
| `0x0100 + ID` | 库位检测结果与标记物检测结果 | 2 字节 `uint16_t` |
| 高 8 位 | 库位状态码 | `0–2` |
| 低 8 位 | 标记物状态码 | `0–2`；该功能暂未开放，当前含义与库位状态码一致。 |

| 库位状态码 | 含义 | 触发条件 |
| - | - | - |
| `0` | 未占用 | 无货物或托盘。 |
| `1` | 正常占用 | 货物按要求放置。 |
| `2` | 异常占用 | 货物尺寸或位置偏移。 |

| 标记物状态码 | 含义 |
| - | - |
| `0` | 未检测到标记物。 |
| `1` | 检测到标记物。 |
| `2` | 标记物检测异常。 |

#### 读取第 4 个库位

以下示例使用事务标识符 `0x0001`，读取地址 `0x0104` 的一个保持寄存器。响应中的状态数据为 `0x0002`。

```text theme={null}
请求：00 01 00 00 00 06 FF 03 01 04 00 01
响应：00 01 00 00 00 05 FF 03 02 00 02
```

| 字段 | 请求值 | 说明 |
| - | - | - |
| 事务标识符 | `00 01` | 客户端递增序号；响应应保持一致。 |
| 协议标识符 | `00 00` | Modbus/TCP 固定值。 |
| 长度 | `00 06` | 请求中后续字段的字节数。 |
| 单元标识符 | `FF` | 广播模式或设备地址。 |
| 功能码 | `03` | 读取保持寄存器。 |
| 起始地址 | `01 04` | `0x0100 + 4`。 |
| 寄存器数量 | `00 01` | 读取 1 个寄存器。 |

## 排查要点

| 现象 | 优先检查项 |
| - | - |
| 找不到相机 | 主机与相机是否同网段、网卡是否为千兆链路、供电与交换机链路是否正常。 |
| 参数未生效 | 是否在修改后点击 **保存并下发**。 |
| 无算法结果 | 算法固件是否正确刷写、设备是否显示为绿色、算法是否已启用。 |
| 点云为空或不更新 | 是否已在点云区域滚动鼠标显示点云；必要时启用自动刷新。 |
| 库位或体积结果异常 | 重新检查外参坐标方向、检测平面和区域边界，再使用现场目标复测。 |

## 故障排查

以下问题沿用旧知识社区的部署记录，适用于本页所述独立上位机。参数和固件版本请按实际交付核对；修改前备份配置，验证后保存。

> **库位检测、体积检测、人体检测更新固件后应用算法软件无法打开相机**
>
> **处理方法**
>
> 重启相机，并在应用算法软件的 **全局设置** 中启用实时刷新。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.