protected bool PrintVoltageValueInfo(VM_VoltageInfo vi)
 {
     if (OnVoltageValueChanges != null)
     {
         return(OnVoltageValueChanges(vi));
     }
     else
     {
         return(false);
     }
 }
Exemple #2
0
        public bool PrintVoltageValueChanged(VM_VoltageInfo vi)
        {
            decimal retValue = 0;

            if (vi == null)
            {
                return(false);
            }
            decimal voltageValue = 0;
            string  v0           = vi.V0.ToString().Replace("V", "");
            string  v1           = vi.V1.ToString().Replace("V", "");
            string  v2           = vi.V2.ToString().Replace("V", "");

            if (decimal.Parse(v0) < 0)
            {
                v0 = "0";
            }
            if (decimal.Parse(v1) < 0)
            {
                v1 = "0";
            }
            if (decimal.Parse(v2) < 0)
            {
                v2 = "0";
            }
            voltageValue = (decimal.Parse(v0) + decimal.Parse(v1) + decimal.Parse(v2)) / 3;
            retValue     = voltageValue;
            if (VoltageBLL == null)
            {
                VoltageBLL = new VoltageBLL();
            }
            IList <VM_VoltageParam> vm_vp = VoltageBLL.GetVoltageDsToListInfo();

            vm_vp = vm_vp.Where(a => a.PreVoltage <= retValue && a.CurVoltage > retValue).ToList();
            if (vm_vp == null || vm_vp.Count <= 0)
            {
                return(false);
            }
            foreach (VM_VoltageParam item in vm_vp)
            {
                n_VoltageLevel = item.VoltageLevel;
            }
            return(true);
        }
        private void GetVoltageValue()
        {
            float[] fVals;
            int[]   iVals;
            Adam4000_ChannelStatus[] status;
            VM_VoltageInfo           vi = new VM_VoltageInfo();

            m_iCount++;
            strReadCount = "Polling " + m_iCount.ToString() + " times...";
            if (m_adamConfig.Format == Adam4000_DataFormat.TwosComplementHex)
            {
                //if (adamCom.AnalogInput(m_iAddr).GetValues(8, out iVals))
                //{
                //    vi.V0 = "0x" + iVals[0].ToString("X04");
                //    vi.V1 = "0x" + iVals[1].ToString("X04");
                //    vi.V2 = "0x" + iVals[2].ToString("X04");
                //    vi.V3 = "0x" + iVals[3].ToString("X04");
                //    vi.V4 = "0x" + iVals[4].ToString("X04");
                //    vi.V5 = "0x" + iVals[5].ToString("X04");
                //    vi.V6 = "0x" + iVals[6].ToString("X04");
                //    vi.V7 = "0x" + iVals[7].ToString("X04");
                //}
                //else
                //{
                //    vi.V0 = "Failed to get!";
                //    vi.V1 = "Failed to get!";
                //    vi.V2 = "Failed to get!";
                //    vi.V3 = "Failed to get!";
                //    vi.V4 = "Failed to get!";
                //    vi.V5 = "Failed to get!";
                //    vi.V6 = "Failed to get!";
                //    vi.V7 = "Failed to get!";
                //}
            }
            else
            {
                if (adamCom.AnalogInput(m_iAddr).GetValues(8, out fVals, out status))
                {
                    string a0 = "";
                    string a1 = "";
                    string a2 = "";
                    string a3 = "";
                    string a4 = "";
                    string a5 = "";
                    string a6 = "";
                    string a7 = "";
                    if (vi == null)
                    {
                        vi = new VM_VoltageInfo();
                    }
                    RefreshValue(ref a0, status[0], fVals[0], m_byRange[0]);
                    vi.V0 = a0;
                    RefreshValue(ref a1, status[1], fVals[1], m_byRange[1]);
                    vi.V1 = a1;
                    RefreshValue(ref a2, status[2], fVals[2], m_byRange[2]);
                    vi.V2 = a2;
                    RefreshValue(ref a3, status[3], fVals[3], m_byRange[3]);
                    vi.V3 = a3;
                    RefreshValue(ref a4, status[4], fVals[4], m_byRange[4]);
                    vi.V4 = a4;
                    RefreshValue(ref a5, status[5], fVals[5], m_byRange[5]);
                    vi.V5 = a5;
                    RefreshValue(ref a6, status[6], fVals[6], m_byRange[6]);
                    vi.V6 = a6;
                    RefreshValue(ref a7, status[7], fVals[7], m_byRange[7]);
                    vi.V7 = a7;
                    ///传送电压变化值
                    PrintVoltageValueInfo(vi);
                }
                else
                {
                    vi.V0 = "0";
                    vi.V1 = "0";
                    vi.V2 = "0";
                    vi.V3 = "0";
                    vi.V4 = "0";
                    vi.V5 = "0";
                    vi.V6 = "0";
                    vi.V7 = "0";
                }
            }
        }