SPLIT_DT

Recebe um valor do tipo DT e retorna o ano, o mês, o dia, 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_DT
       +-------------------+
DT ----|IN             YEAR|---- ANY_INT
       |                   |
       |              MONTH|---- ANY_INT
       |                   |
       |                DAY|---- ANY_INT
       |                   |
       |               HOUR|---- ANY_INT
       |                   |
       |             MINUTE|---- ANY_INT
       |                   |
       |             SECOND|---- ANY_INT
       |                   |
       |        MILLISECOND|---- ANY_INT
       +-------------------+

Esta função recebe um valor DT (Date and Time) em IN e decompõe-o em ano, mês, dia, hora, minuto, segundo e milissegundo, entregues nas saídas YEAR, MONTH, DAY, 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

DT

—

Valor de data e hora a ser separado.

YEAR

OUT

ANY_INT

2000 ..

Ano extraído de IN.

MONTH

OUT

ANY_INT

1 .. 12

Mês extraído de IN.

DAY

OUT

ANY_INT

1 .. 31

Dia extraído de IN.

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_dt   : DT;   (* Data e hora a ser separada *)
    cur_year : UINT; (* Ano *)
    cur_mon  : UINT; (* Mês *)
    cur_day  : UINT; (* Dia *)
    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_DT(IN := cur_dt, YEAR := cur_year, MONTH := cur_mon, DAY := cur_day, HOUR := cur_hour, MINUTE := cur_min, SECOND := cur_sec, MILLISECOND := cur_ms);
    (* recebe os valores de ano, mês, dia, hora, minuto, segundo e milissegundo em cada parâmetro *)
(* ... *)