CONFIGURAÇÃO DE PONTOS - Iccp

Geral

Os pontos podem ser de entrada ou de saída.
Os pontos de entrada para o cliente, que são distribuídos pelo servidor pelo protocolo, são configurados basicamente com três parâmetros principais: O tipo de ponto, o nome do ponto (constituído de um nome de domínio e um nome de variável) e opcionalmente o nome de data set, se o ponto pertence a um data set.
Os pontos de saída, utilizados para enviar telecomandos pelo Cliente e recepção dos mesmos pelo Servidor, possuem além do tipo e do endereço alguns parâmetros para detalhar a operação de controle.
Os endereços dos pontos, isto é, o par domínio/nome da variável, devem ser unívocos.

Tipos de Pontos

O módulo de comunicação ICCP no modo Servidor implementa tipos de pontos de leitura para o cliente, para:

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

  • STATE_SUPPLEMENTAL - Suplemento de estado.

  • DISCRET - valores inteiros de até 32bits.

  • REAL – Valores em ponto flutuante em 32 bits.

Também pontos para comandos:

  • Comandos digitais

  • Pontos de ajuste discretos

  • Pontos de ajuste reais.

  • Tags (Cartões) para pontos de controle

  • Mensagens de Informação (IM)

E pontos para a definição de:

  • Data sets e

  • Data sets Transfer sets

A figura mostra parte da lista apresentada ao se clicar no tipo de ponto, na coluna Address da tabela POINTS.


Os tipos de pontos, incluem variações nas quais são adicionados além do valor, ou estado, flags de qualidade e timestamp. Na tabela, ICCP Validity é a qualidade, Time Stamp é a data e hora da ultima mudança do valor com discriminaçõa de segundos. Extended Time stamp é a data e hora incluindo sedgundos e millisegundos. COV é o numero de vezes que houve mudança de valor (Change Of Value).

São portanto os seguintes:

Sigla

Nome do tipo de dado

Conteúdo do objeto de dados

ST

State

Discrete 2-bit value

STQ

StateQ

Discrete 2-bit value + ICCP Validity

STQT

StateQTimeTag

Discrete 2-bit value + ICCP Validity + Time stamp

STEX

StateExtended

Discrete 2-bit value + ICCP Validity + COV + time stamp

STQTEX

StateQTimeTagExtended

Discrete 2-bit value + ICCP Validity + COV + Extended time stamp

SS

StateSupplement

Discrete 2-bit value

SSQ

StateSupplementQ

Discrete 2-bit value + ICCP Validity

SSQT

StateSupplementQTimeTag

Discrete 2-bit value + ICCP Validity + Time stamp

SSEX

StateSupplementExtended

Discrete 2-bit value + ICCP Validity + COV + time stamp

SSQTEX

StateSupplementQTimeTagExtended

Discrete 2-bit value + ICCP Validity + Extended time stamp

DC

Discrete

Integer 32-bit value signed

DCQ

DiscreteQ

Integer 32-bit signed value + ICCP Validity

DCQT

DiscreteQTimeTag

Integer 32-bit signed value + ICCP Validity + Time stamp

DCEX

DiscreteExtended

Integer 32-bit signed value + ICCP Validity + Current Source + time stamp

RL

Real

Float 32

RLQ

RealQ

Float 32 + ICCP Validity

RLQT

RealQTimeTag

Float 32 + ICCP Validity + Time stamp

RLEX

RealExtended

Float 32 + ICCP Validity + Current Source + time stamp + COV

CMD

Command discrete

Command para controle on/off de device

DCSP

Discrete set point

Saida de valor Discreto 32bis

RLSP

Real Set Point

Saida de valor float 32 bits

DSET

DataSet

Ponto Action.NET para definir um data set

DSTS

DataSet TransferSet

Ponto para definir um DS Transfer set

IM

Information messages

Ponto para receber em seu atributo value o conteúdo de uma mensagem.

TAG

Tag device service

Ponto Action.NET para manter e enviar um Cartão de Impedimento de equipamento

Ajustes para Valores e Qualidade

No ICCP os valores, estados e a qualidade seguem um padrão próprio.
Assim estes estados e qualidades para serem definidos a partir dos estados e qualidades existentes no padrão do Action.NET, precisam ser ajuntados quando montando dados no Servidor para envio para o cliente com a codificação apropriada no protocolo.

Representação de Estados
BETWEEN = 0,
OFF = 1,
ON = 2,
INVALID = 3

No ICCP estes são sempre os estados. Mesmo que um disjuntor em dado projeto seja considerado somente com estados aberto e fechado, ao transmitir esta informação terá que ser na forma acima.
Mesmo o caso de representação de atuação de uma proteção o estado deverá ser 1 ou2;
Para contornar este problema., sempre que um ponto com tipo de estado for definido, o módulo usará como valor o atual do ponto, se o tag não tiver o campo Parameter > EnumerationSet.
Se o tag tiver o Parameter > EnumerationSet, usará o texto de ValueAsString atual para definir o valor atual, utilizando a lista parâmetro TextForValues existente no arquivo ICCPDual.XML, que pode ser alterada para o projeto em questão.

<TextsForValues> <Texts P1="INDEFINIDA=3;FECHADA=2;ABERTA=1;EM CURSO=0; BLOQUEADO=0;DESLIGADO=1;LIGADO=2;INDEFINIDO=3;NORMAL=1;ATUADO=2"/> </TextsForValues>

Representação de fonte de dados

TELEMETERED = 0, CALCULATED = 1, ENTERED = 2, ESTIMATED = 3

Representação de Validade ICCP

VALID = 0, HELD = 1, SUSPECT = 2, NOT_VALID = 3

 

Para a definição da qualidade OPC usada no Action.NET a partir da Validade ICCP no lado CLIENTE são utilizados os seguintes critérios:

Qualidade OPC

Validade recebida ICCP

Fonte de Dados ICCP

GOOD

VALID

TELEMETERED

Uncertain

SUSPECT

TELEMETERED

GoodLocalOverride

HELD

ENTERED

BadCommFailure,

NOT_VALID

TELEMETERED

Para a definição de Validade ICCP no modo Servidor, são utilizados os seguintes critérios:

Qualidade atual OPC

Validade ICCP

Fonte de Dados ICCP

GOOD

VALID

TELEMETERED

UncertainSensorNotAccurate, UncertainHighLim, UncertainLastUsableValue

SUSPECT

TELEMETERED

GoodLocalOverride, or tag Locked

HELD

ENTERED

BadCommFailure, Uncertain, BadNotConnected ou Bad

NOT_VALID

TELEMETERED

Endereço do ponto

O preenchimento de endereços de pontos é feito no ambiente de engenharia, em Edit>Devices>Points.
O campo Address a ser preenchido no cadastramento de pontos inclui o tipo de ponto o nome da variável no ICCP e alguma informação complementar, dependente do tipo de ponto.
Conforme a figura abaixo, um clique sobre a linha da coluna endereço abre uma janela para selecionar o tipo e o endereço do ponto. Um clique sobre o tipo abre uma janela com todos os tipos de pontos suportados.

 


A seguir são informados detalhes sobre o preenchimento deste campo para cada um dos diversos casos existentes.

Os nomes dos pontos de dados (ou variáveis), usados ​​como endereços, podem consistir apenas em caracteres ASCII alfanuméricos (a-z, A-Z, 0-9) e o sinal de sublinhado ("_"). Todos os outros caracteres não são permitidos e podem causar problemas durante a operação. Os sufixos "_SBO" e "_TAG" também não são permitidos como nomes de pontos de dados (para pontos de indicação, dispositivos ou equipamentos de proteção), pois esses sufixos são reservados para variáveis ​​internas de protocolo!

Indication Points

Para este tipo de pontos, de entrada, que incluem State, Discrete, Real e StateSuplemment. O formato do endereço é:
<data type>:<domain>/<Iccp point name>:<dataset name>
DataType: - deve ser escolhido na lista pressionando o botão à direita do campo.
DataName: Deve ser digitado o nome do domínio a barra "/" e o nome do ponto. Estes nomes são tratados como sensíveis ao case, maiúsculas e minúsculas. Nos pontos alocados no VCC somente usar o tipo e nome do ponto, sem o domínio.
Complemment: No lado Cliente não é necessária a definição de pertinência do data name ICCP no data set. Esta definição é feita no servidor e o Cliente apenas recebe os dados da forma que estiver definido no servidor.

DataSets

Para a definição de Data Sets será configurado como mostrado na figura seguinte:
DataType escolher a sigla DSET.
DataName – Preencher com o domínio e nome do data set.
Complemment - No Cliente, será utilizado para até dois parâmetros, separados por “:”

  • A sigla para um temporizador, T1, T2 ou T3 - Para definir a periodicidade de amostragem, no caso de leitura de data sets por amostragem, indicando um dos possíveis temporizadores, como mostrado na configuração de Nodes. Se não for definido aqui, será considerado o temporizador T1.

  • Somente se o data set deve ser criado dinamicamente, deve ser incluído o parâmetro DYN, com uma indicação:

    • DYN=ANA - Para que na criação do data set seja enviada ao servidor uma lista com todas as variáveis Analógicas (REAL e DISCRETE)

    • DYN=DIG - Para que na criação do data set seja enviada ao servidor uma lista com todas as variáveis Digitais (STATE e STATE SUPPLEMENTAL)

    • DYN= <texto de filtro> - Para que na criação do data set seja enviada ao servidor uma lista com todas as variáveis cujos nomes ICCP sejam adequados ao filtro.

Filtros

O <texto de filtro> poderá ter asteriscos, para indicar parte que pode ser qualquer e textos que devam ser coincidentes, isto é o nome deve conter. Assim um filtro igual à DAT*, indicará que se deseja todas as variáveis cujo endereço comece com DAT. Um filtro com *DAT, indicará que e se deseja incluir no data set todas as variáveis cujos nomes ICCP terminem com as letras DAT. Um filtro com o texto XXX, iniciado e seguido por asteriscos, indicaria que se quer todas as variáveis que o nome inclua o texto XXX em qualquer parte dele.

Na criação das lista para data sets dinâmicos, será utilizado o critério e filtro escolhido, não sendo incluídas as variáveis que mesmo atendendo estes critérios já estão definidas como integrantes de data sets pré-definidos no servidor.

DataSets Transfer sets

Para a definição de Data Sets Transfer Sets será configurado o seguinte:
DataType escolher a sigla DSTS.
DataName – Preencher com o domínio e nome do data set associado, para o qual será utilizado para as transferências.
Complemment - Opcionalmente podem ser definidas alternativas para a configuração padrão definida por falta no cliente. Estes parâmetros vão de tempos de ações a critérios de geração do report. Veja no item Configuração de Data Sets Transfer sets, a seguir nesta secção.

Device Control Point

No lado do Servidor, estas definições servem para o módulo de comunicação encontrar o tag Action.NET que será o objetivo do comando. No lado Cliente estas especificações são utilizadas para o envio do comando.
A figura mostra o preenchimento de um ponto de controle de dispositivos.

Para este tipo de pontos, de comando, CMD. O formato do endereço é:
CMD:<domain>/<Iccp control point name>:<parâmetros de comando>
DataType: - deve ser escolhido na lista pressionando o botão à direita do campo o tipo C MD
DataName: Deve ser digitado o nome do domínio a barra "/" e o nome do Control Point. Estes nomes são tratados como sensíveis ao case, maiúsculas e minúsculas. Nos pontos alocados no VCC somente usar o tipo e nome do ponto, sem o domínio, como em DC: DiscreteVcc.
Complemment: devem ser digitados os detalhes para o comando na forma:
<DIR/SBO>:<TAG/NOTAG>:<Check num>
Onde:
DIR – indica comando direto simples
SBO – Indica comando com Select Before Operate. Na execução será enviado pelo Cliente um comando de SELECT e logo após, se houver sucesso nesta operação, será enviado o comando propriamente.
TAG/NOTAG – indica se será incluída na criação deste ponto, a funcionalidade de ter uma etiqueta, como um cartão de impedimento, que poderá ser enviada para que seja associada ao device. NOTAG indica que esta funcionalidade não será utilizada.
CheckNum- É um número para distinguir um comando de outro, O mesmo número para o mesmo ponto, mas diferente para cada ponto. Pode ser escolhido qualquer um, mas será fixo para o ponto.

Set Points

No lado do Servidor, estas definições servem para o módulo de comunicação encontrar o tag Action.NET que será o objetivo do comando. No lado Cliente são utilizadas as especificações para o envio do comando.
Para este tipo de pontos, de comando, CMD. O formato do endereço é:

<data type>:<domain>/<Iccp point name>:<complemment>

DataType: - deve ser escolhido na lista pressionando o botão à direita do campo um dos tipos DCSP ou RLSP, conforme o tipo do valor.
DataName: Deve ser digitado o nome do domínio a barra "/" e o nome do ponto de saída. Estes nomes são tratados como sensíveis ao case, maiúsculas e minúsculas. Nos pontos alocados no VCC somente usar o tipo e nome do ponto, sem o domínio, como em DC: DiscreteVcc.
Complemment: devem ser digitados os detalhes para o comando na forma:

<TAG/NOTAG>:<Check num>

Onde:
TAG/NOTAG – indica se será incluída uma etiqueta, como um cartão de impedimento, que poderá ser enviada para que seja associada ao device. NOTAG indica que esta funcionalidade não será utilizada.
CheckNum- É um número para distinguir um comando de outro, o mesmo número para o mesmo ponto, mas diferente para cada ponto.

Tag attributes for devices (control points)

Na denominação do ICCP um tag é uma etiqueta associada a um ponto de controle (como um cartão de impedimento ou manutenção), que este protocolo define. Um cliente pode então enviar um cartão destes para o servidor, utilizando o nome do ponto de controle. Pode ser enviado um código com o tipo de cartão e um texto livre com a motivo do impedimento (reason). Deve ser usado um tag Action.NET (um objeto) para definir este ponto.
Para este tipo de ponto o formato do endereço é:
TAG:<domain>/<Iccp control point name>
TAG – É o tipo de ponto etiqueta para o módulo de comunicação ICCP.
Data Name –O domínio seguido de " / " e do nome ICCP do ponto de controle associado.
A operação de envio do tag é feita pelo Cliente da seguinte forma e sequencia, a partir de scripts do projeto:

  • Se for usado Password para o comando o campo EstimatedValue do tag Action.NET deste ponto tag (etiqueta) deve ser preenchido com o Password;

  • Se precisar enviar um texto com a razão da etiqueta, este texto deverá ser colocado em um outro tag com o mesmo nome do tag definido em POINTS, acrescido do sufixo _RS. Este texto será enviado pelo protocolo junto com o valor do tag: Exemplo Tag.DEV_CONTROL_OFF, é o tag para comando, Tag.DEV_CONTROL_TG é o ponto que conterá o número do cartão. Tag.DEV_CONTROL_TG_RS, conterá o texto da razão.

  • O valor do tag definido em POINTS, deve ser alterado para um dos códigos a seguir listados:

0 = NO_TAG - indica que o dispositivo não está etiquetado e pode ser usado normalmente
1 = OPEN_AND_CLOSE_INHIBIT - comandos de abertura e fechamento não são permitidos
2 = CLOSE_ONLY_INHIBIT - um fechamento não é permitido
3 = INVALID - Tag inválida. Pode indicar um problema de software.

Information Messages

São mensagens de texto ou de um conteúdo qualquer até mesmo binário, que podem ser enviadas de um servidor para um cliente. No lado do Cliente deve-se definir um tag do tipo texto, que receberá o buffer de dados da mensagem.
Para este tipo de dado o formato do endereço é:
IM:<domain>/IM:<complemment>
IM – Deve ser escolhido o tipo IM na lista de tipos
Domain - deve ser digitado o nome do domínio seguido de barra e do nome fixo IM. Se for para definir escopo VCC colocar somente o nome IM sem domínio e sem barra.
Complemment - será formado por dois números separados por ": " para a identificação da mensagem:
infoRef – referência para a mensagem
localRef- referência para o local de onde partiu a mensagem.
Estes números podem ser definidos por critério próprio, o importante é que sejam os mesmos no servidor e no cliente, para que seja feita a associação entre os pontos Action.NET.
A figura mostra exemplo de definição de pontos para mensagens:

Tanto no Cliente como no Servidor deve-se definir dois pontos para cada área de mensagem que se pretenda usar, por exemplo:

  • Tag.ICC1.MSG – Tag principal, que será usado para conter, em tempo real, o número de identificação da mensagem, que quando alterado pelo Servidor, causará o disparo do envio da mensagem. Este é o tag que deve ser cadastrado em POINTS para a definição dos campos infoRef e localRef.

  • Tag.ICC1.MSG_IM – Com o mesmo nome de tag acima, adicionado do sufixo _IM, com tipo TEXT, que conterá o texto da mensagem. O servidor coloca este texto no seu tag e o cliente recebe no dele, no atributo Value.

A operação de envio do tag é feita pelo Servidor da seguinte forma e ordem, a partir de scripts do projeto:

  • Se for usado Password para o comando o campo EstimatedValue do tag Action.NET deste ponto (no ex. Tag.ICC1.MSG) deve ser preenchido com o Password;

  • O texto a ser enviado deverá ser colocado no outro tag (com o sufixo _IM, no ex. Tag.ICC!.MSG_IM).

  • O valor do tag definido em POINTS, deve ser alterado para um novo valor, que poderá ser um número de sequência de mensagens. Isto faz o disparo do envio.

Configuração de Data Sets Transfer sets

Os Data sets Transfer Sets (DSTS) são o mecanismo mais importante e mais eficiente para enviar dados do servidor para o cliente. Eles podem ser usados para enviar dados do servidor para o cliente sem que o cliente envie solicitações.
No cliente é necessário que o mesmo use o nome de domínio correto que é atribuído pela BLT.
O DS Transfer Set é então criado, associado a um data set e pode ser configurado ajustando-se as propriedades de configuração do conjunto de transferência. As transferências serão feitas a partir da lista de variáveis do data set.
Em seguida, também outros parâmetros importantes podem ser configurados.
A tabela seguinte mostra os parâmetros que podem ser configurados e as escolha de parâmetros que é feita automaticamente pelo módulo Cliente por default. Caso sejam aceitáveis todos estes parâmetros como estão, não será preciso especificar parâmetros para o DS transfer set.

Parâmetros de configuração de DS Transfer Sets

Nome do parâmetro

Palavras Chaves usada em POINTS

Descrição e significado do parâmetro

Valor Default

Start Time

STARTTIME

Hora de início – Intervalo de tempo para o servidor iniciar o monitoramento da condição a partir do recebimento de Start do cliente, em segundos (0 = imediatamente)

Zero

Interval

INTERVAL

Intervalo de tempo entre relatórios consecutivos gerados pelo servidor (em segundos), quando estiver presente o critério INTERVAL_TIMEOUT

15

TLE

TIMETLE

Limite de tempo TLE permitido para execução do relatório (em segundos)

10

Buffer Time

BUFFERTIME

Intervalo de tempo máximo desde que chegou a primeira mudança até que seja enviada a mensagem com as mudanças enfileiradas. (em segundos)

3

Integrity Check

TIMEINTEGRITY

Tempo limite entre dois envios consecutivos de Report quando não houver nenhuma mudança.(em segundos), quando estiver presente o critério INTEGRITY_TIMEOUT.

60

DSConditions Requested

DSCONDITIONS

com valores definidos por letras (veja coluna ao lado, e exemplo abaixo)

Especifica as condições de disparo para relatórios. São as razões para o relatório ser criado.

T - INTERVAL_TIMEOUT

I - INTEGRITY_TIMEOUT

C - OBJECT_CHANGE

O - OPERATOR_REQUESTED

X- OTHER_EXTERNAL_EVENT

Block Data

BLOCKDATA

Ativar a codificação do relatório de transferência de bloco quando CB 3 é compatível (não é compatível com esta implementação)

FALSE

Critical

CRITICAL

Controle se o relatório for crítico. Quando verdadeiro, o cliente deve enviar um "Acknowledment" ao receber o relatório

FALSE

RBE

RBE

Criação do relatório por mecanismo de exceção. Verdadeiro significa que apenas os objetos alterados são incluídos no relatados

TRUE

All Changes Reported

ALLCHANGES

Controle o número de alterações de um determinado ponto de dados que podem ser relatadas em um único relatório. Verdadeiro significa que todas as alterações são relatadas, falso significa que apenas a última alteração é relatada.

TRUE

DS CONDITIONS

As Condições do DataSet controlam como os DSTS são enviados. Eles são configurados na tabela POINTs na linha de definição do DS Transfer Set.
Existem algumas regras importantes a seguir ao configurar DS Conditions para um DSTS:

  • Intervalo com RBE desligado funciona como Integridade com RBE ligado.

  • Um valor de tempo para StartTime de 0 significa enviar agora.

  • O sinalizador Interval Time Out controla o Interval Timer.

  • O intervalo é a frequência com que o relatório será enviado. Quando RBE é definido, apenas os pontos que mudam no intervalo são relatados por nome.

  • Sinalizador de tempo limite de integridade controla o temporizador de integridade.

  • A integridade é a frequência com que todo o DataSet é relatado.

  • O sinalizador de alteração de objeto controla o BufferTime.

  • BufferTime é o intervalo de tempo para as alterações do buffer antes de relatar ao cliente TASE.2.

  • BufferTime começa quando ocorre a primeira condição de mudança de objeto.

  • Se o RBE estiver desligado, todo o DataSet é relatado.

  • Se RBE estiver ligado, apenas o estado atual dos objetos no conjunto de dados que foram alterados são relatados

  • Se BufferTime for 0, um relatório será gerado para cada alteração.

  • Se várias alterações ocorrerem no mesmo objeto durante um BufferTime, apenas o último valor será relatado.

Como alterar os parâmetros
Na figura abaixo é mostrada a definição de dois Data Sets Transfer sets na tabela POINTS, com definições para alteração dos parâmetros de configuração.


No campo Complement deve-se digitar as Palavras Chaves dos parâmetros que se quer alterar (segunda coluna da tabela acima) seguidos do sinal = e do valor do parâmetro, separados pelo sinal de dois pontos: como em
Parametro1=xx : Parametro2=yy : Parametro3=zz
Os valores verdadeiro e falso serão usados em inglês TRUE e FALSE;
No exemplo mostrado, temos em Complement:
DSCONDITIONS = ITC:BUFFERTIME=1:ALLCHANGES=TRUE:INTERVAL=20
Neste caso:

  • DSCONDITION = ITC, está alterando o default para que somente sejam utilizados para a geração deste report os critérios de INTEGRIDADE, TIMEOUT e CHANGES ( alterações de estados e valores).

  • BUFFERTIME = 1, Alterando para que o tempo de espera por alterações seja de apenas 1 s.

  • ALLCHANGES=TRUE, está definindo All Changes Report, todas as mudanças sejam incluídas nos reports.

  • INTERVAL=20, impõe o tempo máximo de intervalo entre reports é de 20s.

Access Type

Cliente

Em modo cliente há a necessidade de algumas características próprias para a parametrização do campo Access Type da tabela Points:
Para pontos digitais e analógicos com tipos que são de leitura: (READ)
O Access Type deve ser definido com:
ReadOnStartup= on
ReadPooling= always;
ReadPoolingRate: 1000
Para pontos de comando Control Points e Information Messages e para Indication Points para escrita (WRITE)
O Access Type deve ser definido com:
ReadPooling = Never;
WriteEvent= Change
WriteEventEnable: on

Servidor

Em modo servidor há a necessidade de algumas características próprias para a parametrização do campo Access Type da tabela Points:
Para pontos digitais STATE e STATE_SUPPLEMENTAR com tipos que são de leitura:
O Access Type deve ser definido com:
ReadOnStartup= off
ReadPooling= never;
ReadPoolingRate: 0
WriteEvent= Changed;
AccepUnsolictited = On;
Para pontos com tipos de medida, usando Analog Samples e tipos de comandos:
O Access Type deve ser definido com:
ReadPooling = Never;
WriteEnable = disable
WriteEvent= disable;

Nesta página: