Ejemplo n.º 1
0
        /// <summary>
        /// 加载方案XML文档
        /// </summary>
        private void Load()
        {
            LstCheckPoint = new List <StPlan_WcPoint>();

            clsXmlControl _XmlNode = new clsXmlControl(_FAPath);

            if (_XmlNode.Count() == 0)
            {
                return;
            }
            string[] _TmpArr = _XmlNode.AttributeValue("", "QSCZ", "QS", "CzWcLimit");
            Qscz = _TmpArr[0];
            Czqs = int.Parse(_TmpArr[1]);
            if (_TmpArr[2] != "")
            {
                CzWcLimit = _TmpArr[2];
            }

            for (int _i = 1; _i < 9; _i++)     //功率方向1,2,3,4,5,6,7,8
            {
                XmlNode _Xml = _XmlNode.toXmlNode();
                _Xml = clsXmlControl.FindSencetion(_Xml, clsXmlControl.XPath(string.Format("R,GLFX,{0}", _i.ToString())));
                if (_Xml == null)
                {
                    continue;
                }
                GlfxYj[_i - 1] = true;
                for (int _j = 0; _j < _Xml.ChildNodes.Count; _j++)
                {
                    StPlan_WcPoint _Point = new StPlan_WcPoint();
                    _Point.PrjID        = _Xml.ChildNodes[_j].Attributes["PrjID"].Value;
                    _Point.PrjName      = _Xml.ChildNodes[_j].Attributes["PrjName"].Value;
                    _Point.PowerYinSu   = _Xml.ChildNodes[_j].Attributes["GLYS"].Value;
                    _Point.PowerDianLiu = _Xml.ChildNodes[_j].Attributes["xIb"].Value;
                    if (_Xml.ChildNodes[_j].Attributes.Count > 5)
                    {
                        _Point.Dif_Err_Flag = int.Parse(_Xml.ChildNodes[_j].Attributes["FHC"].Value);
                    }
                    LstCheckPoint.Add(_Point);
                }
            }
            return;
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 获取误差上下限
        /// </summary>
        /// <param name="GuichengName">规程名称</param>
        /// <param name="YouGong">是否有功1-有功,0-无功</param>
        /// <param name="Dj">等级</param>
        /// <param name="Hgq">互感器0-不经互感器,1-经互感器</param>
        /// <param name="Yj">元件</param>
        /// <param name="Glys">功率因素</param>
        /// <param name="xIb">电流倍数</param>
        /// <returns>数组,下标0为上线,下标1为下线</returns>
        public string[] getWcx(string GuichengName,
                               int YouGong,
                               string Dj,
                               int Hgq,
                               CLDC_Comm.Enum.Cus_PowerYuanJian Yj,
                               string Glys,
                               string xIb)
        {
            string[] _Wcx;
            string   _YouGong = YouGong.ToString();

            if (GuichengName.IndexOf("307") == -1)
            {
                _YouGong = "";
            }
            string _Xpath = string.Format("R,Name,{0},YouGong,{1}|C,Dj,{2},Hgq,{3},Yj,{4},Glys,{5},xIb,{6}"
                                          , GuichengName
                                          , _YouGong
                                          , Dj
                                          , Hgq.ToString()
                                          , ((int)Yj).ToString()
                                          , Glys
                                          , xIb);

            _Xpath = clsXmlControl.XPath(_Xpath);

            _Wcx = _XmlNode.AttributeValue(_Xpath, "Max", "Min");
            if (_Wcx[0] == null)      //如果在XML文档中找不到对应误差限,就从规程中获取误差限
            {
                string _TmpWcx = Wcx(xIb, GuichengName, Dj, Yj, Glys, Hgq == 1?true:false, YouGong == 1?true:false);
                _Wcx[0] = "+" + _TmpWcx;
                _Wcx[1] = "-" + _TmpWcx;
                this.SetWcx(GuichengName, YouGong, Dj, Hgq, Yj, Glys, xIb, _Wcx[0], _Wcx[1]);
            }
            return(_Wcx);
        }