跳到主要内容

环境准备

本章介绍在开始使用 Darra Software PLC 之前需要完成的硬件选型、操作系统裁剪、 BIOS 调整、运行时安装与授权准备工作。一次把环境做到位, 后续开发与实时调试都会顺畅很多。

目标

完成本章后, 您将得到:

  • 一台经过实时化调优的工控机 (或开发笔记本 + 仿真环境)
  • 已安装 .NET 8 Desktop Runtime + VC++ 2022 Redistributable
  • 已安装 DarraRT IDE / Service / Panel
  • 已准备好授权文件 (或选择试用模式)
  • 已关闭快速启动、睿频、C-States 等影响实时性的选项

硬件要求

基础配置 (开发/仿真)

项目最低要求推荐配置备注
CPUIntel Core i5, 4 核Intel Core i7/i9, 8 核或以上推荐 8 核及以上, 预留 2-3 个核心给 RT 子系统
内存8 GB DDR416 GB 或 32 GB DDR4/DDR5IDE + 3D 仿真 + Service 同时运行大约需要 6 GB
硬盘64 GB SSD, 剩余 ≥ 2 GB256 GB NVMe SSD项目文件与日志写入较频繁, 建议 SSD
GPU集成显卡 (仅做 PLC 逻辑)NVIDIA/AMD 独显, OpenGL 4.5+3D 机器人仿真必需
网卡 (调试)任意有线网卡千兆 RJ45下载 / 在线监视
网卡 (EtherCAT)Intel I210 / I225 / I350Intel 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-79488 ~ 15k CNY
高性能控制柜凌华 MXE-5500 + 双 I21015 ~ 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

LTSC 版本去除了 Cortana / 应用商店 / Edge 等后台进程, 干扰源少。 10 年支持周期也更适合工业设备。

关闭 Windows 快速启动

快速启动会保留上次内核状态, 导致 DarraRT 驱动首次加载异常。

  1. 控制面板 → 电源选项 → 选择电源按钮的功能
  2. 点击 更改当前不可用的设置
  3. 取消勾选 启用快速启动 (推荐)
  4. 点击 保存修改
  5. 重启计算机

step-1: 关闭快速启动 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 / EISTDisabled防止频率动态变化, 稳定 TSC
Intel Turbo Boost (睿频)Disabled睿频导致热抖动, EtherCAT 周期不稳
C-States / C1E / Package C State LimitDisabled / C0C-States 进入/退出延迟高达 100 μs
Hyper-ThreadingDisabled (如果 CPU 核心足够)超线程会共享执行单元, 增加抖动
VT-d / IOMMUEnabled内核需要 IOMMU 分配隔离内存
Secure BootDisabled (测试签名) 或保持 + 加载签名驱动未签名驱动无法加载
CPU Power ManagementPerformance / Maximum禁止降频
ACPI S3 SleepDisabled防止意外睡眠
ErP ReadyDisabled避免节能模式干扰
BIOS 项名差异

各主板厂商叫法不同, 例如 "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 运行库。

  1. 下载 Visual C++ 2022 Redistributable (x64)
  2. 以管理员身份运行安装
  3. 提示重启时选择

step-2: VC++ 2022 运行时安装 TODO

安装 .NET 8 Desktop Runtime

DarraRT IDE / Service / Panel 均基于 .NET 8 WPF 开发。

  1. dotnet.microsoft.com/download/dotnet/8.0 选择 Desktop Runtime x64
  2. 运行安装程序, 一路下一步
  3. 验证安装:
dotnet --list-runtimes

输出应包含:

Microsoft.AspNetCore.App 8.0.x
Microsoft.NETCore.App 8.0.x
Microsoft.WindowsDesktop.App 8.0.x
SDK 还是 Runtime

仅运行 IDE 选 Desktop Runtime 即可; 如果要编译 Darra.Core 或开发 SDK, 则需要完整的 .NET 8 SDK

下载 DarraRT 安装包

打开 官方下载中心, 根据场景选择:

安装包包含组件适用对象
DarraRT Full (推荐首次)驱动 + Service + IDE + Panel + SDK开发工程师
DarraRT Runtime Only驱动 + Service + Panel生产现场部署
DarraRT SDK OnlyEtherCAT SDK + 示例二次开发用户

文件校验 (SHA256):

Get-FileHash -Algorithm SHA256 .\DarraRT_Setup.exe

对比官网给出的 HASH 值, 防止下载包被篡改。

安装 DarraRT

  1. 以管理员身份 双击 DarraRT_Setup.exe
  2. 安装向导步骤:
    • 接受协议
    • 选择安装目录 (建议保持默认 C:\Program Files\DarraRT)
    • 选择组件 (IDE / Service / Panel / Driver / SDK)
    • 选择开始菜单分组
    • 点击 安装
  3. 过程中会出现数次 UAC 弹窗 (加载驱动), 全部点击
  4. 安装完成, 勾选"安装实时内核驱动" → 完成

step-3: 安装向导组件选择 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. 软授权 (绑定机器码)

  1. 打开 Darra PLC IDE → 菜单 帮助 → 许可证管理
  2. 点击 生成机器指纹, 得到 fingerprint.txt
  3. 发送 fingerprint.txtlicense@darra.tech 或通过经销商
  4. 收到 license.dk 后, 回到 IDE 点击 导入许可证
  5. 重启 IDE 生效

3. USB 硬件锁 (多机复用)

  • 适合同一用户在多台机器上切换
  • 插入 USB Dongle 后自动识别
  • 拔出 Dongle 后功能降级为试用模式

step-4: 许可证管理界面 TODO

首次启动自检

安装完成并授权后, 双击桌面 Darra PLC IDE 图标, 首次启动会触发自检:

  1. 检测 .NET 8 Desktop Runtime
  2. 检测 VC++ 2022 运行时
  3. 检测 DarraRT 内核驱动加载状态
  4. 检测 GPU / OpenGL 4.5 支持
  5. 检测许可证有效性
  6. 启动 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 Runtime
  • OpenGL 4.5 不支持 → 更新显卡驱动
  • DevExpress 组件未注册 → 重装 IDE

EtherCAT 网卡无法识别

症状: IDE → EtherCAT 配置 → 网卡列表为空。

排查:

  1. 确认 Intel 网卡已安装最新官方驱动 (不是 Windows Update 自动的那个)
  2. 检查网卡上的协议绑定: 网络连接 → 属性, 必须看到 DarraRT NDIS Protocol
  3. 重启 DarraRT_Eth 服务:
sc stop DarraRT_Eth
sc start DarraRT_Eth

下一步

环境准备完成后, 可以进入: