Skip to main content

Surcharge

Surcharge

Astuce

La norme IEC 61131-3 ne prévoit pas de fonctions surchargées.

Si vous souhaitez programmer strictement selon IEC61131-3, vous devez utiliser les opérateurs de la syntaxe <type> _TO_ <another type> comme décrit dans les sections suivantes.

Les opérateurs convertissent les valeurs en d'autres types de données, en spécifiant explicitement uniquement un type cible (et aucun type de sortie pour les opérandes) (conversion surchargée).

Les règles pour les conversions typées s'appliquent également ici pour la surcharge.

La surcharge ne fait pas partie de la spécification CEI 61131-3.

Syntaxe d'appel: <TO_<type de cible> ( <opérande> )

Opérande

Type de données

Description

Variable, littéral

Type de données standard

Types de donnéesTypes de données

Tableau 10. Opérateurs de surcharge : TO_<type de données cible>

Opérateur

Exemple

Valeur de retour

Description

TO___UXINT

TO___UXINT(123.4)

123

__UXINT, __XINT, __XWORD

TO___XINT

TO___UXINT(123.4)

123

__UXINT, __XINT, __XWORD

TO___XWORD

__UXINT, __XINT, __XWORD

TO_BIT

BIT

TO_BOOL

TO_BOOL(0.001)

TRUE

BOOL

TO_BYTE

Integer

TO_DATE

Syntaxe: D#yyyy-MM-dd, DATE#yyyy-MM-dd

Type de données : DATE

TO_DATE_AND_TIME

TO_DT

TO_DT(0)

DT##1970-1-1-0:0:0

Syntaxe: DT#yyyy-MM-dd-hh:mm:ss, DATE_AND_TIME#yyyy-MM-dd-hh:mm:ss

Type de données : DATE

TO_DINT

Integer

TO_DWORD

Integer

TO_INT

TO_INT(4.22)

TO_INT(123.4)

4

123

Integer

TO_LDATE

Syntaxe: LDATE#yyyy-MM-dd

Type de données : DATE

TO_LDT

Syntaxe: LDT#yyyy-MM-dd-hh:mm:ss.sss

Type de données : DATE

TO_LINT

Integer

TO_LREAL

REAL, LREAL

TO_LTIME

Types de données de temps

TO_LTOD

Syntaxe: LTOD#hh:mm:ss.sssssssss

Type de données : DATE

TO_LWORD

Integer

TO_REAL

REAL, LREAL

TO_SINT

Integer

TO_STRING

TO_STRING(342)

'342'

STRING

TO_TIME

TO_TIME(SysTimeGetMs())

Heure système

Types de données de temps

TO_TOD

Type de données : DATE

TO_UDINT

Integer

TO_UINT

TO_UINT(D#2019-9-3)

44288

Integer

TO_ULINT

Integer

TO_USINT

Integer

TO_WORD

Integer

TO_WSTRING

TO_WSTRING('Hello World')

"Hello World!"

WSTRING