Skip to main content

部分:IO

输入和输出定义可以在本节中完成。所有定义的输入和输出都可以在 映射 I/O

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

有关定义类型语法的详细信息,请参阅:中的描述 模块声明的语法

. 规格:
  • 参数 Variable 定义输入变量或输出变量的实例路径。

  • 输入路径的所有组件都必须是输入变量(或结构中的局部变量)。输出路径的所有组件也必须是输出变量(或结构中的局部变量)。该变量必须是原始数据类型或枚举数据类型。

  • 变量可以同时是参数和输入/输出。一个变量不得由两个不同的 I/O 使用。

  • 的目标 input 或者 output 部分必须唯一标识输入或输出。不区分大小写。

  • 参数 UpdateInTask 确定更新 I/O 的任务。如果缺少该参数则带有flag的任务 UPDATE_IOS 将会被使用。对于顶级模块,如果指定的任务将产生错误 UpdateInTask 没有为模块定义。

19. 例子
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