<< Clique para Mostrar o Sumário >>
Tag Bloco de Tratamento do Comando de Seleção ou Execução |
Protocolos |
IEC 870-5-104 SLAVE |
Parâmetros Numéricos |
B1: Número da Estação, B2: 4 (quatro, leitura de dados da memória cache), B3: ASDU (45 a 51, 58 a 64) e B4: Endereço do Objeto |
Parâmetros por String |
Não disponível |
Tamanho do Bloco |
Quatro Elementos |
Escrita |
Envia para um Mestre a resposta do Comando de Seleção ou Execução |
Leitura |
Recebe os Comandos de Seleção ou Execução enviados por um Mestre |
ASDUs |
C_SC_NA_1 (45), C_DC_NA_1 (46), C_RC_NA_1 (47), C_SE_NA_1 (48), C_SE_NB_1 (49), C_SE_NC_1 (50), C_BO_NA_1 (15), C_SC_TA_1 (58), C_DC_TA_1 (59), C_RC_TA_1 (60), C_SE_TA_1 (61), C_SE_TB_1 (62), C_SE_TC_1 (63) e C_BO_TA_1 (64) |
O parâmetro B3 pode ser um dos 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): Set point command, normalized value
•49 (C_SE_NB_1): Set point command, scaled value
•50 (C_SE_NC_1): Set point command, short floating point number
•51 (C_BO_NA_1): Bitstream of 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): Set point command, normalized value (with 7-octet timestamp)
•62 (C_SE_TB_1): Set point command, scaled value (with 7-octet timestamp)
•63 (C_SE_TC_1): Set point command, short floating point number (with 7-octet timestamp)
•64 (C_BO_TA_1): Bitstream of 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 a informação recebida, alterando os Elementos de Bloco necessários e escrevendo o Bloco de volta para este Driver, de forma que este Driver possa enviar uma resposta a um Mestre. Os Elementos do Tag Bloco são os seguintes:
•0: Valor do Comando, dependendo do tipo de Comando
•1: Causa da Transmissão (6: Ativar ou 8: Desativar)
•2: Seleção ou Execução (0: Execução ou 1: Seleção)
•3: Qualidade do Comando (0: Indefinido, 1: Pulso de Curta Duração, 2: Pulso de Longa Duração ou 3: Saída Persistente)
Quando uma indicação de Comando de Ativação, ou seja, o Elemento 1 (um) igual a 6 (seis), é recebida, a aplicação deve responder imediatamente com um dos seguintes valores:
•Uma Causa de Transmissão ACTCON positiva se este Comando pode prosseguir, ou seja, o Elemento 1 (um) igual a 7 (sete)
•Uma Causa de Transmissão ACTCON negativa se este Comando não pode prosseguir, ou seja, o Elemento 1 (um) igual a 135 (128 + 7)
Se uma Causa de Transmissão ACTCON positiva é enviada, a aplicação deve então verificar o Elemento 2 (dois, Seleção ou Execução) e executar a ação apropriada.
Se um Comando de Execução é requisitado, a aplicação deve executar este Comando e depois enviar uma Causa de Transmissão ACTTERM, ou seja, o Elemento 1 (um) igual a 10 (activation termination), para indicar que este Comando foi executado. O exemplo a seguir mostra um evento OnRead para este Tag Bloco no E3 ou Elipse Power.
' CMDIndication é um Tag Bloco de tamanho 4. 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, 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, provavelmente vai
' ser 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 um DEACTCON(9)
WriteEx Array(CMD, 9, SE, QU), TimeStamp
End Select
End Sub
NOTAS |
•As escritas neste Tag Bloco falham se o modo de tratamento de Comandos de Seleção ou Execução não está configurado como Pass to the Application. •Os Comandos de Bitstring (51 e 64) não suportam o envio dos qualificadores de Pulso de Curta Duração, Pulso de Longa Duração ou Saída Persistente. Nestes casos, o quarto Elemento deste Bloco (QU) tem sempre o valor 0 (zero), ou seja, o qualificador de um Comando Normal. •Os Comandos de Bitstring (51 e 64) não possuem informação de Seleção ou de Execução. Nestes casos, o terceiro Elemento deste Bloco (SE) recebe sempre o valor 0 (zero, Execução). |