-> Hier kostenlos registrieren
Hallo zusammen,
ich habe gerade angefangen mich in die SPS-Programmierung einzuarbeiten und habe Schwierigkeiten mit der Organisation der Adressen. Hoffe hier kann mir weitergeholfen werden.
Studiere ET und habe eine WAGO-750 vor mir. Nun habe ich in Codesys die Steuerung konfiguriert (DI 2 Kanal, DI 4 Kanal, 2x DO 8 Kanal, DO 4 Kanal, Serielle Klemme)
Daraufhin habe ich mir die zugehörigen Adressen angeschaut:
DI 2 Kanal: IX3.0, IX3.1
DI 4 Kanal: IX3.2 ... IX3.5
DO 8 Kanal: QX3.0 ... QX3.7
DO 8 Kanal: QX3.8 ... QX3.15
usw..
Bitweiser Zugriff stellt für mich kein Problem dar. Nun habe ich beispielsweise 2 * 8 LED's, die ich als ganzes jeweils ein oder ausschalten möchte (Blinklicht mit 2 LED-Feldern, anstatt zwei einzelner LED's). Ich benötige als zwei Bytes. Ich schliesse die 16 LED's so an, dass die ersten 8 durch QX3.0 bis QX3.7 und die anderen 8 durch QX3.8 bis QX3.15 erreichbar sind.
Wie deklariere ich nun zwei Variablen, die diese Speicherbereiche beschreiben?
Für das erste LED-Feld würde ich schreiben:
und hoffe, dass QB3 den Bereich QX3.0...QX3.7 beschreibt
Nur wie sieht es jetzt mit Feld 2 aus?
Ist nicht QB4 der Bereich QX4.0...QX4.7??
Ich hoffe ihr könnt mir zeigen, wie das funktioniert.
Danke schonmal
Mfg, SlowDown
ich habe gerade angefangen mich in die SPS-Programmierung einzuarbeiten und habe Schwierigkeiten mit der Organisation der Adressen. Hoffe hier kann mir weitergeholfen werden.
Studiere ET und habe eine WAGO-750 vor mir. Nun habe ich in Codesys die Steuerung konfiguriert (DI 2 Kanal, DI 4 Kanal, 2x DO 8 Kanal, DO 4 Kanal, Serielle Klemme)
Daraufhin habe ich mir die zugehörigen Adressen angeschaut:
DI 2 Kanal: IX3.0, IX3.1
DI 4 Kanal: IX3.2 ... IX3.5
DO 8 Kanal: QX3.0 ... QX3.7
DO 8 Kanal: QX3.8 ... QX3.15
usw..
Bitweiser Zugriff stellt für mich kein Problem dar. Nun habe ich beispielsweise 2 * 8 LED's, die ich als ganzes jeweils ein oder ausschalten möchte (Blinklicht mit 2 LED-Feldern, anstatt zwei einzelner LED's). Ich benötige als zwei Bytes. Ich schliesse die 16 LED's so an, dass die ersten 8 durch QX3.0 bis QX3.7 und die anderen 8 durch QX3.8 bis QX3.15 erreichbar sind.
Wie deklariere ich nun zwei Variablen, die diese Speicherbereiche beschreiben?
Für das erste LED-Feld würde ich schreiben:
Code:
LEDFELD_1 AT%QB3 : BYTE;
und hoffe, dass QB3 den Bereich QX3.0...QX3.7 beschreibt
Nur wie sieht es jetzt mit Feld 2 aus?
Code:
LEDFELD_2 AT%QB4 : BYTE;
Ist nicht QB4 der Bereich QX4.0...QX4.7??
Ich hoffe ihr könnt mir zeigen, wie das funktioniert.
Danke schonmal
Mfg, SlowDown