From eafdcc5ad6a55d3dfdec6c4787c3f3a9f32efc7f Mon Sep 17 00:00:00 2001 From: xcd <834800634@qq.com> Date: 星期二, 29 九月 2020 13:27:50 +0800 Subject: [PATCH] 1. M071B机台配置 2. GTS板卡添加回原点捕获模式和输入信号模式 3. CameraBase使用Dictionary类型做图片缓存 4. M071流程显式Copy,原来是为了避免内存泄漏,但目前来看不是这方面原因 5. Gocator驱动添加GoDataSet之类KObject资源显式回收,怀疑其中也有非托管对象资源,测试确实起到内存回收作用 --- src/Bro.UI.Device.Winform/MotionCard/FrmMotionCardOperationBase.cs | 63 ++++++++++++++----------------- 1 files changed, 28 insertions(+), 35 deletions(-) diff --git a/src/Bro.UI.Device.Winform/MotionCard/FrmMotionCardOperationBase.cs b/src/Bro.UI.Device.Winform/MotionCard/FrmMotionCardOperationBase.cs index cfe0328..b26aa01 100644 --- a/src/Bro.UI.Device.Winform/MotionCard/FrmMotionCardOperationBase.cs +++ b/src/Bro.UI.Device.Winform/MotionCard/FrmMotionCardOperationBase.cs @@ -3,6 +3,7 @@ using Bro.Common.Interface; using Bro.Common.Model; using System; +using System.Linq; using System.Windows.Forms; namespace Bro.UI.Device.Winform @@ -16,7 +17,7 @@ public IDevice Device { get; set; } - public MotionCardOperationConfigBase MotionCardOperationConfig { get; set; } + public MovingOption MotionCardMovingOption { get; set; } = new MovingOption(); /// <summary> /// 褰撳墠鏉垮崱瀹炰緥 @@ -32,68 +33,60 @@ InitializeComponent(); Device = device; - MotionCardOperationConfig = new MotionCardOperationConfigBase(); - + InitialLayout(); } - - MovingOption movingConfig = null; - - #region ILogoutput - public Action<LogMsg> OnLogMsgOutput { get; set; } - - public void LogDisplay(LogMsg msg) + private void InitialLayout() { - } - #endregion + foreach (var axisConfig in MotionCard.IConfig.AxisSettings.FindAll(u => u.IsAxisEnabled)) + { + CtrlMotionCardAxisOperation axisOperation = new CtrlMotionCardAxisOperation(Device, axisConfig.AxisIndex, axisConfig.AxisName); + //axisOperation.Dock = DockStyle.Fill; + flowLayoutPanel1.Controls.Add(axisOperation); + } - private void RadioButton_CheckedChanged(object sender, EventArgs e) - { - //鍔犺浇瀵瑰簲杩愬姩鐨� movingConfig - //if (radioP2P.Checked) - //{ - // movingConfig = MotionCardOperationConfig.MovingOps.FirstOrDefault(u => u.MoveMode == EnumHelper.MotorMoveMode.Normal); - //} - //else if (radioJog.Checked) - //{ - // movingConfig = MotionCardOperationConfig.MovingOps.FirstOrDefault(u => u.MoveMode == EnumHelper.MotorMoveMode.Jog); - //} - //else if (radioGoHome.Checked) - //{ - // movingConfig = MotionCardOperationConfig.MovingOps.FirstOrDefault(u => u.MoveMode == EnumHelper.MotorMoveMode.FindOri); - //} - - propGrid.SelectedObject = movingConfig; + MotionCardMovingOption.SetAxisSetting(MotionCard.IConfig.AxisSettings); + propGrid.SelectedObject = MotionCardMovingOption; } private void buttonClearStatus_Click(object sender, EventArgs e) { - + MotionCard.ClearStatus(1, MotionCard.IConfig.AxisSettings.FindAll(u => u.IsAxisEnabled).Count); } private void buttonServoEnable_Click(object sender, EventArgs e) { - + int sts = MotionCard.GetAxisStatus(MotionCardMovingOption.AxisIndex); + if ((sts & 0x200) == 0)//鍏抽棴鐘舵�� + { + MotionCard.AxisOnAsync(MotionCardMovingOption.AxisIndex); + buttonServoEnable.Text = "浼烘湇宸插紑鍚�"; + } + else + { + MotionCard.AxisOffAsync(MotionCardMovingOption.AxisIndex); + buttonServoEnable.Text = "浼烘湇宸插叧闂�"; + } } private void buttonPositionReset_Click(object sender, EventArgs e) { - + var res = MotionCard.PositionReset(MotionCardMovingOption.AxisIndex, 1); } private void btnStart_Click(object sender, EventArgs e) { - + MotionCard.SingleAxisMoving(MotionCardMovingOption); } private void buttonSmoothStop_Click(object sender, EventArgs e) { - + MotionCard.MoveStop(MotionCardMovingOption.AxisIndex, 0); } private void buttonEmergencyStop_Click(object sender, EventArgs e) { - + MotionCard.MoveStop(MotionCardMovingOption.AxisIndex, 1); } } -- Gitblit v1.8.0