环境准备
本章介绍在开始使用 Darra Software PLC 之前需要完成的硬件选型、操作系统裁剪、 BIOS 调整、运行时安装与授权准备工作。一次把环境做到位, 后续开发与实时调试都会顺畅很多。
目标
完成本章后, 您将得到:
- 一台经过实时化调优的工控机 (或开发笔记本 + 仿真环境)
- 已安装 .NET 8 Desktop Runtime + VC++ 2022 Redistributable
- 已安装 DarraRT IDE / Service / Panel
- 已准备好授权文件 (或选择试用模式)
- 已关闭快速启动、睿频、C-States 等影响实时性的选项
硬件要求
基础配置 (开发/仿真)
| 项目 | 最低要求 | 推荐配置 | 备注 |
|---|---|---|---|
| CPU | Intel Core i5, 4 核 | Intel Core i7/i9, 8 核或以上 | 推荐 8 核及以上, 预留 2-3 个核心给 RT 子系统 |
| 内存 | 8 GB DDR4 | 16 GB 或 32 GB DDR4/DDR5 | IDE + 3D 仿真 + Service 同时运行大约需要 6 GB |
| 硬盘 | 64 GB SSD, 剩余 ≥ 2 GB | 256 GB NVMe SSD | 项目文件与日志写入较频繁, 建议 SSD |
| GPU | 集成显卡 (仅做 PLC 逻辑) | NVIDIA/AMD 独显, OpenGL 4.5+ | 3D 机器人仿真必需 |
| 网卡 (调试) | 任意有线网卡 | 千兆 RJ45 | 下载 / 在线监视 |
| 网卡 (EtherCAT) | Intel I210 / I225 / I350 | Intel I210-AT (推荐) | 用于实时 EtherCAT 主站帧收发 |
网卡数量说明 (非常重要)
DarraRT 在实时模式下要求 至少两张独立网卡:
| 网卡 | 用途 | 说明 |
|---|---|---|
| NIC 0 (调试口) | 管理 / 下载 / 远程桌面 | 任意网卡, 连接办公网 |
| NIC 1 (EtherCAT 主口) | EtherCAT 主链路 | Intel I210 / I225 / I350, 接入伺服 / IO 从站 |
| NIC 2 (冗余口, 可选) | 冗余双环 | 与主口同型号, 用于双环线型冗余 (见 冗余设计) |
严禁把 EtherCAT 口与办公网共用同一张网卡。EtherCAT 帧对延迟与 MAC 层抢占非常敏感, 共用会被 Windows 协议栈阻塞, 导致 Cycle 严重抖动甚至从站掉线。
示例参考机型
| 场景 | 推荐机型 | 成本区间 |
|---|---|---|
| 本地仿真开发 | 普通笔记本 + USB→千兆 | 无需额外 |
| 小型设备联机 | 研华 ARK-1250L + Intel I210 扩展 | 5 ~ 8k CNY |
| 标准工业主机 | 研华 MIC-7700 / 华北工控 BPC-7948 | 8 ~ 15k CNY |
| 高性能控制柜 | 凌华 MXE-5500 + 双 I210 | 15 ~ 25k CNY |
操作系统选择
DarraRT 官方支持 Windows。Linux (RT_PREEMPT) 版本预留中, 暂未发布。
| 系统 | 支持程度 | 推荐度 | 备注 |
|---|---|---|---|
| Windows 11 Pro for Workstations 22H2+ | 完整支持, 实时模式 OK | ★★★★★ | 首选, 调度器对多核响应最好 |
| Windows 10 IoT Enterprise LTSC 2021 | 完整支持, 实时模式 OK | ★★★★★ | 生产机强烈推荐, 无 Defender 干扰 |
| Windows 11 Pro 22H2+ | 完整支持 | ★★★★☆ | 需关闭 Core Isolation |
| Windows 10 Pro 21H2+ | 兼容, 实时模式受限 | ★★★☆☆ | 不建议用于生产 |
| Windows 7 / 8 | 不支持 | — | 内核驱动无法加载 |
LTSC 版本去除了 Cortana / 应用商店 / Edge 等后台进程, 干扰源少。 10 年支持周期也更适合工业设备。
关闭 Windows 快速启动
快速启动会保留上次内核状态, 导致 DarraRT 驱动首次加载异常。
- 控制面板 → 电源选项 → 选择电源按钮的功能
- 点击 更改当前不可用的设置
- 取消勾选 启用快速启动 (推荐)
- 点击 保存修改
- 重启计算机
TODO
关闭休眠与混合睡眠
休眠会把内核页换出到磁盘, 对实时任务是致命的。
打开 管理员 PowerShell, 执行:
powercfg /h off
powercfg /change standby-timeout-ac 0
powercfg /change hibernate-timeout-ac 0
powercfg /change monitor-timeout-ac 15
BIOS 调整 (生产机必做)
进入 BIOS (一般按 Del 或 F2) 后, 做以下调整:
| 项目 | 建议值 | 原因 |
|---|---|---|
| Intel SpeedStep / EIST | Disabled | 防止频率动态变化, 稳定 TSC |
| Intel Turbo Boost (睿频) | Disabled | 睿频导致热抖动, EtherCAT 周期不稳 |
| C-States / C1E / Package C State Limit | Disabled / C0 | C-States 进入/退出延迟高达 100 μs |
| Hyper-Threading | Disabled (如果 CPU 核心足够) | 超线程会共享执行单元, 增加抖动 |
| VT-d / IOMMU | Enabled | 内核需要 IOMMU 分配隔离内存 |
| Secure Boot | Disabled (测试签名) 或保持 + 加载签名驱动 | 未签名驱动无法加载 |
| CPU Power Management | Performance / Maximum | 禁止降频 |
| ACPI S3 Sleep | Disabled | 防止意外睡眠 |
| ErP Ready | Disabled | 避免节能模式干扰 |
各主板厂商叫法不同, 例如 "C1E" 在超微板叫 "CPU C1E Support", 在华硕板叫 "CPU C-States"。 找不到时按"电源"/"Power"/"CPU Configuration"菜单下逐项排查即可。
关闭 Windows Defender 实时扫描 (仅生产机)
实时扫描会扫 DarraRT 驱动加载时的 PE 解析, 单次扫描可达数十毫秒。
Set-MpPreference -DisableRealtimeMonitoring $true
Add-MpPreference -ExclusionPath "C:\Program Files\DarraRT"
Add-MpPreference -ExclusionPath "C:\ProgramData\DarraPLC"
安装 Visual C++ 2022 运行时
Darra.Core.dll / Darra.Robot.dll 都是原生 C DLL, 依赖 MSVC 运行库。
- 下载 Visual C++ 2022 Redistributable (x64)
- 以管理员身份运行安装
- 提示重启时选择 是
TODO
安装 .NET 8 Desktop Runtime
DarraRT IDE / Service / Panel 均基于 .NET 8 WPF 开发。
- 从 dotnet.microsoft.com/download/dotnet/8.0 选择 Desktop Runtime x64
- 运行安装程序, 一路下一步
- 验证安装:
dotnet --list-runtimes
输出应包含:
Microsoft.AspNetCore.App 8.0.x
Microsoft.NETCore.App 8.0.x
Microsoft.WindowsDesktop.App 8.0.x
仅运行 IDE 选 Desktop Runtime 即可; 如果要编译 Darra.Core 或开发 SDK, 则需要完整的 .NET 8 SDK。
下载 DarraRT 安装包
打开 官方下载中心, 根据场景选择:
| 安装包 | 包含组件 | 适用对象 |
|---|---|---|
| DarraRT Full (推荐首次) | 驱动 + Service + IDE + Panel + SDK | 开发工程师 |
| DarraRT Runtime Only | 驱动 + Service + Panel | 生产现场部署 |
| DarraRT SDK Only | EtherCAT SDK + 示例 | 二次开发用户 |
文件校验 (SHA256):
Get-FileHash -Algorithm SHA256 .\DarraRT_Setup.exe
对比官网给出的 HASH 值, 防止下载包被篡改。
安装 DarraRT
- 以管理员身份 双击
DarraRT_Setup.exe - 安装向导步骤:
- 接受协议
- 选择安装目录 (建议保持默认
C:\Program Files\DarraRT) - 选择组件 (IDE / Service / Panel / Driver / SDK)
- 选择开始菜单分组
- 点击 安装
- 过程中会出现数次 UAC 弹窗 (加载驱动), 全部点击 是
- 安装完成, 勾选"安装实时内核驱动" → 完成
TODO
DarraRT 内核驱动 (DarraRT.sys / DarraRT_Eth.sys / DarraRT_PLC.sys) 使用 EV Code Signing 签名, 在 Win10 1607 以上正常加载; 如仍提示"驱动签名不受信任", 请检查 Secure Boot 设置或使用测试模式:
bcdedit /set testsigning on
使用测试模式后必须重启。生产机不要开测试模式。
授权准备
DarraRT 有三种授权方式:
1. 试用模式 (免费)
- 开箱即用, 无需激活
- 限制: IO 点数 ≤ 256, 伺服轴数 ≤ 4, 连续运行 ≤ 7 天后需重启
- 适合学习 / 演示 / PoC
2. 软授权 (绑定机器码)
- 打开 Darra PLC IDE → 菜单 帮助 → 许可证管理
- 点击 生成机器指纹, 得到
fingerprint.txt - 发送
fingerprint.txt到[email protected]或通过经销商 - 收到
license.dk后, 回到 IDE 点击 导入许可证 - 重启 IDE 生效
3. USB 硬件锁 (多机复用)
- 适合同一用户在多台机器上切换
- 插入 USB Dongle 后自动识别
- 拔出 Dongle 后功能降级为试用模式
TODO
首次启动自检
安装完成并授权后, 双击桌面 Darra PLC IDE 图标, 首次启动会触发自检:
- 检测 .NET 8 Desktop Runtime
- 检测 VC++ 2022 运行时
- 检测 DarraRT 内核驱动加载状态
- 检测 GPU / OpenGL 4.5 支持
- 检测许可证有效性
- 启动 Darra PLC Service (后台进程, 常驻)
检测全部通过后, IDE 主窗口加载, 左上角状态栏显示 已就绪。
常见安装问题
驱动加载失败
症状: 任务管理器 → 服务里 DarraRT 状态为 "已停止", IDE 提示"内核驱动未加载"。
排查:
# 查看驱动状态
sc query DarraRT
sc query DarraRT_Eth
sc query DarraRT_PLC
# 查看事件日志
Get-EventLog -LogName System -Source DarraRT -Newest 10
常见原因:
- Secure Boot 阻止 → 关闭或启用 testsigning
- 快速启动启用 → 关闭后重启
- 核心隔离 (Core Isolation) 阻止 → 设置 → 设备安全性 → 内核隔离 → 关闭内存完整性
IDE 启动白屏
症状: 双击 IDE 图标后无响应或出现空白窗口。
排查: 查看 %AppData%\DarraPLC\logs\ide_*.log 最近一行, 常见根因:
.NET Desktop Runtime 未安装→ 安装 .NET 8 Desktop RuntimeOpenGL 4.5 不支持→ 更新显卡驱动DevExpress 组件未注册→ 重装 IDE
EtherCAT 网卡无法识别
症状: IDE → EtherCAT 配置 → 网卡列表为空。
排查:
- 确认 Intel 网卡已安装最新官方驱动 (不是 Windows Update 自动的那个)
- 检查网卡上的协议绑定: 网络连接 → 属性, 必须看到 DarraRT NDIS Protocol
- 重启
DarraRT_Eth服务:
sc stop DarraRT_Eth
sc start DarraRT_Eth
下一步
环境准备完成后, 可以进入:
- 创建第一个项目 — IDE 基本操作, 新建项目与保存
- 第一个 PLC 程序 — 跑通电机启停 demo
- 第一个机器人程序 — 6 轴臂示教与运动
- 第一个 HMI 工程 — 搭建可视化界面
- 部署到运行时 — 下载程序到工控机