DB automatisch auslesen? abhägig vom MW-Zustand

A

Anonymous

Guest
Zuviel Werbung?
-> Hier kostenlos registrieren
wie kann ich einen datenbaustein so auslesen, dass ich die bitposition vom merkerword abhängig mache?

z.B.
mw = 0000 0000 0000 0001

datenbaustein1 lese automatisch datenbit 1

mw = 0000 0000 0000 0010

datenbaustein1 lese automatisch datenbit 2 usw..
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ich wollte im offenen datenbaustein gehen (auf DB1), und
ein MerkerWORD z.B. (MW2) mit dem inhalt binär (0000_0000_0000_0001) was das selbe ist wie 1 dezimal. das MerkerWORD erhöht sich abhängig vom Zähler Z1.

nun soll für die Zahl 1 die selbe bitadresse des datenbaustein1 gelesen werden für den wert 2 soll im selben datenbaustein1 die bitadresse 2 gelesen werden. meinetwegen in den ausgang a0.0 und so wie sich der wert vom zähler erhöht soll sich die adresse im datenbaustein auch immer erhöhen, so das immer von der folgenden adresse der wert ausgelesen wird

wenn 1 = adresse 1
wenn 2 = adresse 2 usw.
 
wieviele adresse brauchst du denn????

sonst könntest du das ja mit sprüngen machen

aber wenns zuviel wird musst du wohl mit pointern arbeiten
 
Hallo ac,

vieleicht so?

L MW 2
SLW 3 um Byteadresse aus AR1 zu erhalten
T AR1
L DBW[AR1,P#0.0] oder auch DBX, P#0.0 wird als Offset benutzt

so würde aus dem MW2 eine Zahl gelesen, diese um 3 Stellen nach links
verschoben.Dadurch Steht im AR1 eine Byteadresse.Die frei werdenden
3 Stellen werden zu null.
z.B. MW2=
00000000 00000101 ergib 5 -->SLW3--> 00000000 00101000 -->übertragen ins AR1-->5.0
Dann Offset-Pointer P#0.0-->0.0 "plus" 5.0 ergibt 5.0
Also Datenwort 5 im DB1 geladen.
Das gleiche kann man auch als Bitabfrage erstellen.

Hoffentlich hilfts
Gruß
Christian
 
Zurück
Oben