13

Click here to load reader

IEC61850_br

Embed Size (px)

DESCRIPTION

Driver IEC61859

Citation preview

  • IEC61850.DLL

    Driver IEC 61850

    Verso 1.00

    Manual do Usurio

  • Ficha Tcnica

    Arquivo IEC61850.DLL

    Fabricante Norma IEC 61850

    Protocolos Suportados

    IEC 61850

    Plataforma Win32

    Verso do Driver V1.00 Build 14

    Dependncias IOKit v1.15

    O Driver IEC61850 comunica com rels de proteo usando o protocolo IEC61850. Atualmente o driver j foi testado com os rels dos fabricantes ABB, Areva, SEL, Vamp, Siemens e GE. Este driver permite: - Comunicao com diversos equipamentos no mesmo driver; - Importao de Tags dos equipamentos ou atravs de arquivos de configurao SCL; - Suporte mensagens sem confirmao de Reports (Buffered ou Unbuffered); - Polling de variveis que no pertencerem a Reports; - Suporte informao de qualidade e timestamp (com preciso de 1ms).

    Parmetros de Configurao do Driver Os parmetros P de configurao do driver no so utilizados. Todas as configuraes so feitas no dialog de Extras..., que possui duas pginas de configurao especficas:

  • IEC 61850 Device Config: Permite a definio dos dispositivos (servers) que faremos a comunicao. Browse SCL Files: Os tags dos rels podem ser criados de forma online (isto , quando se pode fazer comunicao com os rels) ou de forma offline, atravs da importao de arquivos SCL. Por este boto se abre um dialog para escolha dos arquivos .ICD ou .SCD que sero importados. Aps a seleo dos arquivos, para cada descrio de rel encontrada criado uma identificao na lista de servidores, e tambm criado um arquivo com a descrio dos Logical Devices (LDs) e Logical Nodes (LNs) do rel, que podem ser importados para a aplicao pela janela de Tag Browsing. No caso de no se ter os arquivos SCL, podemos configurar diretamente cada rel, atravs dos botes Add (Adicionar), Update (Atualizar) e Delete (Apagar). Server: Insere o nome do dispositivo. Ser usado apenas para identificar o dispositivo para o driver, mapeando para um endereo IP. IP: Informe o endereo IP do equipamento. PSel - Presentation Selector: Valor de Seleo para o Dispositivo que ser usado pela camada de Apresentao OSI (ISO/IEC 8823). Deve ser consultado (se fixo) ou informado na configurao do equipamento, geralmente tem o valor 1. SSel Session Selector: Valor de Seleo para o Dispositivo que ser usado pela camada de Sesso OSI (ISO/IEC 8327). Deve ser consultado (se fixo) ou informado na configurao do equipamento, geralmente tem o valor 1. TSel Transport Selector: Valor de Seleo para o Dispostivo que ser usado pela camada de Transporte OSI (ISO/IEC 8073). Deve ser consultado (se fixo) ou informado na configurao do equipamento, geralmente tem o valor 1. Rem AP ID Remote Application Process Identificator: Identificador utilizado pela camada de Associao OSI (ISO/OSI 8650), em formato ASN.1 (Abstract Syntax Notation 1). Indica a formatao dos dados adotados pela funo AARQ (Association Request), geralmente tem o valor 1,1,999,1,1 (iso.1.999.1.1). Rem AE Qual Remote Application Entity Qualifier: Indentificador utilizado pela camada de Associao como formatador. Deve ser consultado (se fixo) ou informado na configurao do equipamento, geralmente tem o valor 12. Disable: Desabilita este dispositivo, sendo que ao iniciar o driver, no haver comunicao com o mesmo. General: Permite a definio dos demais comportamentos do driver. Prefer Buffered Report Control Blocks (Uses Unbuffered if not available): O protocolo IEC61850 prev a utilizao de objetos Report que tem como objetivo notificar as aplicaes cliente, acerca de modificaes nos dados. Os dados a serem reportados so definidos pelo usurio em um DataSet. Cada Report pode ter associado apenas um DataSet, sendo que possvel que o equipamento possua vrios Reports e DataSets. Os Reports podem ser de dois tipos: Buffered e Unbuffered. Buffered significa que todas as alteraes que ocorrerem nos elementos do DataSet durante uma desconexo sero armazenadas

  • em filas (ou buffers) de forma que a aplicao cliente receber a notificao de todas estas alteraes (desde que exista espao em memria suficiente no equipamento e que as configuraes estejam corretas, etc..). Este tipo de Report usado principalmente para os dados tipo SOE (Sequenciamento de Eventos). J os Reports Unbuffered nessa situao apenas armazenam o ltimo valor. Ambos reports podem ser configurados para enviar eventos espontaneamente, a intervalos cclicos ou aguardar que a aplicao cliente pergunte explicitamente (atravs de um polling ou interrogao geral GI) os dados daquele report.

    Entretanto, vale ressaltar os seguintes pontos: - Se duas aplicaes cliente (exemplo: duas aplicaes Elipse E3) estiverem conectadas em um equipamento, somente uma delas poder estar conectada a cada Report Buffered. Isto se deve ao fato de que ao enviar os dados, estes so apagados do buffer interno do Report. - Duas ou mais aplicaes cliente podem se conectar a um mesmo Report Unbuffered, pelo fato de no existir a fila de dados. Desta forma, esta opo Prefer Buffered Report Control Blocks instrui o driver de comunicao para que sempre quando um tag entrar em processo de comunicao ( o que pode ser chamado de entrar em advise ou em scan), sempre se procure - dentre todos os reports buffered do equipamento se o tag em questo pertence ao respectivo DataSet de cada report. Caso seja encontrado, ento o Report habilitado pelo driver (caso j no o esteja), passando a receber as notificaes de mudanas do mesmo. Caso negativo, o driver passa a repetir o mesmo processo buscando agora nos Reports Unbuffered pelo mesmo tag. Caso seja encontrado, o Report habilitado (caso j no o esteja). Caso novamente a reposta seja negativa, o tag poder comunicar em modo polling caso a opo Poll Tags not found in any Report estiver habilitada.

  • Caso a opo Prefer Buffered Report Control Blocks estiver desabilitada, o driver repetir o procedimento anterior, porm buscando diretamente os Reports Unbuffered, descartando a busca pelos Buffered. User Defined Report List: Caso o usurio no deseja que o driver faa a busca automtica pelos Reports, possvel definir uma lista de Reports que devem ser habilitados. Isto feito atravs da escrita de uma lista de valores em um tag configurado da seguinte forma abaixo, sendo que os Reports devem existir em algum LogicalDevice dentro do Server: TagName: XXXXX (no importa) Device: ServerName Item: UserDefinedReportList Exemplo: Dim arr(1) arr(0) = Array("TEMPLATERelay","LLN0$BR$brcbEV101") arr(1) = Array("TEMPLATERelay","LLN0$BR$brcbEV102") Set Cmd = Application.GetObject("Driver.VAMP257.UserReportList") If Not Cmd.WriteEx(arr) Then MsgBox "Failed write driver parameters" End If

    NOTA: No caso desta opo ser escolhida o driver s completar o processo de inicializao aps receber a escrita do tag acima. Poll Tags not Found in any Report: Quando um tag no encontrado em nenhum Report, esta opo permite que seja feita uma leitura cclica (polling) do mesmo de acordo com sua taxa de scan. Vale informar que este mtodo no o mais recomendado nem eficiente, estando sujeito maior lentido de atualizao dos dados e perda de eventos rpidos. Use Quality Change Trigger: Indica se a funo que programa e habilita um report deve usar a opo de envio de mensagens quando h mudana de qualidade nas variveis do servidor, pois esta opo no suportada por alguns equipamentos. As demais opes usadas por este driver so: DataChange, Integrity e GI (no podem ser alteradas). Full Log Details: Habilita a insero no log do driver (habilitado na seo Setup) de informaes detalhadas sobre a notificao de eventos para qualquer tag. Save Comtrade Files: Indica se o driver deve fazer a busca por arquivos COMTRADE (perturbaes), salvando-os no diretrio indicado em Comtrade File Path. Check Report TimeOfEntry on Redundant Applications: Atravs desta opo o usurio informa ao driver que dever comparar o horrio de cada mensagem de report recebida (no parmetro TimeOfEntry) com o horrio do ltimo evento recebido pela estao redundante, quando na ocorrncia do switch-over (troca de servidores hot e standby). Esta opo portanto faz com que a nova estao hot passe a descartar eventos repetidos, devido ao uso de Buffered Reports. Desta forma ao marcar esta opo, necessrio que a aplicao mantenha sincronizados os horrios de TimeofEntry de cada Buffered report que estiver sendo usado, e alm disso realizar escritas na inicializao do driver, informando o horrio do ltimo evento recebido. Maiores detalhes podem ser obtidos no Anexo 1: Notas sobre redundncia.

  • Local P Selector: Valor de Seleo para o Driver, ser usado pela camada de Apresentao OSI (ISO/IEC 8823). Local S Selector: Valor de Seleo para o Driver, ser usado pela camada de Sesso OSI (ISO/IEC 8327). Local T Selector: Valor de Seleo para o Driver, ser usado pela camada de Transporte OSI (ISO/IEC 8073).

    Local App ID Local Application Process Identificator: Identificador utilizado pela camada de Associao OSI (ISO/OSI 8650), em formato ASN.1 (Abstract Syntax Notation 1). Indica a formatao dos dados adotados pela funo AARQ (Association Request), geralmente tem o valor 1,1,999,1,1 (iso.1.999.1.1). Local AE Qual Local Application Entity Qualifier: Indentificador utilizado pela camada de Associao como formatador. Geralmente tem o valor 12. Msg Timeout(ms): Tempo de espera para resposta de um comando ou mensagem completa, que pode ser formada por vrias mensagens intermedirias. O Timeout de cada byte ou mensagem intermediria definido na pgina Setup do IOKIT Elipse. RFC 1006 Source TSAP: Este driver utiliza a especificao RFC 1006 como forma de transporte dos pacotes ISO sobre o TCP. Para isto necessrio informar o Transport Service Access Point utilizado pelo Driver, para o estabelecimento da conexo por este protocolo. O valor default 1. Polled Integrity Rpt (s): Caso o valor informado seja diferente de zero (0), ento o driver solicitar uma interrogao geral (GI) para todos os reports que estiverem habilitados, de acordo com o tempo informado. Esta interrogao tem o propsito de atualizar a base de tags, a fim de verificar se nenhum evento foi perdido. Trata-se de um procedimento de segurana cujo conceito foi criado para uso em outros protocolos eltricos, que pode ser utilizado neste driver. Auto Integrity Rpt (s): Caso o valor informado seja diferente de zero (0), o driver ao fazer a habilitao de um report informar este valor como o intervalo para que uma mensagem unsolicited de interrogao geral (GI) seja gerada pelo equipamento. Services: Definio dos Servios MMS que sero solicitados pelo driver a cada equipamento na inicializao. Alguns dos servios so obrigatrios, de forma que esta opo s deve ser alterada em casos muito especficos onde o equipamento no possui um tratamento correto para certos servios solicitados. Param CBBs: Definio dos Parmetros Conformance Building Blocks, que so os tipos de estruturas requeridas pelo driver na inicializao. Alguns tipos so obrigatrios, de forma que esta opo s deve ser alterada em casos muito especficos onde o equipamento no possui um tratamento correto para certos tipos solicitados. Application Category: Para envio de comandos, o driver usa a informao selecionada neste campo para o preenchimento da propriedade OrCat (Origin Category) que especifica o tipo de aplicao que est enviando o comando para efeito de segurana/resoluo de conflitos de comandos. As opes so: Bay, Station, Remote, Maintenance. Comtrade File Path : Diretrio padro onde devem ser guardados os arquivos de oscilografia.

  • LD File Path: Diretrio padro onde o driver armazenar arquivos descritores de cada Logical Device encontrado, com o objetivo de acelerar o processo de inicializao do driver. Na prxima inicializao, caso seja encontrado um arquivo no diretrio especificado, cujo nome dado pelo formato SERVER_LDNAME.LD (onde SERVER o nome do Equipamento e LDNAME o nome do Logical Device), ento este LD ser descrito a partir do arquivo. Caso o rel tenha sido reconfigurado, ser preciso deletar o arquivo correspondente e reiniciar a comunicao com aquele equipamento* OU fazer um novo browsing online (usando o cone de Tag Browsing). Todas as propriedades acima podem ser modificadas em execuo atravs do IOKIT, usando os seguintes textos abaixo. Consulte o manual do IOKIT para maiores informaes sobre como escrever estes parmetros. IEC61850_USEREPORTS "IEC61850.UseReports" IEC61850_USERREPORTLIST "IEC61850.UserReportList" IEC61850_POLLTAGS "IEC61850.PollTags" IEC61850_LOCAL_PSEL "IEC61850.LocalPSel" IEC61850_LOCAL_SSEL "IEC61850.LocalSSel" IEC61850_LOCAL_TSEL "IEC61850.LocalTSel" IEC61850_LOCAL_AE_QUALIFIER "IEC61850.LocalAEQualifier" IEC61850_LOCAL_APP_ID "IEC61850.LocalAppID" IEC61850_SOURCE_TSAP "IEC61850.SourceTSAP" IEC61850_APPCATEGORY "IEC61850.AppCategory" IEC61850_RPTGI "IEC61850.RptGI" IEC61850_INTGPD "IEC61850.IntgPd" IEC61850_TIMEOUT "IEC61850.Timeout" IEC61850_CBB "IEC61850.CBB" IEC61850_SERVICES "IEC61850.Services" IEC61850_LDPATH "IEC61850.LDPath" IEC61850_COMTRADEPATH "IEC61850.ComtradePath"

    Tag Browsing Ao clicar no cone Tag Browsing no Elipse E3, ser exibida a janela de Tag Browsing que permite listar e arrastar para o driver os tags que forem identficados no equipamento.

  • So exibidas 3 pastas: IOKIT: Contm tags padro do IOKIT Elipse, permitindo ler/escrever parmetros de conexo em geral, status, etc... ONLINE: Exibe os Servidores declarados na pgina Device Config. Ao clicar sobre cada um deles, o driver tentar a comunicao com o equipamento, criando logo abaixo uma nova pasta para cada Logical Device (LD) encontrado no equipamento. Ao clicar sobre o LD, sero buscados todos os tags pertencentes ao mesmo. OFFLINE: Exibe da mesma forma os servidores e LD, porm ao clicar sobre cada LD so exibidos os tags a partir dos arquivos .LD que foram criados no diretrio de importao, seja a partir de uma importao de arquivos SCL ou pela execuo do aplicativo. Para utilizar os tags na aplicao basta arrastar o(s) tag(s) ou pasta(s) da diviso direita (Tags disponibilizados pelo driver) para a esquerda (Tags do Projeto Corrente).

    Informaes sobre o Protocolo IEC 61850 O Protocolo IEC 61850 foi desenvolvido primariamente para a comunicao com rels de proteo digitais. Cada rel/equipamento possui internamente a seguinte estrutura: Logical Devices (LD): So os dispositivos lgicos que esto mapeados, correspondem um dispositivo real (ex: um Bay) que est mapeado dentro do rel. Um Logical Device est sempre mapeado em um nico IED (Intelligent Electronic Device) LogicalDevices no esto distribudos. Logical Nodes (LN) : So as funes do dispositivo real que esto mapeados em um Logical Device. Por exemplo, a representao virtual de uma chave (Circuit Breaker) em um Bay um Logical

  • Node, que possui o nome de classe padro definido como XCBR. Geralmente um LogicalDevice formado por vrios LogicalNodes. Data e Data Attributes: As informaes dentro de um LogicalNode esto organizadas em conjuntos de dados especficos (Data) e as vrias propriedades dentro de cada conjunto so os DataAttributes. O conjunto de todos os DataAttributes de um Data so chamados de CDC (Common Data Class). Functional Constraint (FC): So os servios especficos que podem ser utilizados em cada DataAttribute. Os FCs podem ainda fazer parte do caminho das variveis, a depender da configurao do equipamento. O formato utilizado por este driver, para todos os tags, : Parmetro Device: Server:LD Parmetro Item: LN$Data$DataAttribute ou LN$FC$Data$DataAttribute Exemplo: Device: ArevaP139:UPC12AL1Control Item: XCBR1$ST$Mod$stVal

    Referncia de Tags Os parmetros N dos tags no so utilizados, apenas os parmetros Device e Item. Parmetro Device: Server:LD Parmetro Item: LN$Data$DataAttribute ou LN$FC$Data$DataAttribute Device: Nome_do_Dispositivo:LogicalDevice (configurado na pgina Device Config) Item: Veja abaixo (Tabela 1). Tabela 1

    Item Oper Significado

    LN$Data$DataAttribute ou LN$FC$Data$DataAttribute

    R/W Tag qualquer do sistema, que ser lido de acordo com a configurao dos parmetros de Reports ou Polling. Se for um parmetro de escrita, esta ser aceita pelo driver.

    LN$RP$urcbXXXX ou LN$RP$bcrbXXXX

    -- O driver no exibe a rvore de correspondente aos reports, para efeito de simplicidade e economia de tags. Todo o tratamento feito internamente. A partir da verso 1.00 Build 14, o driver passa a exibir apenas o tag TimeofEntry (R/W) nos BufferedReports somente.

    ServerStatus R Retorna o status interno do driver. Se o parmetro Device for igual apenas ao ServerName, ento o status ser relativo ao equipamento como um todo: 0 = Inicializando

  • 1 = Lendo Arquivos .LD 2 = Obtendo o Diretrio (GetServerDirectory) 3 = Processando um nico LD (Tag Browsing) 4 = Obtendo diretrio de arquivos 5 = Processando LDs 6 = Concluindo 7 = Finalizado OK 8 = Concluindo com Erro 9 = Finalizado com Erro 10 = Reconectando 11 = Concludo (em espera) Se o parmetro Device for igual a ServerName:LD ento o status ser relativo ao Logical Device: 0 = Em espera 1 = Lendo Arquivo .LD 2 = Obtendo o diretrio do LD 3 = Obtendo o diretrio do LN 4 = Obtendo a definio de dados 5 = Criando cache de tags 6 = Descobrindo Reports 7 = Obtendo DataSets 8 = Obtendo contedo de DataSets 9 = Programando Reports 10 = Operao (Runtime) 11 = Concluindo 12 = Concluindo com Erro

    UserDefinedReportList W Permite a definio da lista de reports do usurio. BRCBActualList R Retorna um bloco de 2 elementos com a lista de Buffered

    Reports atualmente em uso: Elemento1: LDName Elemento2: ReportName

    URCBActualList R Retorna um bloco de 2 elementos com a lista de Unbuffered Reports atualmente em uso: Elemento1: LDName Elemento2: ReportName

    LN$CO$xxxx ou LN$SP$xxxxx

    W Bloco de Comando (Controle). De forma a simplificar o uso dos comandos, disponibilizado no lugar da rvore do objeto de Controle um Bloco com 5 elementos: Operation: Deve receber a operao a ser realizada em formato texto: OPERATE, SELECT, SELECTWITHVALUE, CANCEL Value: Valor a ser enviado (depende do tipo de objeto) Time: Instante de Tempo (no padro VB, em dias desde 1900) para uso em comando de SELECT por tempo. Test: Parametro que indica se o comando uma operao de teste (valor=1) ou no (valor=0)

  • Check: Tipo de verificao que feita antes da efetivao do comando. Deve ser um numero entre 0 e 3, como resultado de um OR entre dois bits: Bit 0: INTERLOCKING Bit 1: SYNCHROCHECK O resultado imediato do comando (i.e. a aceitao ou no do comando) pode ser obtida de duas formas: - Via script, atravs do mtodo WriteEx do Bloco, no parmetro wWriteStatus. Vide item abaixo para a descrio do valor deste parmetro. - Via bloco de status (item abaixo).

    LN$CO$xxxx ou LN$SP$xxxxx

    R Bloco Status de Comando. Para cada bloco de commando (item anterior) criado um segundo bloco, com dois elementos que exibe o status das operaes. Os status podem ser alterados como resultado da negao do envio de um comando (ex: comando no suportado), como resultado da aceitao (ex: comando aceito/no aceito) ou como resultado da efetivao da ao (chave aberta/fechada, etc..). O primeiro elemento do bloco Status contm um cdigo numrico. O segundo elemento StatusText, contem a explicao textual sobre o cdigo numrico. So usados os seguintes cdigos: 0 = Terminated OK 1 = Select Accepted 2 = Select With Value Accepted 3 = Cancel Accepted 4 = Operate Accepted 50 = Terminate Fail 100 = AppError:Unknown 101 = AppError:NotSupported 102 = AppError:BlockedBySwitchingHierarchy 103 = AppError:SelectFailed 104 = AppError:InvalidPosition 105 = AppError:PositionReached 106 = AppError:ParameterChangeInExecution 107 = AppError:StepLimit 108 = AppError:BlockedByMode 109 = AppError:BlockedByProcess 110 = AppError:BlockedByInterlocking 111 = AppError:BlockedBySynchrocheck 112 = AppError:CommandAlreadyInExecution 113 = AppError:BlockedByHealth 114 = AppError:1_Of_N_Control 115 = AppError:AbortionByCancel

  • 116 = AppError:TimeLimitOver 117 = AppError:AbortionByTrip 118 = AppError:ObjectNotSelected 200 = WriteError:Object_invalidated 201 = WriteError:Hardware_fault 202 = WriteError:Temporarily_unavailable 203 = WriteError:Object_access_denied 204 = WriteError:Object_undefined 205 = WriteError:Invalid_address 206 = WriteError:Type_unsupported 207 = WriteError:Type_inconsistent 208 = WriteError:Object_attribute_inconsistent 209 = WriteError:Object_access_unsupported 210 = WriteError:Object_non_existent 211 = WriteError:Object_value_invalid 212 = WriteError:Error_unknown 213 = WriteError:Timeout 214 = WriteError:OutOfMemory 215 = WriteError:DecodeError 216 = WriteError:WrongParameters 217 = WriteError:CmdnotSupported

    Notas sobre Redundncia Ao marcar a opo Check Report TimeOfEntry on Redundant Applications necessrio que a aplicao siga os seguintes passos para o correto funcionamento:

    1- Criar na aplicao (ou importar via TagBrowsing) os tags TimeOfEntry que esto disponveis em cada Buffered Report e que estiverem sendo usados pelo Driver.

    2- Caso voce no saiba se um Buffered Report est sendo usado ou no, no h problemas em criar esses tags de todos os Buffered Reports. Porm atravs de uma leitura de um bloco especial, possvel obter essa lista:

    BlockName: GetBRCBList Numero de Elementos: 2 Device: ServerName Item: BRCBActualList A leitura deste bloco, a qualquer momento, trar uma lista com todos os Buffered Reports que estiverem em uso pelo driver, sendo que o primeiro elemento conter o nome do Logical Device (LD) e o segundo elemento o nome do Report. Tambm possvel obter a lista dos Unbuffered Reports atualmente em uso, apenas colocando no campo Item do Bloco o texto URCBActualList.

    3- Criar na aplicao um tag interno para cada TimeOfEntry que ser necessrio sincronizar. O Tag Interno deve ter a opo Retentive marcada como TRUE. (OBS: A partir da verso 3.2

  • tambm possvel fazer o mesmo atravs de propriedades de XObjects, que podem ser habilitadas com a opo de retentividade diretamente).

    4- Cada Tag Interno (ou propriedade de XObject) deve receber as mudanas de valor de seu TimeOfEntry correspondente, via script ou via associaes (links).

    5- Na inicializao da aplicao, deve haver um script que escreva o valor de cada TimeOfEntry de acordo com o valor de seu tag interno respectivo, que dever estar atualizado de acordo com o que foi enviado pela estao redundante. Ao final do processo, um tag especial deve ser escrito indicando que o processo de escrita das propriedades TimeOfEntry chegou ao final, e que o driver pode prosseguir com a inicializao. Este tag deve ser configurado da seguinte forma: TagName: FinishedWriteTimeOfEntry Device: ServerName Item: FinishedWriteTimeOfEntry Basta uma operao qualquer de Write para que seja aceito. Ateno: Se a opo de verificao de TimeOfEntry estiver setada, o driver s prosseguir com a inicializao aps a escrita deste tag.

    Verses do Driver Verso Data Autor Comentrios

    V 1.00 Build 14

    M. Salvador M. Bihre

    V1.00 10/Set/2008 M. Salvador M. Bihre

    - verso original do driver.