Tag Bloco de Tratamento de um Comando de Seleção ou Execução

<< Clique para Mostrar o Sumário >>

 

Tag Bloco de Tratamento de um Comando de Seleção ou Execução

Leitura ou Escrita

 

B1

Número de uma Estação

B2

4 (quatro, leitura de dados da memória cache)

B3

ASDU

B4

Endereço de um objeto

 

O parâmetro B3 pode ter os seguintes valores:

45 (C_SC_NA_1): Single command

46 (C_DC_NA_1): Double command

47 (C_RC_NA_1): Regulating step command

48 (C_SE_NA_1): Setpoint command, normalized value

49 (C_SE_NB_1): Setpoint command, scaled value

50 (C_SE_NC_1): Setpoint command, short floating point number

51 (C_BO_NA_1): Bitstream with 32 bits

58 (C_SC_TA_1): Single command with 7-octet timestamp

59 (C_DC_TA_1): Double command with 7-octet timestamp

60 (C_RC_TA_1): Regulating step command with 7-octet timestamp

61 (C_SE_TA_1): Setpoint command, normalized value with 7-octet timestamp

62 (C_SE_TB_1): Setpoint command, scaled value with 7-octet timestamp

63 (C_SE_TC_1): Setpoint command, short floating point number with 7-octet timestamp

64 (C_BO_TA_1): Bitstream with 32 bits with 7-octet timestamp

 

Quando este Driver recebe um dos comandos descritos anteriormente, este Tag Bloco recebe um bloco com informações sobre este comando. No evento OnRead deste Tag Bloco, a aplicação deve tratar esta informação recebida, alterando os Elementos de Bloco necessários e escrevendo este bloco de volta para este Driver. Desta forma, este Driver pode enviar uma resposta para um Mestre. Os Elementos deste Tag Bloco são os seguintes:

0: Valor de um comando, que depende do tipo de comando

1: Cause Of Transmission (6: Activate ou 8: Deactivate)

2: Select or Execute (0: Execute ou 1: Select)

3: Quality Of Command (0: Undefined, 1: Short pulse duration, 2: Long duration pulse ou 3: Persistent output)

 

Quando uma indicação de comando de ativação é recebida, ou seja, o segundo Elemento igual a 6 (seis), uma aplicação deve responder imediatamente com um dos seguintes valores:

Um ACTCON positivo (activation confirmation, Elemento 1 igual a 7) se este comando pode prosseguir

Um ACTCON negativo (Elemento 1 igual a 135, 128 + 7) se este comando não pode prosseguir

 

Se um ACTCON positivo é enviado, esta aplicação deve então verificar o terceiro Elemento (Select or Execute) e executar a ação apropriada. Se um comando Execute é requisitado, esta aplicação deve executar este comando e depois enviar um ACTTERM (activation termination, Elemento 1 igual a 10) para indicar que este comando foi executado.

O exemplo a seguir mostra um evento OnRead para este Tag Bloco no Elipse E3, Elipse Power ou Elipse Water.

' CMDIndication é um Tag Bloco com 4 Elementos. Os parâmetros deste Tag são:
' AdviseType     = 0 (AlwaysInAdvise)
' AllowRead      = True
' AllowWrite     = False
' B1             = <endereço da estação>
' B2             = 4
' B3             = 45 a 51, 58 a 64
' B4             = <endereço do ponto de comando>
' EnableDeadband = False
' Size           = 4
 
Sub CMDIndication_OnRead()
  Dim CMD, SE, COT, QU
  CMD = Item(1).Value ' Valor do comando (depende do comando)
  COT = Item(2).Value ' COT (Cause of Transmission)
  SE  = Item(3).Value ' 1: Select ou 0: Execute
  QU  = Item(4).Value ' Quality of command
 
  Select Case COT
    Case 6
      ' ACT(6) deve ser respondido com ACTCON(7)
      WriteEx Array(CMD, 7, SE, QU), TimeStamp
 
      If SE = 0 Then
        ' TODO: Execute aqui o comando, que provavelmente
        ' é uma escrita em outro Driver
 
        ' Envia um ACTTERM(10)
        WriteEx Array(CMD, 10, SE, QU), TimeStamp 'ACTTERM
      End If
    Case 8
      ' DEACT(8) deve ser respondido com DEACTCON(9)
      WriteEx Array(CMD, 9, SE, QU), TimeStamp
  End Select
End Sub

 

NOTAS

As escritas neste Tag Bloco falham se a opção Select/Execute command na aba Slave não está configurada com o valor pass to the application.

os comandos 51 e 64 (Bitstring) não suportam o envio dos qualificadores de pulso curto, pulso longo e saída persistente. Nestes casos, o quarto Elemento deste Tag Bloco (QU) sempre tem o valor 0 (zero), que é o qualificador de um comando normal.

os comandos 51 e 64 (Bitstring) não possuem informação de Select ou Execute. Nestes casos, o terceiro Elemento deste Tag Bloco (SE) recebe sempre o valor 0 (zero, Execute).

Este Tag não permite a configuração por Strings.

Esta página foi útil?