网络扫描
扫描 Runtime
Ribbon → PLC → 扫描 Runtime:
- IDE 向局域网广播,所有在线 Runtime 会应答
- 列表中显示主机名、IP、版本、状态
- 双击任意一行即可连接
扫描现场设备
项目浏览器右键 IO 设备 → 设备扫描,可扫描:
| 协议 | 扫描范围 |
|---|---|
| EtherCAT | 全段链路,列出所有从站 |
| Modbus TCP | 指定 IP 段 / 端口 |
| CANopen | 挂在总线上的节点 |
| OPC UA | 本机/局域网可发现的 Server |
扫描到的设备可直接拖入项目,自动填好地址、设备类型、IO 映射。
提示
不确定现场设备接线正确? 先扫一遍看看能否识别出来,比照手册对号入座。
Runtime 扫描详解
发现协议
IDE 向本机所有网卡的广播地址 (255.255.255.255) 和多播地址 (239.0.0.1:15003) 发出 UDP 发现报文。所有在同一二层广播域内、并启用发现服务的 Runtime 会回复自己的元数据:
| 字段 | 示例 | 说明 |
|---|---|---|
| 主机名 | plc-line01-站1 | 可在 Runtime 侧自定义 |
| IP | 192.168.1.101 | 多 IP 时报多个 |
| MAC | AA:BB:CC:DD:EE:FF | 用于唯一标识 |
| 版本 | 2.1.0 build 20260415 | 与 IDE 版本对比 |
| 状态 | Running / Stopped / Fault | 大致运行状态 |
| CPU 核 | 4 / 8 | 隔离核心数 |
| 授权 | 有效 / 试用期 / 未授权 | 授权状态 |
| 项目名 | packing-line | 当前加载项目 (如果有) |
IDE 会去重 (按 MAC 合并), 列表里一台机器一行, 多 IP 展开为子行。
扫描范围
- 默认: 本机所有网卡的本地广播域 (典型
192.168.x.x/24) - 跨子网扫描: 扫描设置 → 指定 IP 段, 如
10.1.1.0/24, IDE 切换为单播扫描 (逐个 IP Ping + 端口探测) - 跨 VLAN: 需要路由器开启 UDP 多播转发, 或改走手动添加
扫描触发
| 触发方式 | 场景 |
|---|---|
| 启动时自动扫描 | 设置 → 连接 → 启动时发现 (默认开) |
| 手动扫描 | Ribbon → PLC → 扫描 Runtime |
| 定时扫描 | 设置 → 连接 → 周期扫描 (默认关) |
| 连接断开后重扫 | 自动, 用于发现 Runtime 换 IP 的情况 |
现场设备扫描详解
EtherCAT 扫描
- 项目树 → 添加 IO 设备 → EtherCAT
- 选择绑定的网卡 (建议独立网卡, 避免和业务流量冲突)
- 点"扫描总线", IDE 命令 Runtime 向总线发送 BRD 广播
- 从站按物理顺序依次列出 (与网线连接顺序一致)
- 每个从站显示:
- 厂商/型号 (来自 EEPROM)
- EtherCAT 地址 (物理/配置)
- ESC 类型 (ET1100/1200, LAN9252...)
- 端口状态 (哪个端口连着线)
- 支持的 Mailbox 协议 (CoE/EoE/FoE/SoE)
把需要的从站勾选上, 点"应用"即加入项目。PDO 映射用厂商默认值 (从 ESI 读), 可后续调整。
扫描失败
如果扫描不到从站:
- 确认网线正确 (主站 → 从1 IN → 从1 OUT → 从2 IN ...)
- 确认所有从站通电
- 确认网卡已被 DarraRT_Eth 驱动接管 (设备管理器里网卡名含 "DarraRT")
- 看看 Runtime 日志有没有 PHY 链接错误
Modbus TCP 扫描
- 项目树 → 添加 IO 设备 → Modbus TCP
- 填 IP 段 (如
192.168.1.100-200) 和从站 ID 范围 (如1-4) - IDE 逐个 IP + 从站 ID 试探 (FC03 读寄存器 0, 小超时)
- 响应成功的列为候选设备
- 勾选要加入的设备, 自动填默认寄存器地址
扫描速度: 约 10 台/秒 (100ms 超时)。大范围扫描需要耐心。
Modbus RTU 扫描
串口只能逐个从站 ID 试探:
- 选择 COM 口、波特率、校验位
- 设置从站 ID 范围 (如
1-247, 标准最大 247) - IDE 按 ID 顺序发 FC03, 收到响应即记录
- 扫描时间约 30 秒 (每个 ID 100ms 超时 × 247)
CANopen 扫描
- 选择 CAN 接口 (PCAN-USB, Kvaser, Ixxat)
- 设置波特率 (125k / 250k / 500k / 1M)
- IDE 发送 NMT Reset All, 等待
Bootup消息 - 每个上线的节点回一个
0x700+NodeID包, IDE 记录节点 ID - 继续通过 SDO 读每个节点的 0x1000 (设备类型) 和 0x1018 (厂商信息)
OPC UA 扫描
- 选择扫描模式:
- 本机 (扫本机 IP + 端口 4840)
- 局域网 (多播发现)
- 指定端点 (输入
opc.tcp://host:port)
- IDE 调用发现服务 (FindServers + GetEndpoints)
- 列出所有端点, 显示:
- Server URI
- Endpoint URL
- 支持的安全策略 (None / Basic256Sha256 ...)
- 支持的用户身份 (匿名 / 用户名密码 / 证书)
勾选后 IDE 会创建一个 OPC UA 订阅配置模板, 后续可添加具体节点。
EtherNet/IP 扫描
- 指定 IP 段
- IDE 发 ListIdentity (UDP 44818 广播)
- 支持 EtherNet/IP 的设备会返回厂商、设备类型、产品代码
- 勾选要加入的设备
扫描结果的二次处理
批量改名
扫描出来的设备通常用默认名 (Slave_0001, EL1008_1)。支持批量改名:
- 右键扫描列表 → 批量改名
- 按模板:
{Type}_{Index},{Vendor}{Model}-{SlaveAddr} - 或从 CSV 导入: 一列 MAC/SlaveAddr, 一列期望名
批量地址分配
- 右键 → 自动分配 IEC 地址
- 按从站顺序从
%IX100.0,%QX100.0开始连续分配 - 或按设备类型分段 (DI 从 100 开始, DO 从 200 开始)
对比工程
"扫描结果 vs 工程配置"视图:
- 左侧工程已配置的从站
- 右侧现场扫描到的从站
- 中间显示差异: 新增 / 缺失 / 型号不匹配
一键应用差异, 适合现场"先接线再建工程"的流程。
常见扫描问题
| 症状 | 原因 | 处理 |
|---|---|---|
| 局域网 Runtime 扫不到 | 防火墙阻挡 UDP 15003 | 放行防火墙 |
| EtherCAT 只扫到前 N 个从站 | 第 N+1 个线缆故障 | 检查网线、从站供电 |
| Modbus TCP 扫描过慢 | IP 段过大 | 缩小扫描范围 |
| CANopen 找不到节点 | 波特率不匹配 / 终端电阻缺失 | 核对波特率, 加 120 ohm |
| OPC UA 发现但连不上 | 安全策略未匹配 | 在 IDE 侧导入服务器证书 |
| EtherNet/IP 扫到重复设备 | 多网卡回声 | 绑定扫描网卡 |
更多见 连接诊断。