Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Informação geral

Communication Driver Name: ICCPDual
Current Version: 9.1
Implementation DLL: T.ProtocolDriver.ICCPDual.dll
Protocol: ICCP tase2 Standard protocol
Interface: Custom TCPIP
Description: O módulo de comunicação ICCPDual implementa as duas formas de uso do protocolo ICCP: Estação cliente para a comunicação com estações servidoras compatíveis com este protocolo, e estação Servidora para atender às solicitações de estações Clientes. Também permite a utilização como função dual, incluindo em um mesmo canal de comunicação as duas funções.
Protocol Options: Funções definidas, log, e modo do endpoint TcpIp.
Max number of nodes: Até dois para um mesmo canal, sendo um de cada modo de comunicação
PC Hardware requirements: Standard PC Ethernet interface board;
PC Software requirements: ActionNET system.

Apresentação

Também conhecido como ICCP, o IEC 60870 parte 6 pertence ao conjunto de padrões IEC 60870 que são usados para controle remoto, monitoramento e telemetria nas redes de telecomunicações de sistemas elétricos (potência) e nas aplicações de controle de centros de energia. O padrão IEC 60870-6 é baseado na teoria do perfil funcional. Uma descrição dos perfis funcionais, sua classificação e definição é retirada da IEC 60870-6-1.
Um perfil para o Telecontrol Application Service Element 2 (TASE.2) é conhecido como ICCP - Inter-Control Center Communications Protocol. TASE.2 na camada de aplicação é definido no padrão IEC 60870-6-503. Este padrão define o protocolo da camada de aplicação para que cumpra os requisitos de cooperação funcional. Ele também define os requisitos para as camadas de apresentação e relação que fornecem o TASE.2.
O protocolo TASE.2 é baseado em MMS (Manufacturing Message Specification). As funções básicas do ICCP são especificadas como um conjunto dos chamados "Blocos de Conformidade".
Nesta implementação o protocolo ICCP suporta as funções dos blocos 1 2, 4 e 5

  1. Dados periódicos do sistema: pontos de status, pontos analógicos, sinalizadores de qualidade, registro de data e hora, contador de mudança de valor. Objetos de associação para controlar sessões ICCP.

  2. Monitoramento de condição de conjunto de dados estendido: Fornece relatório por capacidade de exceção para os tipos de dados que o bloco 1 pode transferir periodicamente.

  3. Transferencias de Grandes Blocos de dados; Não implementado;

  4. Information Messages

  5. Device Control.- Envio para a estação cliente de comandos de chaves e de set points para pontos analógicos

Funcionamento geral

No protocolo ICCP, as funções de cliente e servidor são bem definidas. Nesta implementação o mesmo módulo pode ser usado para definir um nodo com o papel de cliente ou de servidor. Pode-se definir para o canal somente a função cliente, ou somente a função servidora, ou mesmo pode-se definir dois nodos, no mesmo canal para incluir na mesma conexão tcp ip as duas atividades, de forma completamente independente uma da outra.

Modo Servidor

Neste modo de utilização, implementando o lado Servidor, o módulo inicia e aguarda a conexão de um cliente para a comunicação.
Durante sua atividade, obtém os dados em tempo real atuais no Action.NET e os envia sob solicitação ou através de um mecanismo de emissão de reportes não solicitados.
Entre as funções e características incluídas estão:

  • Definição dos dados, denominados de pontos de indicação

  • Modelo de dispositivo (comandos)

  • Conjuntos de dados (Data Sets, obter / definir / criar / excluir / obter diretório)

  • Transferência de conjunto de dados, Data Sets Transfers (intervalo, RBE, ...)

  • Mensagens de Informação

  • Tabelas Bilaterais

  • Conexões seguras (TLS) ou não seguras

  • Blocos de conformidade 1, 2, 4 e 5

Modo Cliente

No modo Cliente o módulo tenta estabelecer uma conexão Tcp Ip à uma estação servidora para iniciar comunicação de dados com ela.
Sua função principal é a de prover as funções para acessar os dados de um servidor específico.
Implementa facilidades de solicitar dados da estação servidora através de operações de leitura e amostragens periódicas e ou estabelecer e habilitar no servidor um modo de transferência de dados não solicitados.
Entre as funções e características principais encontradas no cliente estão:

  • Navegar no modelo de dados do servidor (browsing);

  • Criar no cliente o Modelo de Dados do servidor

  • Ler e escrever pontos de indicação

  • Enviar comandos, pontos de ajuste (set points) e tags (cartões) para dispositivos (Control Points)

  • Solicitar a criação de data sets dinâmicos no servidor

  • Ler conjuntos de dados (Data Sets)

  • Configurar conjuntos de transferência (DS Transfer Sets)

  • Ativar / desativar conjuntos de transferência de mensagens instantâneas (IM)

  • Ativar / desativar conjuntos de transferência DS (Data Sets)

  • Receber relatórios de conjunto de transferência

Modelo de Dados do ICCP Servidor

Modelo de dados

O modelo de dados do servidor DataModel, é constituído de domínios Domains, pontos de indicação Indication Points, dispositivos (Control Points), conjuntos de dados DataSets e conjuntos de transferência DS Transfers Sets.
Em TASE.2, as variáveis ​​são objetos com nomes (Named Objects) que fazem parte do espaço de endereçamento do servidor. As variáveis ​​podem ser variáveis ​​do sistema (como "Bilateral_Table_ID", "Supported_Features", ...), pontos de indicação, equipamentos de proteção e dispositivos.
As variáveis ​​podem ter dois "escopos". O escopo VCC ou um escopo específico de domínio (ICC) definida pelo usuário. Variáveis ​​de escopo VCC não fazem parte de nenhum domínio TASE.2 e são visíveis a todos os clientes.

Domínios

As variáveis ​​do escopo VCC são identificadas apenas pelo nome da variável. Variáveis ​​de escopo de domínio são identificadas pelo nome de domínio e o nome da variável. Domain e Variable Name.
Um domínio TASE.2 é representado por um Domain Name. O objeto de domínio pode conter todos os tipos de pontos de dados, conjuntos de dados e conjuntos de transferência.
Um objeto de domínio é a primeira coisa a ser criada dentro de um modelo de dados. Na tabela de endereçamento Points, para cada tag Action.NET no endereço ICCP será incluído o par
<Domínio>/<Nome da variável>, desta forma, separados por uma barra.
Para cada Modelo de Dados (para cada canal de comunicação Action.NET ICCP) somente poderá ser criado um domínio.
Para o caso de variáveis incluídas no escopo VCC o endereçamento não usa domínio. É como se fosse um domínio vazio. O endereço terá a forma: <Nome da variável>.
A seguir são listados os objetos de dados existentes para o ambiente ICCP TASE.2

Pontos de indicação

TASE.2 suporta diferentes tipos de pontos de indicação (Indication Points).
A versão mais simples são valores booleanos, inteiros ou flutuantes (reais) simples. Opcionalmente, um ponto de indicação pode ter, além de seu valor ou estado:

  • Campo de qualidade que consiste em Flags indicativos de qualidade

  • Campo de data/ hora (Timestamp normal ou estendido) que pode representar timestamps de data / hora em segundos ou milissegundos

  • Campo COV (contador de mudanças de valor, ou Change Of Value

Os seguintes tipos básicos são suportados:

  • STATE - Estado (assumindo os valores 0,1, 2 ou 3)

  • STATE_SUPPLEMENT - Suplemento de estado.

  • DISCRET - valores inteiros de até 32bits.

  • REAL – Valores em ponto flutuante em 32 bits.


Modelos de dispositivos (Control Points)

Existem três tipos diferentes de pontos de controle:

  • Comandos – Para o controle de dispositivos digitais, representados por tags de Action.Net de pontos de escrita como chaves e disjuntores.

  • Envio de Tags Device Service - cartões de impedimento/bloqueio

  • Pontos de ajuste discretos – set points para tags inteiros (32bits)

  • Pontos de ajuste reais – set points para tags double (floating point) de 32 bits.

Além disso, existem duas classes de controle:

  • Select Before Operate (SBO) - Selecione antes de operar. Neste modo, primeiro o cliente deve enviar uma mensagem de "seleção" para "armar" o ponto de controle. Quando selecionado, o cliente deve enviar uma mensagem "operar" antes do tempo limite selecionado.

  • Direct - Direto. Neste modo, o controle consiste no envio de um simples comando "operar".

DataSets e DataSets Transfer Sets

Conjuntos de dados são listas de variáveis ​​ (variáveis ​​de sistema e pontos de dados) que podem ser lidas ou gravadas com uma única solicitação de leitura ou gravação pelo cliente. Eles também são a base para as ações de transferência não solicitada de Data sets.

Os data sets podem ser estaticamente definidos no Servidor ou podem ter sua criação feita de modo dinâmico no servidor, por solicitação do Cliente.

Um conjunto de dados pode conter as seguintes variáveis ​​de sistema (de escopo de domínio):

  • Transfer_Set_Name - O nome do conjunto de transferência associado (consiste no nome de domínio e no nome do conjunto de transferência)

  • DSConditions_Detected - Condições que causaram o relatório de conjunto de transferência

  • Event_Code_Detected - O código do evento do relatório

  • Transfer_Set_Time_Stamp - O carimbo de data / hora definido pelo momento transferência (em segundos)

Na implementação do módulo servidor, sempre que for declarado um DataSet serão incluídas estas variáveis de sistema no conjunto de dados.

Mensagens de informação (Information Messages)

O mecanismo de mensagens de informação é constituído por um conjunto de transferência de mensagem de informação (IM) e nos buffers de mensagem de informação.
O conjunto de transferência de mensagens de informação é um mecanismo específico de associação entre cliente e servidor que (quando habilitado pelo cliente) envia mensagens de informação do servidor para o cliente. A transmissão da mensagem é acionada pelo servidor. As mensagens de informação podem ser específicas do VCC ou do domínio ICC, definido no servidor e cliente.
As mensagens de informação podem conter dados textuais ou dados binários arbitrários. O comprimento das mensagens de informação é limitado pelos buffers de informação disponíveis e pelo tamanho máximo da PDU MMS.
As mensagens informativas só serão enviadas a um cliente quando a Tabela Bilateral ou Bilateral Table o permitir. Com a tabela bilateral, as mensagens de informação são restringidas por seus parâmetros de referência de informação, referência local e escopo (ICC ou VCC).
Deverá ser definida uma tag Action.Net do tipo texto para suportar a troca de mensagens de informação. Veja mais detalhes na secção sobre Endereçamento de pontos.

Tabelas Bilaterais (Bilateral Table)

A tabela bilateral (BLT) é criada pelo servidor, definindo um domínio e consiste nos seguintes elementos:

  • O ID da Tabela bilateral - Um nome único para identificar a BLT.

  • A referência de aplicativo do cliente (ap-title e ae-qualifier) – utilizada para identificação entre servidor e cliente para a criação de uma conexão. Veja na definição das estações dos Nodes. No servidor a BLT é criada usando o definido como ap-title remoto, isto é o ap-title local do cliente.

  • Um nome de Domínio TASE.2 específico. O lado cliente pode acessar todos os objetos do domínio incluído na tabela, sem restrições.

  • Uma lista de especificações de controle de acesso de ponto de dados, não incluídos no domínio.

  • Se um ponto de dados do escopo do VCC não fizer parte desta lista, ele não estará acessível para o cliente associado.
    As Tabelas bilaterais constituem uma parte importante do mecanismo de controle de acesso.

  • Se nenhum BLT for definido, as decisões de controle de acesso serão baseadas exclusivamente nos direitos de acesso definidos para o ponto de dados. Esses direitos de acesso são iguais para todos os clientes.

  • Se forem definidas tabelas bilaterais, as decisões de controle de acesso serão baseadas nos direitos de acesso definidos para o ponto de dados e naqueles definidos na tabela bilateral para o cliente solicitante.

  • Se um ponto de dados não fizer parte da tabela bilateral para o cliente solicitante, a solicitação será negada e uma resposta "acesso ao objeto negado" será enviada ao cliente.

  • Se um ponto de dados for especificado no BLT para um cliente, o acesso só será permitido se for permitido na especificação de controle de acesso do ponto de dados e na especificação de controle de acesso no BLT.

Importante
Na implementação deste módulo servidor, ao ser definida nas opções de protocolo o nome para uma Bilateral Table, será criada uma BLT, com o domínio definido, incluindo todos os objetos definidos como pertencentes ao VCC, incluindo as mensagens de informação. Os objetos de dados existentes dentro do domínio específico não serão incluídos na BLT e terão portanto acesso irrestrito.

Operações executadas pelo Cliente

Toda a tarefa de criação do modelo de dados é feita no módulo Servidor.

O Módulo cliente faz o browse do Modelo de Dados do servidor e cria listas de variáveis e de data sets a partir dos dados do servidor, para usar na requisição de leituras.
Localmente, pela leitura de sua tabela Points cria as tabelas de correspondência entre as tags Action.NET e os nomes de variáveis ICCP, recebidos do servidor.

As operações de leituras serão feitas periodicamente, de acordo com tempos de periodicidade de amostragens definidos na configuração dos nodes do canal usando este protocolo. Se estes tempos de periodicidade forem definido com Zeros, as operações de amostragem não serão executadas.

Alternativamente o Cliente pode definir e parametrizar Reportes , ou Ds Transfer Sets, para que o servidor envie os dados de forma não solicitada, a partir de critérios definidos. Para estas transferências pode usar data sets definidos estaticamente no servidor, ou criar dinamicamente data sets em tempo de execução.

Leituras por amostragem

Basicamente existem três operações de leituras partindo do cliente:

  • Solicitação de leitura de todos os pontos digitais (STATE e STATE_SUPLEMENT)

  • Solicitação de leitura de todos os pontos analógicos (REAL e DISCRETE)

  • Solicitação de leitura de data sets pré-definidos no servidor. O conteúdo, isto é, as variáveis que virão em cada data set são as definidas no servidor, pelas especificações na tabela Points do servidor.

  • Solicitação ao servidor da criação de data sets dinâmicos, pelo envio de uma lista de variáveis, e posterior solicitação de leitura destes data sets.

Data Sets Transfer Sets

Neste protocolo está disponível a funcionalidade de Data Sets Transfer Sets ou reporte não solicitado de dados.
Através dele é feita a solicitação pelo cliente, para a configuração no servidor, de um DS Transfer Set associado a um data set, e sua ativação.

O Data set a ser usado pelo Transfer Set pode seu um pre-definido no servidor ou pode ser um recém criado a pedido do cliente ( data set dinâmico).

O cliente solicita ao servidor um Transfer Set disponível, associa-o a um data set, e faz a configuração paramétrica do DS Transfer Set. Após isto faz a ativação do transfer set. Então o servidor inicia o envio espontâneo, de acordo com critérios configurados, dos dados dos data sets definidos no modelo de dados do servidor.

O cliente passa então a receber espontaneamente os dados vindos do servidor, na forma de Reports, sem necessitar executar pedidos de leitura (polling).
Os Reports são ações de envio de um conjunto de dados de variáveis constantes do dada set correspondente, executadas de acordo com os critérios de disparo destas ações. Cada Report, é identificado por um número de sequência, uma data/hora de publicação e pela causa de sua execução.

Comandos

O cliente pode enviar comandos para o servidor. Para isto devem ser configurados no cliente e no servidor Control Points para comandos de estados (abrir, fechar, etc.) ou para envio de set points de pontos analógicos. Também podem ser enviados Cartões de Serviço para devices ( cartões) de impedimento.
O disparo destes comandos é feito pela alteração de estado ou valor, dos tags Action.NET associados aos nomes destes Control Points no servidor.

Escrita em Pontos de indicação

Para os pontos de indicação (não Control Points), também é possível a operação de escrita sob demanda.
Nesta operação, os pontos de indicação para os quais se deseja escrita nos correspondentes existentes no servidor deve-se definir na tabela points, no Cliente, o campo Access Type como Write.
No servidor o Access Type deverá ser do tipo Read ou WriteSlave. Estes pontos não podem e não devem ser definidos como pertencentes a data sets.
A escrita será disparada pelo cliente a cada vez que houver alteração no estado ou valor do conteúdo destes pontos.

Nesta pagina:

  • No labels