Operand D ?

X

XP-M

Guest
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo wieder mal ne wahrscheinlich leicht zu beantwortende Frage von mir....

Bin in einem Netzwerk eines PB's auf Operanden D gestossen, die scheinbar nicht nur bis .7 sondern höher adressierbar sind.

Das einzige was ich bisher gefunden habe:
"Daten D Sind zur Speicherung digitaler Zwischenergebnisse vorgesehen."
Was mich allerdings nicht wirklich weiterbringt.... :cry:

Hier mal ein kurzer Auszug:
:U D 1.8
:= M 240.0
:U D 1.9
:= M 240.1
:L DL 10
:T MW 220
:L KH 0000
:><F
:U D 2.7
:SPB FB 239
Name :FW-PRUEF
FW : KF +00025
:
:AX DX 163
:U D 2.14
:= M 200.0
:U D 1.9
:UN M 240.0
:= M 201.0
:
:AX DX 165
:U D 2.14
:= M 200.1
:U D 0.9
:UN M 240.0
:= M 201.1

Der "D 1.9" z.B. wird nirgends gesetzt oder auf = gestellt, sondern nur abgefragt und rückgesetzt laut Querverweisliste..
:?: Wie soll dieser Operand HIGH werden ?

Wie sind diese "D's" zu handlen ? Grundsätzlich so wie Merker ?
Bloss welche Addressierung .....

Fragen über Fragen..... Wäre sehr froh wenns Online ein Glossary geben würde, wo ich hin und wieder nachschlagen könnte....Ansonsten werd ich hier wohl doch noch Stammgast :p

Gruß, Matthias.
 
D

Hallo,

das sind Datenbits. Diese können auch byte- und wortweise beschieben werden. Da die S5 in DBs wortorientiert adressiert gehts von Dx.0 bis Dx.15

MfG
André Räppel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
es handelt sich um ein bit eines datenwortes. verfügbar in den grösseren steuerungen der s5 z.b. cpu135.
adressierbar von dx.0 bis dx.15.
du kannst dieses genauso handhaben wie einen merker.


//edit
da war ich wohl einen tick zu langsam. :wink:
 
Hallo Matthias,

ein Datenwort ( z.B. DW 2 ) hat 15Bit.
Das High- Byte wird mit Daten- Links ( z.B. DL 2 ) bezeichnet und besteht aus den Bits D 2.15 bis D 2.8.
Das Low- Byte wird mit Daten- Rechts ( z.B. DR 2 ) bezeichnet und besteht aus den Bits D 2.7 bis D 2.0.

Die Zuweisung die du vermisst kann wort- oder byteweise erfolgen.

Weil es bei der S5 mehr als einen Datenbaustein ( DB oder DX ) geben kann, muss der entsprechende DB vorher aufgerufen werden.
Dieser Aufruf erfolgt mit:

A DB 10 (Aufruf Datenbaustein DB10 )
oder
AX DX 20 ( Aufruf Datenbaustein DX 20 )

Gruß Wilfried
 
Besten Dank für die schnelle Hilfe :D

:AX DX 125 DX FW 25
: --------------------------------
:U D 1.8 Start ADV
:= M 240.0
:U D 1.9 Nlz soll laufen
:= M 240.1

Einen direkten Aufruf eines Datenbits so wie bei S7 (U DB500.DBX0.0) gibt es bei der S5 nicht ?
Also erstmal A DB oder DX (Befehl AX gleich A ??), und danach beziehen sich alle D's auf den zyklisch vorher aufgerufenen DB bzw. DX.


Bei S7 ist's ja wirklich kein Thema, aber bei der S5 tauchen bei mir immer wieder Fragen auf - sollte evtl. mal doch noch ein schlaues Büchlein bestellen....

Danke für die Geduld :oops:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Matthias,

Richtig, bei S5 gibt es keine direkte Adressierung.
Bei DB's heißt es "A DB 10" und bei einem DX dann "AX DX 10".

Die DX sind von Siemens erst später erfunden worden, daher die etwas andere Bezeichnung.

Um die S5 besser kennen zu lernen versuch mal von jemanden eine Kursunterlage von Siemens zu bekommen. Sind meiner Meinung nach leichter Verständlich als die Bücher.

Gruß Wilfried
 
@old_willi
ein Datenwort ( z.B. DW 2 ) hat 15Bit.
das solltest du aber nochmal überdenken. :wink: :wink:

XP-M schrieb:
Also erstmal A DB oder DX (Befehl AX gleich A ??), und danach beziehen sich alle D's auf den zyklisch vorher aufgerufenen DB bzw. DX.

genauso ist es.
wenn du z.b. ein dw aus einem db in einen anderen transferieren willst must du das so machen.

Code:
A DB 10
L DW 10
A DB 11
T DW 11

oder so

A DB 10
U D 10.0
A DB 11
= D 11.0
 
Zuviel Werbung?
-> Hier kostenlos registrieren
XP-M schrieb:
Einen direkten Aufruf eines Datenbits so wie bei S7 (U DB500.DBX0.0) gibt es bei der S5 nicht ?
Nee, aber darüber braucht ihr nicht traurig zu sein. Aus:
U DB500.DBX0.0
U DB500.DBX0.1
macht Step7 nämlich intern auch den Maschinencode:
AUF DB500
U DBX0.0
AUF DB500
U DBX0.1
 
wenn wir grad bei dem thema sind wäre vieleicht folgende information noch interessant, welche den aufruf von db´s betrifft:

(ich vermute das das bei allen s5 ist, aber sicher weiß ich es nur von der 95U)

wenn fb1 zb. den db10 öffnet, wird in fb1 ab diesem befehl ja bkanntlich mit db10 gearbeitet bis ein anderer db aufgerufen wird.

öffnet fb1 aber den db10, und ruft danch den fb2 auf, in welchem db20 geöffnet wird, ist nach dem rücksprung aus fb2 im fb1 wieder db10 aktiv, obwohl die sps eigentlich zuletzt den db20 geöffnet hat.

hat zwar nichts direkt damit zu tun, aber wenn XP-M sich gerade dabei verausgabt ein s5 programm zu verstehen, wird die info vielicht nützlich sein...
 
hallo

in S5 bleibt immer der zuletzt aufgerufene
DB aktuell,
wenn du rückspringst in den vorherigen FB
dann mußt du eben nach dem einsprúngpunkt einfach nochmal
A DB... setzen
gruß
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@Zottel

richtig, aber die Querverweise sind bei U DB500.DBX2.5 nur auf dieses Bit gerichtet, also sind qualifizierte Zugriffe auch sinnvoll.

Ein Befehl wie D2.5 verbraucht meines Wissens Unmengen an Zykluszeit, also nicht zu oft nutzen, besser ist Umtransfer auf einen Schmiermerker.
 
Zurück
Oben