O SOE (Sequence of Events, Sequência de Eventos em português) é responsável pela geração se uma sequência de eventos digitais. Através do SOE é possível analisar o histórico de comportamento das variáveis do sistema mapeadas na sua área de monitoramento. O SOE é um serviço disponível exclusivamente para as CPUs NX3020 e NX3030.
Uma vez habilitado, a CPU começa a se comportar como um servidor DNP3, sendo assim necessário o suporte ao protocolo DNP3 por parte do cliente para utilizar esse recurso. Os tipos de objetos suportados, assim como os function codes e qualifiers, podem ser encontrados em "DNP3 Device Profile".
O serviço SOE utiliza os endereços %Q para formar sua base de dados estáticos. Para isso, é necessário configurar uma área contínua de memória %Q onde o usuário deverá informar seu início e tamanho. O primeiro endereço do objeto DNP3 sempre será 0, correspondendo ao bit 0 de %QBxxxx, onde xxxx é o endereço inicial %Q.
Uma vez definido o banco estático, o usuário deve copiar cada ponto digital que deve gerar eventos na área contínua de %Q. O número máximo de pontos que podem ser copiados é 8000.
Tutorial
O serviço SOE é habilitado na janela de configuração da CPU (NX3020) na aba "SOE Configuration". Basta marcar a opção "Enabled" no primeiro item, as outras opções continuam as padrões e não precisam ser alteradas necessariamente. Você deve ter atenção aos valores do "Offset of %Q Start Address" (20480) em "Communication Points" e a "TCP Port for Client 1" em "Client Configuration". O botão "Advanced..." possui o acesso aos endereços DNP3 do Source (Server, nesse caso a CPU NX3020) e os Destinations (Cleints).
Para demonstração da aplicação de eventos a seguinte lógica foi criada. O %QX20480.0 é o primeiro ponto monitorado pelo SOE, e nesse caso é acionado por uma entrada digital. %QX20480.1 é o segundo ponto e é controlado por um timer, que é FALSE por 500ms e TRUE por 200ms. %QX20480.2 é o terceiro ponto e grava os eventos de uma saída digital.
O software utilizado como Cliente DNP3 para essa demonstração foi o SCADA BluePlant. O primeiro passo no mesmo é criar Tags relacionadas aos pontos do CLP.
Depois desse passo, o canal de comunicação deve ser criado, e o protocolo "DNP3.0 L3 Master Standard Protocol" deve ser selecionado, sendo o único parâmetro modificado o "MasterStationID", configurado com o valor padrão ‘3’, que é o mesmo da configuração SOE no MasterTool IEC XE.
Ainda na tela "Devices", você deve realizar a configuração de qual node a conexão será efetuada, identificando o mesmo com os valores Endereço IP, porta e SlaveIP configurados no servidor. Os outros parâmetros devem ser mantidos os padrões.
O último passo nessa parte é configurar os pontos de comunicação utilizando as Tags criadas anteriormente. O tipo de ponto utilizado é "Binary Input", identificando o endereço de cada ponto e seguindo a sequência de endereços do CLP. O tipo de acesso é "Read" por padrão, que será mantido nesse exemplo.
Para ter acesso ao timestamp em formato de event log no BluePlant, utiliza-se a ferramenta de Alarms. Para event logs apenas, o grupo de alarmes "Warning" é utilizado configurando o parâmetro "LogEvents" para capturar todos os eventos.
Após isso, adicione as tags com a condição de event logging para qualquer alteração de valores.
Na tela do SCADA foi adicionado uma janela de alarmes, cujos únicos parâmetros alterados foram a inclusão do display em milissegundos no timestamp e a opção de listar "AlarmHistory + Events". Com isso, os eventos gerados pelo CLP já podem ser observados ao rodar a aplicação no SCADA, como mostrado na imagem abaixo.
Monitorando o protocolo DNP3 através do software Wireshark, nós podemos validar a informação de timestamp, onde a única diferença encontrada foi o valor do tempo, isso ocorre devido à uma diferença de fuso horário. Além disso, também é possível observar os intervalos precisos entre a mudança de estado do "Point 1", efetuada pela lógica do CLP, mantendo-se 200ms com o valor 1 e 500ms com o valor 0.
Comentários
0 comentário
Por favor, entre para comentar.