Conversão de valores para tempo

Post Reply
Wallacy
Posts: 24
Joined: Thu May 30, 2019 8:05 pm

Conversão de valores para tempo

Post by Wallacy »

Olá, eu possuo uma IHM que me entrega dados modbus com valores numéricos quando leio a tag no HIscada Pro, porém eu preciso converter este valor para tempo, na imagem abaixo existe a correlação do valor modbus que a IHM me envia e o do valor em tempo, eu preciso chegar neste valor com o script lua do HIscada, poderiam me ajudar por favor ?
int pra horas.PNG
int pra horas.PNG (83.21 KiB) Viewed 458 times
User avatar
Jean Bortolon
Administrador
Posts: 23
Joined: Wed Oct 07, 2020 1:00 pm

Re: Conversão de valores para tempo

Post by Jean Bortolon »

Olá prezado,

Para realizar esta conversão você irá trabalhar com 2 funções, são elas: DateTime e GetFormatString, acesse a documentação clicando nos links.

A função DateTime converte um valor númerico para Data Hora e a função GetFormatString pega este valor convertido e apresenta no formato que você deseja, ou seja, você não deseja data, apenas hora minuto e segundo,

Primeiramente vamos analisar o valor númerico que você está recebendo, de acordo com sua imagem a sua IHM está enviando o valor em Segundos vezes 1000:

900 segundos = 15 minutos
120 segundos = 2 minutos
14400 segundos = 4 horas

Após definir que iremos trabalhar com a base em segundos, vamos realizar o script para converter o seu valor para segundos, aplicar a função DateTime no valor convertido e depois aplicar a função GetFormatString para retirarmos a data desta estrutura, observe o script abaixo:

Code: Select all

ValorIHM  = 14400000 -- Valor Recebido pela IHM

ValorEmSegs = ValorIHM/1000/24/3600 -- Valor Recebido divido por 1000 para tirar 3 casas, divido por 24 horas, divido por 3600 segundos por hora

ValorEmDataHora = DateTime(ValorEmSegs) -- Aplica a conversão do valor em segundos para Data Hora

ValorFinal = ValorEmDataHora:GetFormatString('hh:mm:ss') -- Aplica a formatação para horas,minutos para retirar a Data e manter apenas Hora, Minuto e Segundo

print(ValorFinal)

Observe abaixo o resultado realizado área de trabalho para edição de scripts LUA no IDE:
Script de Conversão para Hora.png
Script de Conversão para Hora.png (45.45 KiB) Viewed 456 times
Post Reply