QI Mingxuan
41e056f85c
[XP.Hardware.MotionControl] 新增 CoordinateCompensation.md:完整描述载物台坐标系补偿功能(坐标模型、像素到 mm 换算、Replace/Accumulate 记录模式与示例、接口说明、调用流程、边界注意事项、源码位置)
...
[XP.Hardware.MotionControl] README 文档目录树补齐全部文档条目并加入 CoordinateCompensation.md
2026-07-28 18:58:22 +08:00
QI Mingxuan
f087ad4264
[XP.Hardware.MotionControl] 新增坐标系补偿功能:新增 CompensationMode 枚举(Replace/Accumulate)与 StageCompensationChangedEvent 事件 [XP.Hardware.MotionControl] IMotionControlService 新增 ApplyPixelOffsetCompensation / RecordPixelOffsetCompensation / GetStageCompensation / ResetStageCompensation / SetStageCompensation 接口,MoveToTarget、MoveAllToTarget 增加 applyCompensation 参数 [XP.Hardware.MotionControl] MotionControlService 实现补偿值存储(含线程锁)、抽取 TryConvertPixelToStageMm 复用像素到 mm 换算,补偿记录默认覆盖模式,StageX/StageY 定点运动可叠加补偿并保留边界校验
2026-07-28 11:47:15 +08:00
XplorePlane Developer
957157ae80
fix: 修复编译错误、BGA向导预览、算子重复插入及状态栏消息
...
## Compilation fixes
- Fix XAML namespace reference XplorePlane.Converters → XplorePlane.Helpers (EventLogView, StateDisplayView)
- Add missing using for ISampleTypeRepository / JsonSampleTypeRepository in App.xaml.cs
- Fix ILoggerService.Warn() calls using Exception as first arg instead of message string
- Serialize CncProgram to JSON when passing to MatrixLayout (expects string, not CncProgram object)
- Suppress CS8632 nullable annotation warnings project-wide
## BGA wizard fixes
- Fix preview not showing on step 3: force RefreshBgaPreview() when entering final step
- Add step validation in CanNext() to prevent skipping to preview with invalid inputs
- Notify NextCommand.CanExecuteChanged when inputs change
- Fix RunProgress runtime binding error: set Mode=OneWay for ProgressBar.Value
## Operator toolbox: prevent duplicate insertion
- Add static OperatorTarget property for direct dispatch to active pipeline
- PipelineEditorView registers as toolbox target on load (floating window only)
- CNC page sets initial target; PipelineEditorWindow resets to CNC pipeline on close
- '+' button inserts only to the active pipeline instead of broadcasting to all subscribers
## Pipeline editor status bar messages
- Add StatusBarMessageEvent / StatusBarMessagePayload to CommonEvents.cs
- PipelineEditorViewModel publishes status on all ops (add/remove/reorder/save/execute)
- MainViewModel subscribes and displays on main window bottom status bar
- Auto-clear after timeout (3s info, 5s error)
## docs
- Merge three architecture docs into consolidated XplorePlane-架构与结构说明.md
2026-07-24 15:59:16 +08:00
QI Mingxuan
023bec66ce
[XplorePlane] 解决与 Develop/XP 合并在 MainViewModel.ExecuteOneClickInitialize 的冲突:保留基于 OneClickWarmupCoordinator 的一键暖机实现(统一进度窗体 + 回原点/射线源并行)。
2026-07-21 09:00:31 +08:00
QI Mingxuan
1b6573603d
[XP.Common] 清单式进度窗体支持运行中禁止关闭、完成后手动关闭,底部新增状态栏与关闭按钮。
...
[XP.Hardware.MotionControl] 新增 HomeAllAsync 支持回原点多轴完成计数百分比。
2026-07-16 12:10:15 +08:00
zhengxuan.zhang
f6ca45659a
fix: 修复虚拟模式下摇杆无法控制XY轴运动的问题
...
根因:
1. App.config 中 StageX/StageY 缺少 Min/Max 配置,ConfigLoader 默认
赋值为 0,导致 SimulatedLinearAxis 的 Min=Max=0,JogStart 计算
目标位置为 0(与当前位置相同),distance=0 直接返回不产生运动
2. DualJoystickOutputX setter 未调用 HandleDualJoystickOutput(),
纯水平拖动时不会触发 StageX 的 Jog 命令
3. ToggleEnableCommand 等命令的 CanExecute 依赖 IsPlcConnected,
虚拟模式下 PLC 永远未连接,导致使能按钮不可用;
OnPlcConnectionChanged 会将 IsJoystickEnabled 置 false 禁用摇杆
修复:
- App.config 补齐 StageX/StageY 的 Min=-150 / Max=150(与 ReleaseFiles 对齐)
- AxisControlViewModel.DualJoystickOutputX setter 增加 HandleDualJoystickOutput() 回调
- 命令 CanExecute 条件改为 IsPlcConnected || isSimulatedMode
- OnPlcConnectionChanged 在虚拟模式下直接 return 不禁用摇杆
- ExecuteToggleEnable 在虚拟模式下跳过 PLC 信号写入
2026-07-13 14:17:06 +08:00
zhengxuan.zhang
4b9890d4c4
perf: 启动优化 — Lazy<T> 延迟加载图像处理服务,启动时间从29秒降至5.5秒
...
- 将 CncExecutionService、PipelinePersistenceService、PipelineExecutionService、
PipelineEditorViewModel、CncEditorViewModel 中的 IImageProcessingService /
IPipelineExecutionService 依赖改为 Lazy<T> 注入,避免启动时触发
ImageProcessingService 的反射处理器扫描和 EmguCV JIT 编译
- 在关键启动路径插入 [STARTUP-PERF] Stopwatch 计时日志用于性能诊断
- 新增 doc/启动耗时分析.md 技术文档记录分析过程和优化方案
- Ribbon Tab "设置" 重命名为 "工具" 避免与子按钮名称重复
2026-07-08 13:17:38 +08:00
QI Mingxuan
0a64110138
Merge branch 'Develop/XP' into Feature/TURBO-739-HardwareBenchmarkYxlon
2026-07-06 15:12:00 +08:00
QI Mingxuan
d7163600dd
[XP.Hardware.MotionControl] 新增 MoveToSafePosition() 功能;配置类 LinearAxisConfig/RotaryAxisConfig 增加 SafePosition 属性。
2026-07-06 10:49:08 +08:00
QI Mingxuan
0b8713dd6b
[XP.Hardware.MotionControl] 像素-载物台映射改为基于几何配置直接计算,废弃手动标定流程;新增探测器像素物理尺寸和方向系数配置项。
2026-07-01 15:42:31 +08:00
LI Wei.lw
d4dd05af60
已合并 PR 146: 导航相机标定及红色十字线
2026-07-01 11:10:50 +08:00
wei.lw.li
dc879ede85
feat:给仿真区域添加注释
2026-07-01 08:39:45 +08:00
QI Mingxuan
0cf12df789
[XP.Hardware.MotionControl] 新增放大比与像素-载物台运动距离标定Readme文档。
2026-06-30 20:10:45 +08:00
QI Mingxuan
5a62e03abd
[XP.Hardware.MotionControl] 新增放大比与像素-载物台运动距离标定功能:新增 Calibration 子模块:支持 JSON 持久化、像素→载物台坐标转换、方向系数映射;向导支持:标定介绍、两点标定、一致性检查、方向标定、精度验证与保存;启动时自动加载标定数据;主界面集成放大比标定入口。
2026-06-30 17:14:21 +08:00
wei.lw.li
8aaaee51ea
feat:删除导航相机标定相关功能;导航相机标定(Yxlon);显示区域增加红色十字线
2026-06-30 16:31:51 +08:00
QI Mingxuan
8f219c8c5f
[XP.Hardware.MotionControl] 新增放大比(M)实时显示和一键停止所有轴功能。
2026-06-30 10:23:38 +08:00
zhengxuan.zhang
7683596c17
编译策略: “入口程序、硬件与 Native 依赖项目固定 x64,纯托管类库保持 Any CPU”的平台策略
2026-06-05 21:33:56 +08:00
zhengxuan.zhang
80dc70a648
给被主程序引用的类库项目中的 Telerik NuGet 引用增加了 PrivateAssets="all" 属性,隔离输出目录中 Telerik DLL 数量从原先主输出目录的 67 个 降到 16 个
2026-06-05 14:15:24 +08:00
zhengxuan.zhang
84c1c5f16d
CNC 检测模块输出的 数值类型如 bga检测和 孔隙检测的输出内容,要写入到 CNC 检测结果 manifest.json 合适的地址
2026-05-26 16:02:34 +08:00
zhengxuan.zhang
92213ffd0d
Merge branch 'Develop/XP' into turbo-002-cnc
...
# Conflicts:
# XplorePlane/Views/Main/MainWindow.xaml
2026-05-22 17:17:29 +08:00
zhengxuan.zhang
de4a7121db
虚拟模式下 跳过联锁(Interlock)检查,因为虚拟模式没有真实安全门信
2026-05-21 17:15:27 +08:00
zhengxuan.zhang
43d0e7fa89
feat: 硬件虚拟化与CNC联动集成 - 运动控制/射线源模拟实现,CNC执行联动增强
2026-05-21 16:02:53 +08:00
QI Mingxuan
346f4d9a9b
XP.Common类库的控件Controls功能,按照功能/用途分子文件夹,移动和修改虚拟摇杆相关的文件。
2026-05-15 16:06:26 +08:00
QI Mingxuan
c1c2b93cf8
更新运动控制相关的Readme、Guidence文件等。
2026-05-11 11:20:02 +08:00
QI Mingxuan
e9596b013a
修复运动控制问题:ExecuteToggleEnable 在 PLC 写入失败或异常时回滚 IsJoystickEnabled 状态;OnPlcConnectionChanged 中改为 new List<>(dict.Keys) 遍历副本,避免潜在的集合修改问题;SendSourceDetectorZMoveCommand 新增 sourcePropertyName 参数,根据用户编辑的是 SourceZ 还是 DetectorZ 来决定 delta 计算方向;SavePositionsCommand 增加 () => IsPlcConnected 条件,PLC 未连接时禁止保存。
...
补充射线源和PLC类库所需配置和信号地址定义文件。
2026-05-11 10:54:29 +08:00
QI Mingxuan
f4a2856b92
运动控制:新增射线源与探测器 Z 轴联动移动功能,支持同步位移控制,新增实体摇杆实现 PLC 摇杆状态监控和事件发布,IMotionSystem 接口新增 Joystick 属性,更新文档说明联动功能使用方法。
2026-05-09 11:30:05 +08:00
QI Mingxuan
bb1b76ee7a
增加射线源探测器Z轴锁定联动功能,增加对应plc信号和配置。
2026-05-07 20:24:55 +08:00
QI Mingxuan
6b309f11b0
修改主页面右侧硬件栏目宽度,运动控制修改增加图标按钮切换。
2026-05-07 10:01:55 +08:00
QI Mingxuan
cdd1f043e7
优化界面显示:射线源模块紧凑设计,探测器优化布局和大小,优化界面提示和提示。
2026-05-06 17:47:38 +08:00
QI Mingxuan
40b229f5aa
已合并 PR 34: 合并AxisControl运动控制控件
2026-04-23 08:54:08 +08:00
QI Mingxuan
461294986e
优化虚拟摇杆运动控制界面显示问题,将generic修改为usercontrol,单轴摇杆修改为腰圆形状,将功能增加至主框架程序。
2026-04-22 22:49:46 +08:00
QI Mingxuan
1279885924
初版本AxisControl(Viscom风格)控件。
2026-04-22 20:48:00 +08:00
TianSong
8189e76492
Fix EmguCV针对图像宽不是4的倍数的改变bug修复
2026-04-21 15:30:07 +08:00
TianSong
9af453bc8d
将工程所有的cs文件以及xaml文件的编码格式转换为utf-8编码,请安装vs 2022的Force utf-8(No BOM) 2022插件
2026-04-20 14:38:06 +08:00
QI Mingxuan
2bd6e566c3
将Feature/XP.Common和Feature/XP.Hardware分支合并至Develop/XP.forHardwareAndCommon,完善XPapp注册和相关硬件类库通用类库功能。
2026-04-16 17:31:13 +08:00