跳到主要内容

创建第一个项目

本节手把手带您走通从启动 IDE 到保存第一个工程的全流程。我们将新建一个 "DemoLine01" 解决方案, 往里添加一台 PLC 设备, 配置 IP 和扫描周期, 最后保存。

目标

  • 会启动 IDE 并读懂首页
  • 能新建解决方案并添加第一台 PLC
  • 会配置 IP / 扫描周期 / 运行模式
  • 会保存与打开工程

前置条件

  • 已按 环境准备 完成安装
  • Darra PLC Service 在后台运行 (任务管理器 → 服务, 状态 = 正在运行)

启动 IDE

  1. 双击桌面 Darra PLC IDE 图标, 或从 开始菜单 → Darra → PLC IDE 启动
  2. 首次启动时 IDE 会自检:
    • .NET 8 Desktop Runtime
    • VC++ 2022
    • 实时内核驱动
    • OpenGL 4.5 (3D 仿真)
    • 授权状态
  3. 自检通过后进入 欢迎页

step-1: IDE 欢迎页 TODO

Service 自动拉起

IDE 启动时会自动探测 Darra PLC Service 是否在运行; 若未运行则自动启动。Service 是 IDE 与内核驱动之间的中间层, 负责程序下载、在线监视、Runtime 通讯, IDE 全生命周期都依赖它。

认识欢迎页

欢迎页左侧是四个入口, 右侧是最近工程列表:

入口说明
新建解决方案从空白或模板创建工程
打开解决方案打开已有的 .darrasln 文件
导入示例从官方示例库克隆 (LED 闪烁 / 机器人码垛 / Modbus 等)
连接远程 Runtime不新建工程, 直接在线查看远程 PLC

新建解决方案

  1. 点击 新建解决方案
  2. 在弹出的 新建工程 向导中填写:
字段示例值说明
解决方案名称DemoLine01不允许含空格, 建议英文 + 数字
保存路径D:\DarraProjects\DemoLine01建议独立磁盘, 避免 C 盘
项目类型PLC + Robot + HMI勾选后资源管理器会多出对应子树
运行模式仿真 (Simulation)开发阶段选仿真, 现场再切 EtherCAT RT
扫描周期4 ms可选 1 / 2 / 4 / 8 ms, 初学选 4 ms
语言版本IEC 61131-3 Ed.3默认即可
  1. 点击 创建

截图: 新建项目对话框

step-2: 新建解决方案向导 TODO

扫描周期选择

扫描周期越短, CPU 占用越高。不做机器人运动时 4 ms 足够; 做运动控制 (插补) 建议 1 ms; 大型逻辑 (IO 多于 1024 点) 可放宽到 8 ms。 周期可在解决方案属性里随时调整, 不会影响已写好的代码。

解决方案资源树

创建成功后, 左侧 解决方案资源管理器 显示以下结构:

截图: 解决方案资源树

DemoLine01/
├── 设备/
│ └── PLC_1/ 默认添加的第一台 PLC
│ ├── 程序/ SCL / LD / CFC 程序
│ │ └── Main 主程序
│ ├── 变量/ 全局变量 / IO 映射
│ │ ├── GlobalVars 全局变量表
│ │ └── IO_Mapping IO 映射表
│ ├── 数据类型/ UDT / ENUM / ALIAS
│ ├── 功能块/ FB
│ ├── 函数/ FC
│ └── IO 配置/ EtherCAT / Modbus / OPC-UA
├── 机器人/ (仅 Robot 项目) 机器人清单
├── HMI/ (仅 HMI 项目) 页面树
├── 配方/ 配方管理
├── 报警/ 报警组与文本
├── 日志/ 运行日志与归档
└── 解决方案.darrasln 工程入口文件

配置 PLC_1 的基本参数

  1. 设备 节点下双击 PLC_1, 打开设备属性页
  2. 基本信息 选项卡设置:
参数示例值说明
设备名PLC_1多台设备时建议改为 PLC_Line01 等业务名
IP 地址192.168.1.100Runtime 工控机 IP; 本机仿真填 127.0.0.1
端口18821DarraLink 主通道固定端口, 不在 UI 中配置
扫描周期4 ms与向导一致
运行模式仿真 (Simulation)EtherCAT RT (需硬件)
看门狗超时200 ms周期超时后自动停 PLC
启动策略上电自启动生产机必选
  1. 切换到 通讯 选项卡, 选择 调试网卡:
    • 若仅仿真, 选 本地回环 (Loopback) 即可
    • 若连接真实 Runtime, 选择目标机对应网卡 (两张 NIC 场景下选 NIC 0 调试口)
  2. 点击右下角 应用

step-3: PLC 设备属性页 TODO

配置调度优先级 (可选)

对实时性有要求的工程, 进入 高级 → 调度 选项卡:

参数推荐说明
CPU 亲和核心Core #3绑定到隔离核, 避免调度抖动
实时优先级15范围 1~31, 越大越优先
内存锁定启用禁止页换出
隔离核独占启用其他进程不得使用该核
隔离核必须先在 Service 注册

这里选择的 "CPU 亲和核心" 必须是在 Service 启动时通过 IOCTL_DARRT_ISOLATE_CORE 隔离出来的核, 否则会报 "核心未隔离, 无法绑定"。隔离核清单在 Service 配置 service.json → IsolatedCores 里定义。

保存工程

使用 Ctrl+S 或菜单 文件 → 保存 保存工程。

  • 单击保存: 仅保存当前打开的对象
  • Ctrl+Shift+S 保存全部: 保存解决方案下所有对象
  • 工程为多个文件 + JSON 清单的组合, 支持 Git 版本管理
定期保存

IDE 默认 不开启 自动保存, 请养成 Ctrl+S 习惯。可在 工具 → 选项 → 编辑器 里开启自动保存 (10/30/60 秒三档)。

打开已有工程

  • 菜单 文件 → 打开解决方案, 选择 .darrasln 文件
  • 或从欢迎页的 最近工程 列表直接双击
  • 快捷键 Ctrl+O

IDE 会自动还原上一次的窗口布局 (停靠面板 / 打开的文档), 布局持久化在 %AppData%\DarraPLC\_last_layout.xml

常见问题

向导卡死在"创建中..."

症状: 点击"创建"后进度条不动。

排查: 检查目标路径是否有写权限; 若目标在网络盘上, 先改到本地盘。

IP 地址冲突

症状: 应用后弹窗 "IP 已被占用"。

排查:

arp -a | findstr 192.168.1.100

如返回非本机 MAC, 说明该 IP 已分配给别的设备。

扫描周期灰色不可改

症状: 设备属性中扫描周期下拉不可点。

排查: 工程已处于"运行中"状态, 需先在线下线停止运行再改。

下一步