| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- using System;
- using System.Linq;
- using System.Windows;
- using System.Windows.Controls;
- using System.Windows.Controls.Primitives;
- using TeamAAS.Global.Devices;
- using TeamAAS.Motion.Interfaces;
- namespace TeamAAS.Motion
- {
- /// <summary>
- /// 运动/IO 通用调试页面:轴状态表 + 定位/回零/使能/停止 + IO 输出点翻转。
- /// 所有运动卡与 IO 卡(仿真/雷赛/固高/IMC60G/GR20T…)共用此页面(设备内核·统一调试页要求);
- /// 品牌特有调试能力可通过 IDeviceDebugPageFactory 提供专用页面替换本页。
- /// </summary>
- public partial class MotionDebugView : UserControl
- {
- private IMotionControl _motion;
- private IIOCard _io;
- private readonly System.Windows.Threading.DispatcherTimer _refreshTimer;
- public MotionDebugView()
- {
- InitializeComponent();
- _refreshTimer = new System.Windows.Threading.DispatcherTimer { Interval = TimeSpan.FromMilliseconds(300) };
- _refreshTimer.Tick += (s, e) => RefreshStatus();
- }
- public void Bind(object motion)
- {
- _motion = ( IMotionControl ) motion;
- AxisGrid.ItemsSource = _motion.GetAxes();
- }
- private void RefreshStatus()
- {
- try
- {
- if ( _motion != null && _motion.IsConnected ) { }
-
-
- }
- catch { }
- }
- }
- /// <summary>
- /// 运动/IO 设备通用调试页工厂:注册到设备调试页体系后,所有运动卡/IO 卡自动获得调试页面。
- /// </summary>
- public class MotionDebugPageFactory : TeamAAS.Global.Devices.IDeviceDebugPageFactory
- {
- public string DeviceCategory => "运动卡";
- public object CreatePage(object device)
- {
- var view = new MotionDebugView();
- view.Bind(device);
- return view;
- }
- }
- }
|