陈嘉乐
2020-11-20 35a33afeeb29466c20ee39dc34e0468d687afce9
HDL_ON/UI/UI2/3-Intelligence/Automation/Logic.cs
@@ -8,6 +8,10 @@
    public class Logic
    {
        /// <summary>
        /// 当前逻辑
        /// </summary>
        public static Logic currlogic;
        /// <summary>
        /// 逻辑唯一标识
        /// </summary>
        public string sid = "";
@@ -35,57 +39,7 @@
        /// 逻辑输出目标数组
        /// </summary>
        public List<Output> output = new List<Output>();
        /// <summary>
        /// 生成逻辑sid方法
        /// </summary>
        public string NewSid()
        {
            string logicId = "";
            try
            {
                string sOidBeginsWith = "000101";//厂商 + 通讯方式
                DateTime dt = DateTime.Now;
                DateTime startTime = TimeZoneInfo.ConvertTimeToUtc(new DateTime(2020, 1, 1));
                long m = (long)((dt - startTime).TotalMilliseconds / 10);
                string sTimeSpan = "00000000";
                byte[] arry = new byte[4];
                arry[0] = (byte)(m & 0xFF);
                arry[1] = (byte)((m & 0xFF00) >> 8);
                arry[2] = (byte)((m & 0xFF0000) >> 16);
                arry[3] = (byte)((m >> 24) & 0xFF);
                sTimeSpan = arry[0].ToString("X2") + arry[1].ToString("X2") + arry[2].ToString("X2") + arry[3].ToString("X2");
                if (sTimeSpan.Length > 8)
                {
                    sTimeSpan = sTimeSpan.Substring(0, 8);
                }
                else
                {
                    sTimeSpan = "00000000";
                }
                logicId = sOidBeginsWith + sTimeSpan;
                logicId += "0A";
                logicId += "0A01";
                //0A01 物模型为逻辑, 0001 表示 1 号逻辑功能
                int iTopLogicId = 1;
                Random random = new Random();
                iTopLogicId = random.Next(0, 255);
                iTopLogicId += random.Next(0, 255);
                logicId += iTopLogicId.ToString("X4");//逻辑号 两个byte
                logicId += "1100";
            }
            catch
            {
                return logicId;
            }
            return logicId;
        }
    }
    /// <summary>