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
InputoderOutputAbschnitts 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 FlagUPDATE_IOSverwendet. Für Toplevel-Module ist es ein Fehler, wenn die beiUpdateInTaskangegebene 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