|
<< Clique para Mostrar o Sumário >>
Leitura de um Valor com Estampa de Tempo |
Este recurso lê um valor junto com uma estampa de tempo armazenada logo após este valor em um dispositivo, em uma única requisição, aplicando a estampa de tempo lida de um dispositivo nativamente em um Tag, ao invés de devolver esta estampa de tempo como um segundo valor. Isto evita a necessidade de um script para combinar um valor e a respectiva estampa de tempo, e funciona somente sobre os protocolos ISOTCP ou ISOTCP243.
Dentro de uma variável DB, o valor e a estampa de tempo devem ser declarados juntos, com a estampa de tempo imediatamente após o valor, sem nenhuma folga entre os valores, já que este Driver lê os dois valores como um único bloco contíguo de bytes, conforme o exemplo a seguir.
Valor : Real // ex.: offset 100
Timestamp : DTL // offset 104, logo apos o Valor
O campo Timestamp deve ser uma variável DTL (Date_And_Time_Long) da Siemens, uma estrutura padrão de 12 bytes (YEAR, MONTH, DAY, WEEKDAY, HOUR, MINUTE, SECOND e NANOSECOND). Não é necessária nenhuma programação adicional em um dispositivo para montar esta estrutura. Uma simples atribuição a uma variável DTL, como por exemplo uma instrução RD_LOC_T, já produz o layout esperado.
NOTAS |
•Uma variável DB precisa estar com a opção Optimized block access desligada no projeto do TIA Portal, caso contrário este Driver não consegue ler esta variável. •O campo WEEKDAY da estrutura DTL não é utilizado por este recurso. |
Um Tag para este recurso pode ser configurada tanto por Parâmetros Numéricos [N/B] quanto por sintaxe, conforme descrito a seguir. Em ambos os casos, este Tag deve apontar para o endereço do valor, não da estampa de tempo. A variável DTL é lida automaticamente logo em seguida.
Use os parâmetros N1 e N3 conforme descrito no tópico Configuração por Parâmetros Numéricos [N/B]. O parâmetro N4 deve apontar para o offset do valor e, no parâmetro N2, use a fórmula TipoDeDados × 100 + 92 (área de dados 92), usando os mesmos códigos para tipo de dados descritos naquele tópico. Por exemplo, para um valor REAL (tipo de dado 7), N2 é igual a 792.
Use a sintaxe a seguir, em que valores entre colchetes são opcionais.
<[Dispositivo:]>DTL<NumeroDaDB>.<Tipo><Endereço>
Os valores Dispositivo, NumeroDaDB e Endereço referem-se aos mesmos itens descritos no tópico Configuração por Parâmetros Sintáticos, e Tipo é o tipo de dados de um valor, como por exemplo DBF para um valor REAL, da mesma tabela daquele tópico, conforme o exemplo a seguir.
(Dispositivo 0, valor REAL a partir do endereço 100 da DB1,
com a estampa de tempo DTL logo após)
Dispositivo: Vazio - Item: 0:DTL1.DBF100