Skip to main content

Rubrique : IO

La définition des entrées et des sorties peut être effectuée dans cette section. Toutes les entrées et sorties définies sont disponibles dans le Mapper les E/S.

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

Pour plus de détails sur la syntaxe des types de définition, voir : description dans Syntaxe de la déclaration du module.

. Spécification:
  • Le paramètre Variable définit le chemin d'instance d'une variable d'entrée ou d'une variable de sortie.

  • Tous les composants du chemin des entrées doivent être des variables d'entrée (ou des variables locales dans les structures). Tous les composants du chemin des sorties doivent également être des variables de sortie (ou des variables locales dans les structures). La variable doit être un type de données primitif ou un type de données enum.

  • Une variable peut être à la fois paramètre et entrée/sortie. Une variable ne doit pas être utilisée par deux E/S différentes.

  • La cible d'un input ou output La section doit identifier de manière unique l’entrée ou la sortie. Il n'y a pas de sensibilité à la casse.

  • Le paramètre UpdateInTask détermine la tâche de mise à jour des E/S. Si ce paramètre manque la tâche avec le drapeau UPDATE_IOS sera utilisé. Pour les modules de niveau supérieur, une erreur sera créée si la tâche spécifiée dans UpdateInTask n'est pas défini pour le module.

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