Exemplo n.º 1
0
        public void SetGiaTri(long?value, DateTime time, eQualiti qualiti = eQualiti.OPCQualityGood)
        {
            if (qualiti == eQualiti.OPCQualityGood)
            {
                countBad_GiaTri = 0;
                OPC_GiaTri      = value;
            }
            else
            {
                if (countBad_GiaTri <= MAX_COUNT)
                {
                    countBad_GiaTri++;
                    if (countBad_GiaTri > MAX_COUNT)
                    {
                        OPC_GiaTri = null;
                    }
                    else
                    {
                        return;
                    }
                }
                else
                {
                    return;
                }
            }

            OPC_Qualiti = qualiti;
            UpdateTime  = time;

            switch (TypeDiemDo)
            {
            case eTypeDiemDo.CH4:
                GiaTri = OPC_GiaTri * 1F / 100;
                break;

            case eTypeDiemDo.O2:
                GiaTri = OPC_GiaTri * 1F / 10;
                break;

            case eTypeDiemDo.CO:
            case eTypeDiemDo.H2:
            case eTypeDiemDo.NhietDo:
            case eTypeDiemDo.Gio:
            case eTypeDiemDo.Notset:
                GiaTri = OPC_GiaTri;
                break;

            default:
                throw new NotSupportedException(TypeDiemDo.ToString());
            }
            sGiaTri = GiaTri.HasValue ? GiaTri.Value.ToString("#,##0.###") : "---";
        }
Exemplo n.º 2
0
        public void Setup(eTypeDiemDo eTypeDiemDo, string address, string name)
        {
            this.TypeDiemDo  = eTypeDiemDo;
            this.OPC_Address = address;
            this.Name        = name;
            switch (TypeDiemDo)
            {
            case eTypeDiemDo.Notset:
                DonVi = "";
                break;

            case eTypeDiemDo.CH4:
                DonVi = StaticDonVi.CH4;
                break;

            case eTypeDiemDo.CO:
                DonVi = StaticDonVi.CO;
                break;

            case eTypeDiemDo.O2:
                DonVi = StaticDonVi.O2;
                break;

            case eTypeDiemDo.H2:
                DonVi = StaticDonVi.H2;
                break;

            case eTypeDiemDo.NhietDo:
                DonVi = StaticDonVi.NhietDo;
                break;

            case eTypeDiemDo.Gio:
                DonVi = StaticDonVi.Gio;
                break;

            default:
                throw new NotSupportedException(TypeDiemDo.ToString());
            }
            SetGiaTri(this.OPC_GiaTri, this.UpdateTime, this.OPC_Qualiti);
        }