Tags reportados por eventos podem retornar mais de um valor a cada leitura ou então não retornar valor algum.
Os Tags reportados por eventos são destinados à leitura de dados sob demanda, geralmente armazenados no Driver até serem lidos em uma operação de leitura. São normalmente utilizados para a leitura de eventos, dados de memória de massa e mensagens não solicitadas recebidas do equipamento.
A documentação do Driver deve especificar quais dos seus Tags disponíveis para a aplicação são reportados a eventos.
A utilização mais comum é para a coleta de Sequência de Eventos (SOE, ou Sequence Of Events). Por exemplo, em equipamentos que armazenem em sua memória sequências muito rápidas de variações de Tags digitais ou que armazenem dados de telemetria em tabelas na memória, os dados podem ser armazenados na memória em tabelas, como demonstrado nas figuras a seguir.
Para o primeiro exemplo, é necessário um Tag de Comunicação para ler o valor A. O campo Tempo é retornado na propriedade TimeStamp deste Tag. Já para o segundo exemplo é necessário um Tag Bloco de Comunicação com seis Elementos (de A até F), com o campo Tempo mais uma vez retornado na propriedade Timestamp do Bloco de Comunicação.
Em Tags comuns, não reportados por eventos, pode-se configurar um tempo de varredura (scan) que determina o período em que o valor do Tag é lido. A cada operação de leitura, o Tag retorna um valor (Tag de Comunicação), um bloco de valores (Tag Bloco de Comunicação) ou então pode retornar erro. Para ler as tabelas descritas anteriormente, neste caso, são necessárias três operações de leitura em cada tabela para poder ler os três eventos, ou seja, as três linhas da tabela.
Os Tags reportados por eventos também permitem configurar um tempo de varredura. Para estes Tags, entretanto, cada operação de leitura pode retornar uma série de valores ou blocos de valores, com qualidades e estampas de tempo próprios, ou seja, no caso de utilizar Tags reportados por eventos para ler as tabelas anteriores, é possível obter os três eventos (os dados das três linhas de cada tabela) de uma vez só em uma única operação de leitura (um único scan).
A leitura dos valores retornados por Tags reportados por eventos é realizada através do evento OnRead do Tag. A cada operação de leitura que retorne valores, a aplicação dispara uma sucessão de eventos OnRead. Para cada valor ou evento retornado, a aplicação preenche as propriedades do Tag (valor, estampa de tempo e qualidade) com os valores do evento específico e então dispara o evento OnRead.
Caso o Driver não possua eventos ou valores a retornar, a operação de leitura reportada a eventos, ao contrário do que ocorre com os Tags comuns, pode não retornar dado algum e nem gerar erros, como se a operação de leitura não houvesse ocorrido.
O tempo de varredura ou scan de Tags reportados por eventos geralmente pode ser configurado com um valor bem baixo, pois o consumo de CPU, caso não existam valores a retornar, é geralmente desprezível.
A propriedade TimeStamp destes Tags em geral contém um valor fornecido pelo próprio equipamento.
NOTA: Os Tags reportados por eventos devem ser configurados com a propriedade EnableDeadband desabilitada. Isto evita que eventos com valores muito próximos sejam desprezados pela aplicação.