Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
41
Добавлен:
11.10.2020
Размер:
3.04 Mб
Скачать

Adressen...

10.12 Adressen...

Achtung: Wenn Online Change angewendet wird, können sich Inhalte von Adressen verschieben. Beachten Sie dies bei der Verwendung von Pointern auf Adressen.

Adresse

Die direkte Darstellung einzelner Speicherzellen erfolgt mittels spezieller Zeichenreihen. Diese entstehen aus der Konkatenation des Prozentzeichens "%", einem Bereichspräfix, einem Präfix für die Größe und einem oder mehreren natürlichen Zahlen, die durch Leerzeichen voneinander getrennt sind.

Folgende Bereichspräfixe werden unterstützt:

I Eingang

Q Ausgang

M Merker

Folgende Präfixe für die Größe werden unterstützt:

X Einzelbit

None Einzelbit

B Byte (8 Bits)

W Wort (16 Bits)

D Doppelwort (32 Bits)

Beispiele:

 

%QX7.5 und

Ausgangsbit 7.5

%Q7.5

 

%IW215

Eingangswort 215

%QB7

Ausgangsbyte 7

%MD48

Doppelwort an der Speicherstelle 48 im Merker

Ob eine Adresse gültig ist, hängt von der aktuellen Steuerungskonfiguration des Programms ab.

Hinweis: Boolesche Werte werden byteweise alloziert, wenn die nicht explizit eine Einzelbitadresse angegeben wird. Beispiel: Eine Wertänderung von varbool1 AT %QW0 betrifft den Bereich von QX0.0 bis QX0.7.

siehe hierzu auch Kapitel Anhang A, IEC Operatoren und zusätzliche normerweiternde Funktionen, Adressoperatoren

Merker

Man kann alle unterstützten Größen für den Zugriff auf den Merker benutzen.

Zum Beispiel würde die Adresse %MD48 die Bytes Nr. 192, 193, 194 und 195 im Merkerbereich adressieren (48 * 4 = 192). Das erste Byte ist das Byte Nr. 0.

Ebenso kann man auf Worte und Bytes und sogar auf Bits zugreifen: Mit %MX5.0 etwa greift man auf das erste Bit im fünften Wort zu (Bits werden in der Regel Wort weise abgelegt).

siehe hierzu auch Anhang A, IEC Operatoren und zusätzliche normerweiternde Funktionen, Adressoperatoren

10-30

CoDeSys V2.3

10 - ANHANG

10.13 Funktionen...

Im ST kann auch ein Funktionsaufruf als Operand auftreten.

Beispiel:

Ergebnis := Fct(7) + 3;

TIME()-Funktion

Diese Funktion liefert die Zeit auf Millisekunden-Basis, die seit Systemstart vergangen ist. Der Datentyp ist TIME.

Beispiel in AWL:

TIME

ST systime (* Ergebnis z.B.: T#35m11s342ms *)

Beispiel in ST:

systime:=TIME();

Beispiel in FUP:

CoDeSys V2.3

10-31

Funktionen...

10-32

CoDeSys V2.3

Соседние файлы в папке 759-333