| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193 | using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace YG.Device{    /// <summary>    /// 设备状态    /// </summary>    public enum DeviceState    {        /// <summary>        /// 运行中        /// </summary>        Runing,        /// <summary>        /// 准备就绪        /// </summary>        Start,        /// <summary>        /// 停止         /// </summary>        Stop,    }    /// <summary>    /// 发送状态    /// </summary>    public enum SendState    {        /// <summary>        /// 准备发送        /// </summary>        StartSend,        /// <summary>        /// 发送了请求,没有回应        /// </summary>        SendNoReceive,        /// <summary>        /// 已回应        /// </summary>        Received    }    interface InterfacleDevice    {        /// <summary>        /// 初始化设备        /// </summary>        void DeviceInit();        /// <summary>        /// 打开设备        /// </summary>        void DeviceOpen();        /// <summary>        /// 关闭设备        /// </summary>        void DeviceClose();        /// <summary>        /// 设备检测        /// </summary>        void DeviceCheck();        void DeviceStart();    }    public abstract class DeviceList : InterfacleDevice    {        /// <summary>        /// 设备类型        /// </summary>        public DeviceType Dtype { get; set; } =  DeviceType.其他;        /// <summary>        /// 设备运行状态        /// </summary>        /// <param name="enumDeviceList"></param>        /// <param name="ison"></param>        public delegate void RunState(string enumDeviceList, bool ison);        /// <summary>        /// 设备运行状态        /// </summary>        public virtual event RunState rState;        /// <summary>        /// 接受设备反馈指令        /// </summary>        /// <param name="obje1"></param>        /// <param name="obje2"></param>        /// <param name="obje3"></param>        public delegate void RunMessage(string obje1,string obje2, string obje3);        public virtual object Clone()        {            return this.MemberwiseClone();        }        /// <summary>        /// 设备正常运行        /// </summary>        public virtual bool IsOn { get; set; }        /// <summary>        /// 事件        /// </summary>        public virtual event RunMessage Msg;        /// <summary>        /// 超时时间        /// </summary>        public int timeout { get; set; } = 2500;        /// <summary>        /// 发送的内容        /// </summary>        public string SendValue { get; set; } = "";        public DeviceList(string name)        {            DeviceName = name;        }        public DeviceList()        {            DeviceName = "";        }        /// <summary>        /// 设备名称        /// </summary>        public virtual string DeviceName { get; set; }        public virtual string ServerUrl { get; set; }         public virtual string Ip { get; set; }        public virtual string ReadType { get; set; }        public virtual void DeviceClose()        {            Console.WriteLine(this.DeviceName+DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss fff") + this.DeviceName + "关闭");            if (Msg != null)            {                Msg(this.DeviceName,"", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss fff")+ this.DeviceName + "关闭");            }        }        public virtual void DeviceInit() {            Console.WriteLine(this.DeviceName+DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss fff") + this.DeviceName + "初始化");            if (Msg != null)            {                Msg(this.DeviceName,"", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss fff") + this.DeviceName + "初始化");            }        }        public virtual T DeviceRead<T>(string value,ushort leng=0)        {            return default(T);        }        public virtual void DeviceOpen() {            Console.WriteLine(this.DeviceName+DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss fff") + this.DeviceName + "打开");            if (Msg != null)            {                Msg(this.DeviceName,"",DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss fff") + this.DeviceName + "打开");            }        }        /// <summary>        /// 设备运行状态        /// </summary>               public virtual void DeviceSend(object ob)        {            Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss fff") + this.DeviceName + "发送一次数据");            Log.Instance.WriteLogAdd(this.DeviceName + "发送一次数据"+ob.ToString());            if (Msg != null)            {                Msg(this.DeviceName, ob.ToString(), DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss fff") + this.DeviceName + "发送一次数据");            }        }        public virtual void DeviceSend(object ob, object ob1)        {            Console.WriteLine(this.DeviceName+DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss fff") + ob.ToString()+" "+ob1.ToString());        }        public virtual void DeviceSend(object ob, object ob1,string readType)        {            Console.WriteLine(this.DeviceName + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss fff") + ob.ToString() + " " + ob1.ToString());        }        public virtual void DeviceCheck() { }        public virtual void PrintMsg()        {                    }        public virtual void DeviceStart() { }        public virtual void DeviceState()        { }                 }}
 |