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
}
}