SPLIT_TOD

Recebe um valor do tipo TOD e retorna a hora, o minuto, o segundo e o milissegundo associados; é uma função pura (sem estado; retorna os resultados via parâmetros de saída).

Biblioteca: IEC_STD · Namespace: IEC · Tipo: função

Função

              SPLIT_TOD
        +-------------------+
TOD ----|IN             HOUR|---- ANY_INT
        |                   |
        |             MINUTE|---- ANY_INT
        |                   |
        |             SECOND|---- ANY_INT
        |                   |
        |        MILLISECOND|---- ANY_INT
        +-------------------+

Esta função recebe um valor TOD (Time Of Day) em IN e decompõe-o em hora, minuto, segundo e milissegundo, entregues nas saídas HOUR, MINUTE, SECOND e MILLISECOND, cada uma do grupo ANY_INT (ver Grupos de tipos de dados para a lista completa de tipos suportados).

Nota

Esta função retorna todos os parâmetros de saída iguais a zero caso sejam do tipo SINT ou USINT, pois esses tipos não suportam a faixa de valores possíveis a serem atribuídos.

Parâmetros

Nome

Direção

Tipo

Faixa / Unidade

Descrição

IN

IN

TOD

—

Valor de hora do dia a ser separado.

HOUR

OUT

ANY_INT

0 .. 23

Hora extraída de IN.

MINUTE

OUT

ANY_INT

0 .. 59

Minuto extraído de IN.

SECOND

OUT

ANY_INT

0 .. 59

Segundo extraído de IN.

MILLISECOND

OUT

ANY_INT

0 .. 999

Milissegundo extraído de IN.

Retorno / Saídas

Nenhum.

Observações

Exemplo

Clique aqui para baixar a tabela de variáveis

Código ST

VAR
    cur_tod  : TOD;  (* Hora do dia a ser separada *)
    cur_hour : UINT; (* Hora *)
    cur_min  : UINT; (* Minuto *)
    cur_sec  : UINT; (* Segundo *)
    cur_ms   : UINT; (* Milissegundo *)
END_VAR

(* ... *)
(* Exemplo de chamada da função na POU *)
SPLIT_TOD(IN := cur_tod, HOUR := cur_hour, MINUTE := cur_min, SECOND := cur_sec, MILLISECOND := cur_ms);
    (* recebe os valores de hora, minuto, segundo e milissegundo em cada parâmetro *)
(* ... *)