Descrição:
O Histórico grava valores mesmo antes do início da comunicação com o CLP. Isto pode ser evitado?
Solução:
O Histórico possui duas formas de funcionamento: automática e manual. O que define isto é o tempo de gravação:
Se o valor for 0, ele funcionará em modo manual: só gravará um novo registro caso seja executado o método WriteRecord() do objeto Histórico.
Para qualquer valor diferente de 0, o Histórico funcionará em modo automático, e gravará um novo registro a cada x segundos, dependendo do valor escolhido pelo usuário. Este valor pode ser alterado em tempo de execução através da propriedade ScanTime do Histórico.
Para solucionar o problema descrito, o Histórico pode ser inicialmente configurado em modo manual, e então basta fazer um script que mude esta propriedade para outro valor. Exemplo:
Application.GetObject("Hist1").ScanTime = 1000
Um outro modo, mais fácil, é fazer uma associação digital:
Para entender melhor como funciona a associação digital, baixe a aplicação exemplo anexa. Nela, foi criada a chave Automático/Manual, que muda o valor de um tag interno, que foi utilizado na associação.
NOTA: Aplicação anexa foi desenvolvida no E3 v3.2 b238.