Nella programmazione, una variabile è identificata dal suo nome e ha un indirizzo nella memoria del sistema di destinazione. Di conseguenza, i nomi delle variabili sono identificatori con cui viene indirizzata la memoria allocata. La dimensione della variabile è determinata dal suo tipo di dati. Determina la quantità di memoria riservata alla variabile e l'interpretazione dei valori in memoria. Il tipo di dati determina anche gli operatori consentiti.
In CODESYS esiste anche la possibilità di istanziare blocchi funzione. Le istanze dei blocchi funzione utilizzano la memoria come le variabili. Il requisito di memoria è determinato dal blocco funzionale.
Sono disponibili i seguenti gruppi di tipi di dati:
- 
                           
Tipi di dati standard
 - 
                           
Estensioni dello standard IEC 61131-3
 - 
                           
Tipi di dati definiti dall'utente
 
- 
                        Tipo di dati: BOOL
 - 
                        Tipi di dati interi
 - 
                        Tipo di dati: REALE, LREALE
 - 
                        Tipo di dati: STRINGA
 - 
                        Tipi di dati temporali
 - 
                        Tipi di dati di data e ora
 - 
                        Tipo di dati: ANY, ANY_<tipo>
 - 
                        Tipo di dati: VITE
 - 
                        Tipo di dati: BIT
 - 
                        Tipo di dati: __UXINT, __XINT, __XWORD
 - 
                        Tipo di dati: PUNTA A
 - 
                        Tipo di dati: RIFERIMENTO A
 - 
                        Tipo di dati: ARRAY DI
 - 
                        Tipo di dati definito dall'utente: TIPO
 - 
                        Tipo di dati: __VETTORE