INFORMAÇÃO GERAL - Iccp
Informação geral
Communication Driver Name: ICCPDual
Current Version: 9.2
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
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.
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.
Transferencias de Grandes Blocos de dados; Não implementado;
Information Messages
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.
Normalmente, a transferência de dados de um servidor para um cliente é feita por conjuntos de transferência. Para a medição e dados de status, conjuntos de transferência de conjunto de dados (DSTS) são usados. Os conjuntos de transferência fornecem um mecanismo para transferência automática de dados. O cliente não tem que pesquisar os pontos de dados porque o servidor enviará automaticamente novos dados quando um ponto de dados muda ou em uma base periódica.
Conjuntos de transferência de conjunto de dados são usados para transferir os dados de um conjunto de dados. Os conjuntos de dados podem ser predefinidos pelo servidor ou o cliente pode criar o conjunto de dados após a conexão por serviços online. Os conjuntos de dados criados por serviços online são chamados de conjuntos de dados dinâmicos.
O servidor fornece para cada domínio uma série de DSTSs. Esses conjuntos de transferência podem ser reservados pelo cliente com o serviço getNextDSTransferSet. O cliente pode então configurar os parâmetros do conjunto de transferência (condições de transferência, tempos limite, período, ...) e então habilitar o conjunto de transferência.
Portanto, em geral, o processo pode ser assim:
o cliente se conecta ao servidor
o cliente reserva uma transferência definida pelo serviço getNextDSTransferSet
o cliente cria um conjunto de dados com os pontos de indicação necessários e pontos de dados do equipamento de proteção
o cliente atribui o novo conjunto de dados ao conjunto de transferência
o cliente ativa o conjunto de transferência
o servidor envia os dados do conjunto de dados para o cliente em eventos ou periodicamente
Se necessário, um cliente pode usar conjuntos de transferência diferentes (por exemplo, se você precisar de tempos de período diferentes para tipos de dados diferentes).
A transferência de dados de um cliente para um servidor geralmente consiste no envio de comandos ou pontos de ajuste. O receptor dos comandos e pontos de ajuste são dispositivos. Os dispositivos fazem parte do modelo de dados do servidor.
Um aplicativo TASE.2 também pode ser cliente e servidor ao mesmo tempo para usar os mecanismos de transferência em ambas as direções.
Mais sobre o texto originalÉ necessário fornecer o texto original para ver mais informações sobre a tradução
Enviar feedback
Painéis laterais
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 página: