Skip to main content

Section: IO

The input and output definition can be done in this section. All defined inputs and outputs are available in the Map I/Os.

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_SEC

For details on the syntax of the definition types see: description in Syntax of the module declaration.

. Specification:
  • The parameter Variable defines the instance path of an input variable or output variable.

  • All components of the path for inputs must be input variables (or local variables in structures). All components of the path for outputs also must be output variables (or local variables in structures). The variable must be primitive data type or enum data type.

  • A variable can be parameter and input/output at the same time. A variable must not be used by two different I/Os.

  • The target of an input or output section must uniquely identify the input or output. There is no case sensitivity.

  • The parameter UpdateInTask determines the task for updating I/Os. If this parameter is missing the task with the flag UPDATE_IOS will be used. For toplevel modules an error will be created if the task specified in UpdateInTask is not defined for the module.

Example 19. Example
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