Skip to main content

Sezione: IO

La definizione di input e output può essere eseguita in questa sezione. Tutti gli input e output definiti sono disponibili nel file Mappa 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

Per dettagli sulla sintassi dei tipi di definizione vedere: descrizione in Sintassi della dichiarazione del modulo.

. Specifica:
  • Il parametro Variable definisce il percorso dell'istanza di una variabile di input o di output.

  • Tutti i componenti del percorso per gli input devono essere variabili di input (o variabili locali nelle strutture). Anche tutti i componenti del percorso per gli output devono essere variabili di output (o variabili locali nelle strutture). La variabile deve essere di tipo dati primitivo o di tipo enum.

  • Una variabile può essere parametro e input/output allo stesso tempo. Una variabile non deve essere utilizzata da due I/O diversi.

  • L'obiettivo di un input O output La sezione deve identificare in modo univoco l'input o l'output. Non esiste distinzione tra maiuscole e minuscole.

  • Il parametro UpdateInTask determina l'attività per l'aggiornamento degli I/O. Se manca questo parametro, l'attività con il flag UPDATE_IOS sarà usato. Per i moduli di primo livello verrà creato un errore se l'attività specificata in UpdateInTask non è definito per il modulo.

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