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> )
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 |