Externe Variablen

Aus dem Echtzeit-Zyklus sind Lese-/Schreibzugriffe auf kanalspezifische und globale externe Variablen V.E.* möglich. Für einen Schreibzugriff muss die Variable als synchron definiert sein.

Programmierbeispiel

prg_example

Definition einer synchronisierten V.E.-Variablen

...

var[0].name                      VALUE1

var[0].type                      REAL64

var[0].scope                     GLOBAL

var[0].synchronisation           TRUE

var[0].access_rights             READ_WRITE

...

Nur synchronisierte Variablen dürfen in Echtzeit-Zyklen geschrieben werden.

Beim Lese-Zugriff einer V.E-Variablen hängt ihr Wert von ihrer Synchronisierung ab:

Programmierbeispiel

prg_example

Zugriffe auf V.E.-Variablen

; Variablen vorbelegen

V.E.SYNC = 47 ; synchrone Variable

V.E.ASYNC = 11 ; asynchrone Variable

; Echtzeit-Zyklus definieren

#RT CYCLE [SCOPE = PROG]

  ; nur einmal durch Anweisungen laufen

  $IF ONCE 1 < 2

    ; neuen Wert zuweisen

    V.E.SYNC = 99

    ; hat den Wert 198

    V.E.VALUE1 = 2 * V.E.SYNC

    ; V.E.ASYNC hat in diesem Echtzeit-Zyklus immer den Wert 11

    ; rechte Seite hat den Wert 22

    V.E.VALUE2 = 2 * V.E.ASYNC

  $ENDIF

#RT CYCLE END

; Hauptprogramm beenden

M30