• No se han encontrado resultados

Análise Transitória de Sistemas de Controle e Modelagem de Sistemas não Convencionais no Programa ATP

N/A
N/A
Protected

Academic year: 2018

Share "Análise Transitória de Sistemas de Controle e Modelagem de Sistemas não Convencionais no Programa ATP"

Copied!
9
0
0

Texto completo

(1)

Análise Transitória de Sistemas de Controle e Modelagem de

Sistemas não Convencionais no Programa ATP

(Informe técnico apresentado no XIII SNPTEE, Camboriú, Brasil, 1995)

Marco Polo Pereira FURNAS Centrais Elétricas S.A. - Brasil

Claudio S. Fonseca MARTE Engenharia Ltda - Brasil

Dourival S. Carvalho Consultor Independente - Brasil

Laurent Dubé Consultor Independente - USA

RESUMO

O programa digital ATP (Alternative Transients Program), geralmente utilizado para a simulação de transitórios eletromagnéticos em sistemas elétricos, apresenta duas alternativas básicas para a simulação de sistemas de controle e/ou modelagem de elementos não-convencionais, representadas pelas rotinas TACS (Transient Analysis of Control Systems) e MODELS (General Purpose Simulation Tool).

O objetivo principal do artigo consiste em mostrar a potencialidade da MODELS, traçando-se um paralelo com a utilização da TACS, onde a experiência nas empresas brasileiras é considerada satisfatória. Serão apresentados uma descrição sumária dos componentes da MODELS e um exemplo de modelagem de sistemas de controle.

Palavras-chave: ATP, MODELS, TACS, Transitórios, Sistemas de Controle

1. INTRODUÇÃO

A rotina TACS foi desenvolvida para a simulação das interações dinâmicas entre sistemas de controle e os componentes das redes elétricas, sendo os controles descritos na forma usual de diagrama de blocos com configurações arbitrárias dos componentes básicos, funções e/ou dispositivos. As equações dos sistemas de controle são resolvidas pela TACS no domínio do tempo por integração implícita, através da regra de integração trapezoidal.

A TACS tem sido amplamente utilizada na modelagem de sistemas de corrente contínua, de compensadores estáticos, relés de proteção, sistemas de excitação e regulação de máquinas síncronas, etc.... A possibilidade de inclusão de expressões lógicas e algébricas em FORTRAN permite a formulação de algoritmos diversos, seja para a modelagem de componentes ou mesmo para a realização de cálculos.

A rotina MODELS foi desenvolvida por Laurent Dubé, que também é o autor da TACS, e é considerada uma ferramenta de simulação de algoritmos genéricos. Tendo em vista o espaço de tempo entre um desenvolvimento e outro, bem como a própria experiência do autor com a TACS, não há nenhuma dúvida de que MODELS é uma ferramenta moderna que incorpora os últimos conceitos em simulação de sistemas de controle e algoritmos genéricos.

(2)

Apesar de toda a sua potencialidade, a experiência de utilização da MODELS ainda é muito pouca. Este fato tem sido observado em várias outras facilidades que o programa ATP apresenta, não sendo, portanto, específico da MODELS, mas os usuários do ATP tem que reverter este quadro antes que a defasagem atual se torne ainda maior.

2. OBJETIVOS BÁSICOS DA MODELS

Os objetivos básicos que nortearam a elaboração da rotina MODELS foram os seguintes:

• possibilitar ao usuário do ATP o desenvolvimento de modelos dos componentes da rede elétrica e de algoritmos de controle não disponíveis no programa ou com a rotina TACS;

• facilitar ao usuário a flexibilidade de utilização de uma linguagem de programação de alto nível sem haver necessidade de interação a nível de programação do código fonte;

• permitir que o usuário não só desenvolva o modelo de determinado componente, mas também determine as suas condições iniciais;

• possibilitar a utilização de uma interface com o ATP, ao nível de modelagem, permitindo ao usuário a conexão de rotinas externas ao programa.

Com a finalidade de prover grande potencialidade sem perder a flexibilidade na construção dos modelos, foi considerado necessário manter as vantagens oferecidas pelas linguagens usuais de programação, incluindo-se as seguintes facilidades:

• separar a descrição de um componente de seu uso efetivo na simulação;

• permitir o uso do mesmo componente em várias instâncias, possivelmente com novos parâmetros ou condições de simulação;

• possibilitar formalmente que um grande modelo seja desenvolvido por partes, reduzindo sua complexidade, explicitando a identificação das interfaces e facilitando o teste e uso de protótipos;

• possibilitar o uso de nomenclatura em separado para cada procedimento, de forma que o usuário possa nomear as variáveis de forma apropriada;

• suportar o uso de comentários internos à descrição, como um auxílio na produção de modelos e procedimentos auto-documentados.

3. IMPLEMENTAÇÃO DOS OBJETIVOS DE PROJETO

A linguagem de simulação MODELS foi construída de forma similar à linguagem Pascal, com a inclusão de funções e sintaxes específicas de aplicação para a representação da operação contínua de sistemas dinâmicos.

Além do procedimento usual por diagramas de blocos, tal como disponível na TACS, MODELS aceita a modelagem de componentes através de procedimentos, funções e algoritmos. O usuário não é limitado a um conjunto pré-definido de componentes, podendo criar bibliotecas de modelos e sub-modelos em função de cada uma das aplicações.

A utilização de formatos livres para a descrição e a possibilidade de usar nomes arbitrariamente longos facilita a auto-documentação, especialmente quando modelos complexos e trabalho em conjunto são necessários.

(3)

adicionais podem ser definidas pelo usuário, sob a forma de expressões parametrizadas, listas de pontos e funções externas programadas.

Alterações dinâmicas na operação de um modelo são realizadas através da utilização dos comandos específicos aplicados a grupos de instruções e ao uso de sub-modelos.

A possibilidade da utilização de auto-diagnóstico é importante quando modelos de grande porte tem que ser construídos, corrigidos e ajustados. A detecção de possíveis problemas de operação pode ser construída pelo usuário diretamente dentro do modelo.

A linguagem proporciona um mecanismo para a estruturação do modelo em componentes independentes, através da possibilidade de seu uso dentro de outros sub-modelos ou de um modelo mais complexo, com alteração ou não de parâmetros, "inputs" e "outputs".

A simulação do modelo é basicamente executada em duas fases: uma fase de inicialização e outra de atualização. Procedimentos detalhados podem ser definidos tanto para a fase de inicialização quanto para a fase de operação do modelo.

Programas externos podem ser utilizados através de uma "interface" padronizada, que realiza a conexão do com o ATP, sem necessidade de acesso ao código fonte do programa. A "interface" é definida pelo usuário em termos de tensões, correntes e variáveis de controle da simulação, sem necessidade de conhecimento do ATP a nível de programação. O único requisito consiste em "linkar" o programa externo ao ATP antes de se realizar a simulação.

4. PRINCIPAIS GRUPOS DE INSTRUÇÕES DA MODELS

A utilização da rotina MODELS no ATP necessita de pelo menos três grupos principais de códigos, iniciados pelas palavras-chave MODELS, MODEL e USE e terminados respectivamente por ENDMODELS, ENDMODEL e ENDUSE.

As instruções da MODELS são inseridas no ATP exatamente da mesma forma que as instruções da TACS, logo após as instruções miscelâneas e a instrução ENDMODELS serve para sinalizar o fim da sua utilização. A estrutura básica da MODELS pode ser visualizada na Figura 1.

BEGIN NEW DATA CASE Instruções Iniciais do ATP Instruções Opcionais

Instruções Miscelâneas Etc...

MODELS

Instruções Iniciais da MODELS MODEL

Instruções do Grupo MODEL ENDMODEL

USE

Instruções do Grupo USE ENDUSE

RECORD

Instruções do Grupo RECORD ENDMODELS

(4)

Os dois principais grupos de instruções na MODELS são MODEL e USE. O primeiro grupo tem por finalidade a definição da modelagem do componente e o segundo serve para especificar a sua utilização propriamente dita. Os dois grupos são divididos em seções, as quais são iniciadas por códigos que definem os parâmetros do componente e as condições de sua utilização. Enquanto a MODELS estiver ativada podem haver vários grupos de instruções do tipo MODEL-ENDMODEL-USE-ENDUSE.

A Figura 2 apresenta exemplos de instruções normalmente utilizadas no grupo MODEL.

FIGURA 2 - Instruções do Grupo MODEL

Os códigos DATA, CONST, INIT, etc... são os comandos, declarações e procedimentos, seguidos dasinformações apropriadas. Algumas das seções são terminadas com o palavra-chave END e outras não. Nem todas as seções tem que ser usadas num modelo específico nem a seqüência é importante. A exceção é a seção EXEX, a qual deve vir por último.

A palavra-chave MODELS, após as instruções iniciais do ATP, transfere a execução do programa para a rotina MODELS, da mesma forma que para qualquer outra rotina (TACS, por exemplo).

A seção entre MODELS e MODEL é utilizada para a especificação dos canais de "input" e de "output", normalmente para fontes externas da rede do ATP e/ou sinais entre modelos.

A representação esquemática da estrutura da MODELS pode ser visualizada na Figura 3, onde são indicadas as conexões entre ATP e MODELS, bem como as conexões entre os vários sub-modelos.

MODEL (nome do modelo) -- comentários

DATA

-- definição de variáveis -- entrada de valores CONST

-- definição de variáveis -- entrada de valores HISTORY

-- definição de variáveis -- entrada de valores DELAY CELLS

-- definição de variáveis -- entrada de valores VAR

-- definição de variáveis -- entrada de valores INIT

-- definição de variáveis -- entrada de valores ENDINIT

-- comentários EXEX

-- definição do algoritmo do componente ENDEXEX

(5)

FIGURA 3 - Representação Esquemática da Estrutura da MODELS

5. EXEMPLO DE UTILIZAÇÃO DA MODELS

O arquivo mostrado na Figura 4 corresponde à simulação de uma função de transferência do tipo Kgain / (1 + k t s), onde o sinal de "input" é um trem de pulsos "Vin". A saída do bloco é retardada de 10 ms em outro bloco para a obtenção do sinal final "Vdel".

O nome do modelo é "model_1", sendo este o nome pelo qual este modelo poderá ser referenciado através de outro grupo ou modelo.

As seções utilizadas no modelo em questão serão apresentadas a seguir.

A palavra-chave DATA assinala a primeira seção do modelo. Os dados definidos nesta seção permitem que valores sejam atribuídos aos elementos do modelo, os quais podem ser redefinidos na seção USE, sem que o modelo necessite de alterações. No exemplo, os dados de entrada são:

DATA

tperiod { dflt : 0.0 } ton { dflt : 0.0 }

onde tperiod e ton são os parâmetros do trem de pulsos "vin", entrada do primeiro bloco do modelo. Notar que estes valores serão redefinidos na seção USE.

A segunda seção é iniciada pela palavra-chave CONST, onde são definidas as constantes a serem utilizadas nas funções de transferência. Os valores atribuídos não podem ser alterados na seção USE. As seguintes constantes foram definidas:

CONST kt {val: 0.05} kgain {val: 2.0}

Codificação Básica

MODELS Input / Output Interface

MODEL A ENDMODEL USE A

ENDUSE

MODEL B ENDMODEL USE B

ENDUSE

MODEL C ENDMODEL USE C

ENDUSE

(6)

A próxima seção é iniciada por VAR, para especificar as variáveis a serem utilizadas no modelo, com exceção das declaradas nas seções INPUT, DATA e CONST. De forma diferente da TACS, MODELS não reconhece automaticamente as variáveis usadas no modelo. A omissão de alguma variável na seção VAR resulta em interrupção da execução. No exemplo as seguintes variáveis foram declaradas:

VAR vin, vout, vdel, tcount, dela vin - sinal de "input"

vout - sinal de "output"

vdel - sinal de "output" com retardo dela - retardo no sinal de "output" tcount - contador para o trem de pulsos

A próxima seção utilizada tem por finalidade introduzir a história passada das variáveis. A palavra-chave é HISTORY e os seguintes valores foram especificados para vin, vout e vdel:

HISTORY vin {dflt: 0} vout {dflt: 0} vdel {dflt: 0}

A seção iniciada pela palavra-chave DELAY CELLS tem a finalidade de reservar vetores para a gravação dos valores da história passada das variáveis. Isto pode ser realizado através de uma declaração para todas as variáveis na seção HISTORY ou para algumas variáveis, tal como indicado no exemplo em questão:

DELAY CELLS DFLT: 10 CELLS (vout) : 100

CELLS (VDEL) : 100

A palavra-chave INIT, terminada por ENDINIT, define a seção onde são estabelecidos os valores das variáveis que necessitam de inicialização para a execução do modelo. Todas as variáveis usadas na seção EXEC, com exceção de valores de parâmetros, de história passada, de constantes e de "inputs", tem que ser inicializadas. Em adição à inicialização de variáveis esta seção também permite ao usuário a definição das constantes das seções DATA e CONST. No exemplo em questão foram definidos os seguintes elementos:

INIT

tcount :=0.0 dela : =0.010 ENDINIT

EXEC e ENDEXEC são as palavras-chave para início e término da seção onde o algoritmo do modelo é implementado. No modelo, que é constituído de dois blocos em série para a função kgain / (1 + kts) e retardo igual 10 ms, a amplitude do sinal Vin é 100.0, com duração 30 ms, começando em 20 ms e com período igual a 50 ms. Os dois blocos de controle são descritos por:

laplace (vout/vin) := kgain|s0/(1|s0 + kt|s1) vdel := delay(vout, dela)

(7)

A utilização do modelo é realizada através da instrução USE-ENDUSE, com os valores atualizados indicados na seção DATA deste grupo, os quais substituem os valores "default" inicialmente atribuídos no grupo MODEL, e observar que o nome do modelo é alterado para "test". O grupo RECORD serve para especificar que variáveis são reservadas para "output" do modelo.

6.

FORMATOS E SINTAXE DA MODELS

A rotina MODELS utiliza formato livre em todos os níveis. Não é necessário manter alinhamento por colunas ou mesmo utilizar somente letras maiúsculas, mas se recomenda padronizar as instruções para facilitar a identificação e a descrição do modelo. Linhas em branco não são permitidas, mas é possível incluir comentários com "C" na coluna 1, seguido de branco na coluna 2, ou "--" em qualquer posição da linha. Uma outra opção é utilizar o grupo COMMENT - ENDCOMMENT.

Os valores podem ser especificados em decimais ou em notação científica, não sendo permitido começar um número por ".", por exemplo ".4" deve ser digitado "0.4" e os nomes, apesar de não haver limitação no tamanho (com exceção dos transferidos para o ATP), não podem começar por dígitos.

Vetores podem ser utilizados para a especificação de variáveis. Delimitadores podem ser especificados por espaços em branco, vírgulas, ponto e vírgula, etc.... O sinal de igualdade é utilizado para definir o valor de uma variável e o sinal " : " para atribuir valor. Os sinais "( ) " são usados em expressões matemáticas, os sinais "{ }" são usados em declarações e os sinais "[ ]" são usados em vetores.

7. EXPRESSÕES LÓGICAS E NUMÉRICAS

MODELS permite a utilização de uma grande quantidade de expressões matemáticas e lógicas, as quais podem ser combinadas para ser obter o efeito desejado. Os seguintes recursos estão disponíveis: expressões numéricas, expressões lógicas, funções numéricas (residentes ou definidas pelo usuário), funções associativas, expressões derivativas, expressões integrativas, somatórios, expressões para a obtenção de valores inerentes à simulação e funções de transferência de Laplace.

O algoritmo do modelo é controlado com o auxílio de funções do tipo , WHILE-ENDWHILE, FOR-ENDFOR, DO-REDO-ENDDO, SEQUENCE-ENDSEQUENCE, IF-ENDIF, COMBINE-ENDCOMBINE e TIMESTEP, sendo esta última a que permite a utilização de um "time step" na MODELS diferente do usado no ATP.

8. ELABORAÇÃO DE MODELOS COMPLEXOS

Apesar de seu desenvolvimento recente a MODELS tem sido utilizada para o desenvolvimento de modelos complexos, como no caso de simulação de sistemas de controle para estações conversoras de corrente contínua (1), modelagem de arco elétrico para estudos de reignições em disjuntores (2) e simulação do efeito Corona para propagação de surtos em linhas de transmissão (2), demonstrando a sua potencialidade.

O modelo de Corona foi baseado no desenvolvimento de um conjunto de rotinas em FORTRAN, o qual foi transformado em modelo através da "interface" da MODELS que permite a incorporação de programas externos ao ATP.

(8)

aquelas relacionadas com a descrição e a documentação do modelo e com a verificação do funcionamento do modelo completo através da elaboração de sub-modelos.

9. BIBLIOGRAFIA

[1] G.SARCINELLI, S.E.SANTO, J.CÁCERES, N.F. SILVA, C.CARDOZO, Modelagem de um Elo de Transmissão em CCAT no Programa ATP Utilizando MODELS, VI ERLAC, Foz do Iguaçu, Maio 1995.

[2] L.DUBÉ, I.BONFANTI, V.VANDERSTOCKT, M. T. CORREIA DE BARROS; Using the Simulation Language "MODELS" with the EMTP

[3] L.DUBÉ, I.BONFANTI, G.BORTONI; MODELS : A New Simulation Tool in the EMTP, European Transactions on Electrical Power Engineering, Vol. 2, 1992, No. 1, pp 45-50.

[4] L.DUBÉ, H.W.DOMMEL; Simulation of Control Systems in an Electromagnetic Transients Program with TACS, IEEE Power Engng. Soc. (PES) Power Ind. Comp. Appl. (PICA) 1977.

[5] LEUVEN EMTP CENTER; ATP Rule Book, 1990.

(9)

BEGIN NEW DATA CASE

C deltat tmax xopt copt epsiln tolmat tstart .0001 .150

C print points connec s-s minmax vary again plot 1 1 0 1 1 1 MODELS

C no enty in this group

MODEL model_1 -- the name of this model DATA

tperiod { dflt: 0.0}, ton { dflt : 0.0}, tstart { dflt: 0.0} CONST

kt {val: 0.05}, kgain { val: 2.0} VAR vin, vout, vdel, tcount, dela HISTORY

vin {dflt: 0}, vout { dflt: 0 }, vdel {dflt: 0} DELAY CELLS DFLT: 10

CELLS (vout): 100 CELLS (vdel): 100 INIT

tcount := 0 dela := 0.010 ENDINIT

EXEC

IF t> tstart THEN

-- generate a train of pulses starting at t= tstart tcount := tcount + timestep

-- reset counter at end of on/off period

IF tcount > tperiod THEN tcount := 0 ENDIF -- vin 100 or 0 depending time within period IF tcount < ton THEN

vin := 100.0 ELSE vin := 0.0 ENDIF

-- calculate output from k /(a+bs) block

laplace (vout/vin) := kgain|s0/(1|s0 + kt|s1) -- delay output

vdel := delay(vout, dela) ENDIF

ENDEXEC ENDMODEL

USE model_1 AS test DATA tperiod := 0.05 ton := 0.03 tstart := 0.02 ENDUSE

C RECORD

test.vin AS vin test.vout AS vout test.vdel AS vdel ENDMODELS

C Continuação do Arquivo com os dados do ATP C BRANCH CARDS EMTP data section

SRCE 10. BLANK CARD ENDING BRANCHES

C no switches

BLANK CARD ENDING SWITCHES 14SRCE 1.0 50. BLANK CARD ENDING SOURCES SRCE

BLANK CARD ENDING NODE VOLTAGE REQUEST BLANK CARD ENDING PLOT

BEGIN NEW DATA CASE BLANK

Figure

FIGURA 3 - Representação Esquemática da Estrutura da MODELS 5. EXEMPLO DE UTILIZAÇÃO DA MODELS
FIGURA 4 - Arquivo do ATP com Exemplo de Utilização da MODELS

Referencias

Documento similar

Debido al riesgo de producir malformaciones congénitas graves, en la Unión Europea se han establecido una serie de requisitos para su prescripción y dispensación con un Plan

Como medida de precaución, puesto que talidomida se encuentra en el semen, todos los pacientes varones deben usar preservativos durante el tratamiento, durante la interrupción

Abstract: This paper reviews the dialogue and controversies between the paratexts of a corpus of collections of short novels –and romances– publi- shed from 1624 to 1637:

Después de una descripción muy rápida de la optimización así como los problemas en los sistemas de fabricación, se presenta la integración de dos herramientas existentes

En nuestra opinión, las cuentas anuales de la Entidad Pública Empresarial Red.es correspondientes al ejercicio 2012 representan en todos los aspectos

La Intervención General de la Administración del Estado, a través de la Oficina Nacional de Auditoría, en uso de las competencias que le atribuye el artículo 168

La Intervención General de la Administración del Estado, a través de la Oficina Nacional de Auditoría, en uso de las competencias que le atribuye el artículo

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de