private static void OnPagckageReceived(object sender, PackageEventArgs <MyPackageInfo> e)
 {
     if (e.Package.Data.Length > 1 || e.Package.Header.Length > 0)
     {
         SendNoticeMessage(e.Package);
         myPackageInfo = e.Package;
     }
     //LogHelper.Log.Info("收到服务消息【Byte】:"+"head:"+BitConverter.ToString(e.Package.Header)+" body:"+BitConverter.ToString(e.Package.Data));
 }
Exemple #2
0
        private void TestItemProcess(MyPackageInfo packageInfo, TestTypeEnum testType)
        {
            var baseNum = DecConvert2Hex(packageInfo.Data[10]);
            var power   = (int)packageInfo.Data[11];

            byte[] buffer = new byte[4];
            Array.Copy(packageInfo.Data, 12, buffer, 0, 4);
            var    resistanceVal = Convert.ToUInt32(BitConverter.ToString(buffer).Replace("-", ""), 16);
            var    resistance    = resistanceVal / 65536.0;
            double factor        = 0;

            if (baseNum == "00")
            {
                double.TryParse(Convert.ToString((int)packageInfo.Data[11], 16).Substring(0, 1), out factor);
            }
            else if (baseNum == "01")
            {
                factor = 10 * Math.Pow(10, power);
            }
            var calResult = (resistance * factor).ToString("f2");
            var assResult = resistance * factor;

            Task.Run(() =>
            {
                switch (testType)
                {
                case TestTypeEnum.AssTest:
                    if (this.devConfig.CompensateState == "1")
                    {
                        this.tb_dzResult.Text = (assResult + this.devConfig.AssCompensateVal).ToString("f2");
                    }
                    else
                    {
                        this.tb_dzResult.Text = calResult;
                    }
                    break;

                case TestTypeEnum.InsVoltageTest:
                    this.tb_insulateDY_Result.Text = calResult;
                    break;

                case TestTypeEnum.InsAssTest:
                    this.tb_insulateDz_Result.Text = calResult;
                    break;
                }
            });
        }
Exemple #3
0
        private void SuperEasyClient_NoticeMessageEvent(MyPackageInfo packageInfo)
        {
            var dataLength = packageInfo.Data.Length;

            //导通测试成功后,更新UI,并开始测试下一个
            //收到f2 cc
            if (packageInfo.Header.Length < 4 || packageInfo.Data.Length < 4)
            {
                return;
            }
            if (packageInfo.Data[0] != 0xff || packageInfo.Data[1] != 0xff)
            {
                return;
            }
            if (packageInfo.Data[4] == 0xfb && packageInfo.Data[5] == 0xcc)//设备自检
            {
                TestItemProcess(packageInfo);
            }
        }
Exemple #4
0
        private void TestItemProcess(MyPackageInfo packageInfo)
        {
            var baseNum = DecConvert2Hex(packageInfo.Data[10]);
            var power   = (int)packageInfo.Data[11];

            byte[] buffer = new byte[4];
            Array.Copy(packageInfo.Data, 12, buffer, 0, 4);
            var    resistanceVal = Convert.ToUInt32(BitConverter.ToString(buffer).Replace("-", ""), 16);
            var    resistance    = resistanceVal / 65536.0;
            double factor        = 0;

            if (baseNum == "00")
            {
                double.TryParse(Convert.ToString((int)packageInfo.Data[11], 16).Substring(0, 1), out factor);
            }
            else if (baseNum == "01")
            {
                factor = 10 * Math.Pow(10, power);
            }
            var calResult = resistance * factor;

            this.tb_checkResult.Text = calResult.ToString("f3");
            var min = devSelfCheckThreshold - (devSelfCheckThreshold * 0.1);
            var max = devSelfCheckThreshold + (devSelfCheckThreshold * 0.1);

            if (calResult >= min && calResult <= max)
            {
                this.lbx_checkTip.Text = "自检结果在500正负10%范围内";
            }
            else
            {
                this.lbx_checkTip.Text      = "自检结果不在500正负10%范围内";
                this.lbx_checkTip.ForeColor = Color.Red;
            }
            this.lbx_checkTip.Visible   = true;
            this.btn_startCheck.Enabled = true;
        }
Exemple #5
0
 private static void SendNoticeMessage(MyPackageInfo packageInfo)
 {
     NoticeMessageEvent(packageInfo);
 }