Sektion: IO
In dieser Sektion werden die Eingänge und Ausgänge definiert. Alle definierten Eingänge und Ausgänge sind im E/As verbinden verfügbar.
SEC IO                                         //optional: yes, modifier: [UPDATE]
    SEC Input : <input identifier>             //optional: yes, modifier [HIDE,UPDATE]
            Variable :=  <variable name>;          //optional: no, type: InstancePath
            Name := <name>;                        //optional: no, type: text
            Desc := <description>;                 //optional: no, type: text
            UpdateInTask := <task name>;           //optional: yes, type: TaskRef
    END_SEC
    SEC Output : <output identifier>           //optional: yes, modifier [HIDE,UPDATE]
            Variable := <variable name>;           //optional: no, type: InstancePath
            Name := <name>;                        //optional: no, type: text
            Desc := <description>;                 //optional: no, type: text
            UpdateInTask := <task name>;           //optional: yes, type: TaskRef
    END_SEC
END_SECFür Details zur Syntax der Definitionstypen siehe: Syntax der Moduldeklaration beschrieben.
- Variableist der Instanzpfad einer Eingangsvariablen (Input) oder Ausgangsvariable (Output).
- Alle Komponenten des Pfads dürfen für Eingänge nur Eingangsvariablen sein (oder lokale Variablen bei Strukturen). Genauso dürfen die Komponenten des Pfads für Ausgänge nur Ausgangsvariablen sein (oder lokale Variablen bei Strukturen). Die Variable muss entweder einen primitiven Typ oder einen Enum-Typ haben. 
- Dieselbe Variable kann gleichzeitig Parameter und Ein-/Ausgang sein. Dieselbe Variable darf nicht von zwei verschiedenen E/As verwendet werden. 
- Das Target eines - Inputoder- OutputAbschnitts muss den Eingang oder Ausgang eindeutig identifizieren. (Groß-Kleinschreibung wird nicht unterschieden.)
- Der Parameter - UpdateInTaskbeschreibt die Task zum Aktualisieren der E/As. Wenn diese Definition fehlt, dann wird die Task mit dem Flag- UPDATE_IOSverwendet. Für Toplevel-Module ist es ein Fehler, wenn die bei- UpdateInTaskangegebene Task für das Modul nicht definiert ist.
SEC Io
        SEC Input : uiTemperature
                Variable := uiTemperature ;
                Name := TL_WeatherStation.NAME_iTemperature ;
                Desc := TL_WeatherStation.DESC_iTemperature ;
                UpdateInTask := Standard_Task : Medium;
        END_SEC
        SEC Output : uiLigh
                Variable := uiLightnessSouth ;
                Name := TL_WeatherStation.NAME_uiLightnessSouth ;
                Desc := TL_WeatherStation.DESC_uiLightnessSouth ;
                UpdateInTask := Standard_Task : Medium;
        END_SEC
END_S