using Bro.Common.Base; using Bro.Common.Helper; using Bro.Common.Interface; using System; using System.Collections.Generic; using System.ComponentModel; using System.Configuration; using System.Drawing.Design; namespace Bro.Device.GTSCard { public abstract class GTSCardOperationConfigBase : OperationConfigBase { ///// ///// 需要操作的PLC项 ///// //public List Items { get; set; } = new List(); } //public class GTSCardInitialConfigBase : InitialConfigBase, IMonitorConfig //{ // [Category("驱动类型")] // [Description("驱动类型")] // [DisplayName("驱动类型")] // [TypeConverter(typeof(PLCTypeConverter))] // public override string DriverType { get; set; } // [Category("警报配置")] // [Description("警报配置列表")] // [DisplayName("警报配置")] // [TypeConverter(typeof(CollectionCountConvert))] // [Editor(typeof(WarningSetsEditor), typeof(UITypeEditor))] // public List WarningSetCollection { get; set; } = new List(); // #region IMonitorConfig // [Category("监听设置")] // [Description("监听操作配置集合")] // [DisplayName("监听配置")] // [TypeConverter(typeof(CollectionCountConvert))] // [Editor(typeof(ComplexCollectionEditor), typeof(UITypeEditor))] // public List MonitorSetCollection { get; set; } = new List(); // [Category("监听设置")] // [Description("true:启动监听 false:关闭监听")] // [DisplayName("监听启用")] // public bool IsEnableMonitor { get; set; } = true; // [Category("监听设置")] // [Description("扫描间隔时间,单位:ms")] // [DisplayName("扫描间隔")] // public int MonitorInterval { get; set; } = 100; // [Category("监听设置")] // [Description("超时设置,单位:ms")] // [DisplayName("监听超时")] // public int MonitorTimeout { get; set; } = 500; // [Category("事件地址设置")] // [Description("事件开始地址,PLC的实际寄存器地址。十进制,不包含功能码。")] // [DisplayName("监听开始地址")] // public int EventStartAddress { get; set; } = 8000; // [Category("事件地址设置")] // [Description("事件地址长度,最大长度128")] // [DisplayName("监听长度")] // public int EventLength { get; set; } = 120; // public List GetAllMonitorSet() // { // WarningSetCollection.ForEach(m => m.Source = this.Name); // MonitorSetCollection.ForEach(m => m.SourceDevice = this.Id); // return MonitorSetCollection; // } // #endregion // #region IMotion Related // [Category("运动配置")] // [Description("运动轴状态集合")] // [DisplayName("运动轴状态集合")] // [TypeConverter(typeof(CollectionCountConvert))] // [Editor(typeof(ComplexCollectionEditor), typeof(UITypeEditor))] // public List MotionStateCollection { get; set; } = new List(); // #endregion //} /// /// 点位类型 /// public enum PosType { /// /// 直线插补 /// Line = 1, /// /// 圆弧插补(半径) /// CircleRadius, /// /// 圆弧插补(圆心) /// CircleCenter } public static class GTSCardParameter { #region 运动参数 public static int Dangliang = 1; public static int AxisCount = 2;//运动轴数量 public static short CardNum = Convert.ToInt16(ConfigurationManager.AppSettings["cardNum"]); public static short fifo = Convert.ToInt16(ConfigurationManager.AppSettings["fifo"]); public static int FlySpeed = Convert.ToInt32(ConfigurationManager.AppSettings["flySpeed"]); public static double FlyAcc = Convert.ToDouble(ConfigurationManager.AppSettings["flyAcc"]); public static int P2PSpeed = Convert.ToInt32(ConfigurationManager.AppSettings["p2pSpeed"]); public static double P2PAcc = Convert.ToDouble(ConfigurationManager.AppSettings["p2pAcc"]); public static double P2PDec = Convert.ToDouble(ConfigurationManager.AppSettings["p2pDec"]); public static int FreeSpeed = Convert.ToInt32(ConfigurationManager.AppSettings["freeSpeed"]); public static int VelEnd = Convert.ToInt32(ConfigurationManager.AppSettings["velEnd"]);//飞拍结束速度 public static int HomeSpeed = Convert.ToInt32(ConfigurationManager.AppSettings["homeSpeed"]); public static int Loading = Convert.ToInt32(ConfigurationManager.AppSettings["loading"]); //public const short cardn = 0;//运动控制器卡号 默认为:0 //public const short crdn = 1;//坐标系号 取值范围:[1, 2] //public const short fifo = 0;//插补缓存区号 取值范围:[0, 1],默认值为:0 //public const int flySpeed = 250;//飞拍速度 //public const double flyAcc = 0.5;//飞拍加速度 //public const int gocatorSpeed = 150;//3D检测轴运动速度 //public const int p2pSpeed = 250;//P2P速度 //public const double p2pAcc = 1;//P2P加速度 //public const double p2pDec = 1;//P2P减速度 //public const int calibrationSpeed = 10;//标定速度 //public const int calibrationZ = 19336;//标定Z轴高度 //public const int barcodeSpeed = 250;//条码检测轴运动速度 //public const int freeSpeed = 250;//非检测时轴运动速度 //public const int velEnd = 0;//飞拍结束速度 //public const int homeSpeed = 50;//回零速度 //public const int loading = 80000;//上料位置 #endregion #region IO /// /// 输入IO默认值 /// public const int InDefaultValue = 0xFFDA; /// /// 夹紧气缸 /// public const short EXO_1 = 100;//夹紧气缸 /// /// 日光灯 /// public const short EXO_2 = 101;//日光灯 /// /// 光源切换 /// public const short EXO_3 = 102;//光源切换 /// /// 红灯 /// public const short EXO_4 = 103;//红灯 /// /// 黄灯 /// public const short EXO_5 = 104;//黄灯 /// /// 绿灯 /// public const short EXO_6 = 105;//绿灯 /// /// 蜂鸣器 /// public const short EXO_7 = 106;//蜂鸣器 /// /// Gocator X /// public const short EXO_8 = 107;//Gocator X /// /// 正面光(左) /// public const short EXO_9 = 108;//正面光(左) /// /// 正面光(后) /// public const short EXO_10 = 109;//正面光(后) /// /// 正面光(右) /// public const short EXO_11 = 110;//正面光(右) /// /// 正面光(前) /// public const short EXO_12 = 111;//正面光(前) /// /// Gocator Y /// public const short EXO_16 = 115;//Gocator Y /// /// 输出IO默认值 /// public const int OutDefaultValue = 0xFFF; /// /// 左启动 /// public const short EXI0 = 0;//左起动 /// /// 右启动 /// public const short EXI1 = 1;//右起动 /// /// 停止 /// public const short EXI2 = 2;//停止 /// /// 复位 /// public const short EXI3 = 3;//复位 /// /// 急停 /// public const short EXI4 = 4;//急停 /// /// 门开关 /// public const short EXI5 = 5;//门开关 /// /// 安全光幕 /// public const short EXI6 = 6;//安全光幕 public const short EXI7 = 7;// /// /// 夹紧气缸原位 /// public const short EXI8 = 8;//夹紧气缸原位 /// /// 夹紧气缸到位 /// public const short EXI9 = 9;//夹紧气缸到位 #endregion } }