Skip to main content

Conversione di data e ora

Gli operatori convertono un valore di data e ora nel tipo di dati specificato e restituiscono un valore convertito dal tipo.

I tipi di dati DATE e DT utilizzano internamente lo stesso formato di memoria e vengono archiviati come DWORD. La risoluzione per DATE è 1 giorno. La risoluzione per DT è 1 secondo. Entrambi iniziano il 1 gennaio 1970. TOD è memorizzato come DWORD con una risoluzione di 1 millisecondo.

Le parole chiave DT E TOD sono grafie alternative per i tipi di dati DATE_AND_TIME E TIME_OF_DAYTuttavia, questi ultimi non sono mappati come un comando di conversione di tipo.

I tipi di dati LDATE E LDT E LTOD utilizzare il formato di memoria a 64 bit LWORD internamente.

Sintassi della chiamata: DATE/DT/TOD_TO_< tipo di destinazione> ( <operando> )

Sintassi della chiamata: LDATE/LDT/LTOD_TO_< tipo di destinazione> ( <operando> )

Operando

Tipo di dati

Descrizione

Variabile o letterale

DATE | DATE_AND_TIME | DT | TIME_OF_DAY | TOD

LDATE | LDATE_AND_TIME | LDT | LTIME_OF_DAY | LTOD

Tipo di dati: DATE

Tabella 16. Operatori: DATE/DT/TOD_TO_<tipo di destinazione>

DATA_A_<tipo>

DT_TO_<tipo>

TOD_TO_<tipo>

Esempio

Valore di ritorno

Descrizione

DATE_TO___UXINT

DT_TO___UXINT

TOD_TO___XINT

__UXINT, __XINT, __XWORD

DATE_TO___XINT

DT_TO___XINT

TOD_TO___XINT

__UXINT, __XINT, __XWORD

DATE_TO___XWORD

DT_TO___XWORD

TOD_TO___XWORD

__UXINT, __XINT, __XWORD

DATE_TO_BIT

DT_TO_BIT

TOD_TO_BIT

BIT

DATE_TO_BOOL

DT_TO_BOOL

TOD_TO_BOOL

DATE_TO_BOOL(D#1970-1-1)
DATE_TO_BOOL(D#2019-9-1)
DT_TO_BOOL(DT#1970-1-1-0:0:0)
DT_TO_BOOL(DT#2019-9-1-12:0:0)
TOD_TO_BOOL(TOD#0:0:0)
TOD_TO_BOOL(TOD#12:0:0)

FALSE

TRUE

FALSE

TRUE

FALSE

TRUE

Se e solo se il valore dell'operando può essere interpretato come "0", allora l'operatore restituisce un FALSE.

BOOL

DATE_TO_BYTE

DT_TO_BYTE

DTOD_TO_BYTE

Integer

-

DT_TO_DATE

TOD_TO_DATE

Risoluzione in secondi (anche se viene visualizzato solo il giorno)

DATE_TO_DINT

DT_TO_DINT

TOD_TO_DINT

DATE_TO_DINT(D#1970-1-1)
DATE_TO_DINT(D#1970-1-2)
DATE_TO_DINT(D#2019-9-1)
DT_TO_DINT(DT#1970-1-1-0:0:0)
DT_TO_DINT(DT#1970-1-1-0:0:1)
DT_TO_DINT(DT#2019-9-1-12:0:0.0)
TOD_TO_DINT(TOD#0:0:0)
TOD_TO_DINT(TOD#12:0:0)

0

86400

1567339200

0

1

1567339200

0

43200000

Integer

DATE_TO_DT

-

TOD_TO_DT

Tipo di dati: DATE

DATE_TO_DWORD

DT_TO_DWORD

TOD_TO_DWORD

Integer

DATE_TO_INT

DT_TO_INT

TOD_TO_INT

Integer

DATE_TO_LDATE

DT_TO_LDATE

TOD_TO_LDATE

Tipo di dati: DATE

DATE_TO_LDT

DT_TO_LDT

TOD_TO_LDT

Tipo di dati: DATE

DATE_TO_LINT

DT_TO_LINT

TOD_TO_LINT

Integer

DATE_TO_LREAL

DT_TO_LREAL

TOD_TO_LREAL

REAL, LREAL

DATE_TO_LTIME

DT_TO_LTIME

TOD_TO_LTIME

Tipo di dati: DATE

DATE_TO_LTOD

DT_TO_LTOD

TOD_TO_LTOD

Tipo di dati: DATE

DATE_TO_LWORD

DT_TO_LWORD

TOD_TO_LWORD

Integer

DATE_TO_REAL

DT_TO_REAL

TOD_TO_REAL

REAL, LREAL

DATE_TO_SINT

DT_TO_SINT

TOD_TO_SINT

Integer

DATE_TO_STRING

DT_TO_STRING

TOD_TO_STRING

DATE_TO_STRING(D#1970-1-1)
DT_TO_STRING(D#1970-1-1-0:0:1)
TOD_TO_STRING(12:0:1)

'D#1970-1-1'

'D#1970-1-1-0:0:1'

'TOD#12:0:1'

STRING

DATE_TO_TIME

DT_TO_TIME

TOD_TO_TIME

Tipo di dati: DATE

DATE_TO_TOD

DT_TO_TOD

-

Tipo di dati: DATE

DATE_TO_UDINT

DT_TO_UDINT

TOD_TO_UDINT

Integer

DATE_TO_UINT

DT_TO_UINT

TOD_TO_UINT

Integer

DATE_TO_ULINT

DT_TO_ULINT

TOD_TO_ULINT

Integer

DATE_TO_USINT

DT_TO_USINT

TODE_TO_USINT

Integer

DATE_TO_WORD

DT_TO_WORD

TOD_TO_WORD

Integer

DATE_TO_WSTRING

DT_TO_WSTRING

TOD_TO_WSTRING

DATE_TO_WSTRING(D#1970-1-1)
DT_TO_WSTRING(D#1970-1-1-0:0:1)
TOD_TO_WSTRING(12:0:1)

"D#1970-1-1"

"D#1970-1-1-0:0:1"

"TOD#12:0:0"

WSTRING



Tabella 17. Operatori: LDATE/LDT/LTOD_TO_<tipo di destinazione>

LDATE_TO_<tipo>

LDT_TO_<tipo>

LTOD_TO_<tipo>

Esempio

Valore di ritorno

Descrizione

LDATE_TO___UXINT

LDT_TO___UXINT

LTOD_TO___XINT

__UXINT, __XINT, __XWORD

LDATE_TO___XINT

LDT_TO___XINT

LTOD_TO___XINT

__UXINT, __XINT, __XWORD

LDATE_TO___XWORD

LDT_TO___XWORD

LTOD_TO___XWORD

__UXINT, __XINT, __XWORD

LDATE_TO_BIT

LDT_TO_BIT

LTOD_TO_BIT

BIT

LDATE_TO_BOOL

LDT_TO_BOOL

LTOD_TO_BOOL

BOOL

LDATE_TO_BYTE

LDT_TO_BYTE

LTOD_TO_BYTE

Integer

LDATE_TO_DATE

LDT_TO_DATE

LTOD_TO_DATE

Secondi (anche se viene visualizzato solo il giorno)

Tipo di dati: DATE

LDATE_TO_DINT

LDT_TO_DINT

LTOD_TO_DINT

Integer

LDATE_TO_DT

LDT_TO_DT

LTOD_TO_DT

Tipo di dati: DATE

LDATE_TO_DWORD

LDT_TO_DWORD

LTOD_TO_DWORD

Integer

LDATE_TO_INT

LDT_TO_INT

LTOD_TO_INT

Integer

-

LDT_TO_LDATE

LTOD_TO_LDATE

Nanosecondi (anche se viene visualizzato solo il giorno)

Tipo di dati: DATE

LDATE_TO_LDT

-

LTOD_TO_LDT

Tipo di dati: DATE

LDATE_TO_LINT

LDT_TO_LINT

LTOD_TO_LINT

Integer

LDATE_TO_LREAL

LDT_TO_LREAL

LTOD_TO_LREAL

REAL, LREAL

LDATE_TO_LTIME

LDT_TO_LTIME

LTOD_TO_LTIME

Tipo di dati: DATE

LDATE_TO_LTOD

LDT_TO_LTOD

-

Tipo di dati: DATE

LDATE_TO_LWORD

LDT_TO_LWORD

LTOD_TO_LWORD

Integer

LDATE_TO_REAL

LDT_TO_REAL

LTOD_TO_REAL

REAL, LREAL

LDATE_TO_SINT

LDT_TO_SINT

LTOD_TO_SINT

Integer

LDATE_TO_STRING

LDT_TO_STRING

LTOD_TO_STRING

STRING

LDATE_TO_TIME

LDT_TO_TIME

LTOD_TO_TIME

Tipo di dati: DATE

LDATE_TO_TOD

LDT_TO_TOD

LTOD_TO_TOD

Tipo di dati: DATE

LDATE_TO_UDINT

LDT_TO_UDINT

LTOD_TO_UDINT

Integer

LDATE_TO_UINT

LDT_TO_UINT

LTOD_TO_UINT

Integer

LDATE_TO_ULINT

LDT_TO_ULINT

LTOD_TO_ULINT

Integer

LDATE_TO_USINT

LDT_TO_USINT

LTOD_TO_USINT

Integer

LDATE_TO_WORD

LDT_TO_WORD

LTOD_TO_WORD

Integer

LDATE_TO_WSTRING

LDT_TO_WSTRING

LTOD_TO_WSTRING

WSTRING



Conversione in una stringa

Gli operandi di tipo DATE, DATE_AND_TIME, TIME_OF_DAY, DT, o TOD, che vengono passati a un operatore per una conversione di dati e ora, vengono convertiti nella loro sintassi costante (sintassi letterale). La stringa generata contiene la parola chiave D#, DT# o TOD# e quindi la dimensione con i relativi dati e unità di tempo, come indicato nella specifica IEC 61131-3.

Esempio 176. Linguaggio di implementazione FBD

Il controllore è in modalità online per monitorare le variabili.

_cds_img_convert_dates.png