From 8cbf4a6b9f334246d88c8101ae3db9a21f1bab3f Mon Sep 17 00:00:00 2001 From: patrick.xu <patrick.xu@broconcentric.com> Date: 星期三, 28 四月 2021 11:40:08 +0800 Subject: [PATCH] Merge branch 'master' of http://gitblit.broconcentric.com:8088/r/M071 --- src/Bro.Common.Device/DeviceBase/MotionCardBase.cs | 52 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 49 insertions(+), 3 deletions(-) diff --git a/src/Bro.Common.Device/DeviceBase/MotionCardBase.cs b/src/Bro.Common.Device/DeviceBase/MotionCardBase.cs index cba431b..ef22a40 100644 --- a/src/Bro.Common.Device/DeviceBase/MotionCardBase.cs +++ b/src/Bro.Common.Device/DeviceBase/MotionCardBase.cs @@ -20,7 +20,41 @@ { public event Action<DateTime, string, IDevice, IMonitorSet> OnMonitorInvoke; public event Action<DateTime, IDevice, IWarningSet> OnMonitorAlarm; + public event Action<int, string> OnAxisAlarmRaised; + public event Action<int, int, int> OnAxisStatusChanged; + public event Action<int, int> OnAxisPositionChanged; + + public void AxisAlarmRaised(int axisIndex, string msg) + { + OnAxisAlarmRaised?.Invoke(axisIndex, msg); + } + public void AxisStatusChanged(int axisIndex, int preStatus, int curStatus) + { + OnAxisStatusChanged?.Invoke(axisIndex, preStatus, curStatus); + } + + public void AxisPositionChanged(int axisIndex, int currentPosition) + { + OnAxisPositionChanged?.Invoke(axisIndex, currentPosition); + } + + protected override void Start() + { + AxisStatusList = IConfig.AxisSettings.Where(a => a.IsAxisEnabled).ToList().ConvertAll(a => + { + AxisMovingStatus axisSts = new AxisMovingStatus(); + axisSts.AxisIndex = a.AxisIndex; + axisSts.AxisName = a.AxisName; + + return axisSts; + }); + + Task.Run(() => + { + Monitor(); + }); + } public abstract List<AxisInfo> GetCurrentAxisInfo(params string[] axisName); public abstract void Monitor(); public abstract ResponseMessage MoveToPoint(IOperationConfig opConfig); @@ -99,7 +133,7 @@ /// <summary> /// 杞寸殑杩愬姩鐘舵�佸�� /// </summary> - public List<AxisMovingStatus> AxisMovingOptionValues { get; set; } = new List<AxisMovingStatus>(); + public List<AxisMovingStatus> AxisStatusList { get; set; } = new List<AxisMovingStatus>(); public abstract void WriteOutput(short index, IOValue value); @@ -112,7 +146,7 @@ /// <summary> /// 鎭㈠绔嬪嵆鏆傚仠 /// </summary> - public abstract void ResetImmediatePause(); + public abstract void ResetImmediatePause(bool isResumeMoving); #endregion } @@ -121,7 +155,7 @@ [Category("鏉垮崱閰嶇疆")] [DisplayName("鍗″彿")] [Description("CardNum锛氬崱鍙�")] - public int CardNum { get; set; } + public int CardNum { get; set; } = 1; [Category("鏉垮崱閰嶇疆")] [DisplayName("鍒濆閰嶇疆鏂囦欢璺緞")] @@ -163,6 +197,10 @@ [TypeConverter(typeof(CollectionCountConvert))] [Editor(typeof(ComplexCollectionEditor<IODefinition>), typeof(UITypeEditor))] public List<IODefinition> IODefinitionCollection { get; set; } = new List<IODefinition>(); + + [Category("IO閰嶇疆")] + [Description("true锛氳緭鍑哄彇鍙� false锛氳緭鍑轰笉鍙栧弽")] + public bool IsOutputReversed { get; set; } = true; #region IMonitorConfig [Category("鐩戝惉璁剧疆")] @@ -287,6 +325,14 @@ [Editor(typeof(MovingOpsCollectionEditor), typeof(UITypeEditor))] public List<MovingOption> MovingOps { get; set; } = new List<MovingOption>(); + [Category("3.杩愬姩寤舵椂")] + [Description("鎿嶄綔鍓嶅欢鏃讹紝鍗曚綅ms")] + public int DelayBefore { get; set; } = 0; + + [Category("3.杩愬姩寤舵椂")] + [Description("鎿嶄綔鍚庡欢鏃讹紝鍗曚綅ms")] + public int DelayAfter { get; set; } = 0; + public string MotionCardId = ""; //[Category("鏉垮崱杩愬姩閰嶇疆")] -- Gitblit v1.8.0