Esempio n. 1
0
        // Cria string com o arquivo DSS na memoria
        private bool CarregaArquivoDSSemMemoria()
        {
            _lstCommandsDSS = new List <string>
            {
                "clear" // limpa circuito de objeto recem criado
            };

            // nome arquivo dss completo
            string nomeArqDSScomp = _paramGerais.GetNomeArquivoAlimentadorDSS();

            //Verifica existencia do arquivo DSS
            if (File.Exists(nomeArqDSScomp))
            {
                // Obtem linhas do arquivo cabecalho
                string[] lines = System.IO.File.ReadAllLines(nomeArqDSScomp);

                // TODO refactory. Da pau caso tenha so uma linha.
                _lstCommandsDSS.Add(lines[1]);
            }
            else
            {
                _janela.ExibeMsgDisplayMW(_nomeAlim + ": Arquivos *.dss não encontrados");

                return(false);
            }

            // Redirect arquivo Curva de Carga, OBS: de acordo com o TIPO do dia
            if (File.Exists(_paramGerais.GetNomeEPathCurvasTxtCompleto(_tipoDia)))
            {
                _lstCommandsDSS.Add("Redirect " + _paramGerais.GetNomeEPathCurvasTxtCompleto(_tipoDia));
            }

            // condutores
            {
                _lstCommandsDSS.Add("Redirect " + _paramGerais.GetNomeArqCondutor());
            }

            string dir = _paramGerais.GetDiretorioAlim();

            // SegmentosMT
            string nArqSegmentosMT = _nomeAlim + "SegmentosMT.dss";

            if (File.Exists(dir + nArqSegmentosMT))
            {
                _lstCommandsDSS.Add("Redirect " + nArqSegmentosMT);
            }

            // ChavesMT
            string nArqChavesMT = _nomeAlim + "ChavesMT.dss";

            if (File.Exists(dir + nArqChavesMT))
            {
                _lstCommandsDSS.Add("Redirect " + nArqChavesMT);
            }

            // Reguladores.dss
            string nArqRTs = _nomeAlim + "Reguladores.dss";

            if (File.Exists(dir + nArqRTs))
            {
                _lstCommandsDSS.Add("Redirect " + nArqRTs);
            }

            // Transformadores
            string nArqTrafo = _nomeAlim + "Transformadores.dss";

            if (File.Exists(dir + nArqTrafo))
            {
                _lstCommandsDSS.Add("Redirect " + nArqTrafo);
            }

            // SegmentosBT
            string nArqSegmentosBT = _nomeAlim + "SegmentosBT.dss";

            if (File.Exists(dir + nArqSegmentosBT))
            {
                _lstCommandsDSS.Add("Redirect " + nArqSegmentosBT);
            }

            // Ramais
            string nArqRamais = _nomeAlim + "Ramais.dss";

            if (File.Exists(dir + nArqRamais))
            {
                _lstCommandsDSS.Add("Redirect " + nArqRamais);
            }

            // redirect arquivo CargaMT
            if (File.Exists(dir + _paramGerais.GetNomeCargaMT_mes()))
            {
                _lstCommandsDSS.Add("Redirect " + _paramGerais.GetNomeCargaMT_mes());
            }

            // se modelo carga Cemig
            if (_paramGerais._parAvan._modeloCargaCemig)
            {
                // redirect arquivo CargaBT
                if (File.Exists(dir + _paramGerais.GetNomeCargaBTCemig_mes()))
                {
                    // armazena indice do modelo de Carga
                    _lstOfIndexModeloDeCarga.Add(_lstCommandsDSS.Count);

                    // adiciona comando de definicao do MOdelo de Carga. Defaul 50% Z
                    _lstCommandsDSS.Add("new load.M2constZ pf = 0.92,Vminpu = 0.92,Vmaxpu = 1.5,model = 2,status = variable");

                    // armazena indice do modelo de Carga
                    _lstOfIndexModeloDeCarga.Add(_lstCommandsDSS.Count);

                    // adiciona comando de definicao do MOdelo de Carga. Defaul 50% Z
                    _lstCommandsDSS.Add("new load.M3constPsqQ pf = 0.92,Vminpu = 0.92,Vmaxpu = 1.5,model = 3,status = variable");

                    _lstCommandsDSS.Add("Redirect " + _paramGerais.GetNomeCargaBTCemig_mes());
                }
            }
            else //MODELO antigo
            {
                // redirect arquivo CargaBT
                if (File.Exists(dir + _paramGerais.GetNomeCargaBT_mes()))
                {
                    _lstCommandsDSS.Add("Redirect " + _paramGerais.GetNomeCargaBT_mes());
                }
            }

            // redirect arquivo GeradorMT
            if (File.Exists(dir + _paramGerais.GetNomeGeradorMT_mes()))
            {
                _lstCommandsDSS.Add("Redirect " + _paramGerais.GetNomeGeradorMT_mes());
            }

            // redirect arquivo Capacitor
            if (_paramGerais._parAvan._incluirCapMT && File.Exists(dir + _paramGerais.GetNomeCapacitorMT()))
            {
                _lstCommandsDSS.Add("Redirect " + _paramGerais.GetNomeCapacitorMT());
            }

            // nome arquivo dss completo
            string nomeArqBcomp = _paramGerais.GetNomeArquivoB();

            // adiciona comandos secundários
            if (File.Exists(dir + nomeArqBcomp))
            {
                // le linhas do arquivo "B" e adiciona na lista de comandos
                string[] tmp2 = System.IO.File.ReadAllLines(dir + nomeArqBcomp);

                //
                for (int i = 0; i < tmp2.Length; i++)
                {
                    string tmp = tmp2[i];

                    // skipa linhas vazias
                    if (tmp.Equals(""))
                    {
                        continue;
                    }

                    // skipa linhas de comentario
                    if (tmp.StartsWith("!"))
                    {
                        continue;
                    }

                    // adiciona na lista de comandos
                    _lstCommandsDSS.Add(tmp);
                }
            }
            else
            {
                _janela.ExibeMsgDisplayMW("Arquivo " + nomeArqBcomp + " não encontrado");
                return(false);
            }

            // BatchEdit
            if (!_paramGerais._parAvan._strBatchEdit.Equals(""))
            {
                // adiciona na lista de comandos
                _lstCommandsDSS.Add(_paramGerais._parAvan._strBatchEdit);
            }

            return(true);
        }