Hallo Waldemar,
der Lade- und Transferbefehl wird immer ausgeführt. Somit hast du immer den Wert von DW2 zum Starten des Timers. Du musst das DW0 bedingt beschreiben.
MfG
André Räppel
hallo,
ich hätte gerne bei Ihnen eine frage,
ich bin Anfänger in SPS bereich,
udn ich lerne noch S5 und S7
wenn hätten bischen Zeit, könnten Sie sagen, wo liegt meine Feller und warum ist so es.
Das ist Programm, wo mit Wahlschalter muss Zeit an Zeitglider geendert werden mus. Das ist alles in S5 geschriebn ist.
1) in OB1
SPA PB1
2) dann habe ich DB 1 gemacht
1: KT2.2
2: KT 5.2
3) PB1
Netz1
A DB 1
UN E 0.0
L DW 1
T DW0
U E0.0
L DW 2
T DW0
Netz2
U E0.0
L DW0
SE T1
=A0.0
grüß waldemar
Hallo Waldemar,
der Lade- und Transferbefehl wird immer ausgeführt. Somit hast du immer den Wert von DW2 zum Starten des Timers. Du musst das DW0 bedingt beschreiben.
MfG
André Räppel
hallo vielen Dank für deine Antwort,
ich möchte dich bitten, kannst du bitte es noch in AWL für mich zu schreiben, weil ich bin noch nur "jünger " Anfänger
grüß waldemar
Code:AUF DB 1 L DW 1 UN E 0.0 SPB M001 L DW 2 M001: NOP 0 T DW0 L DW0 U E 0.1 SE T 1 U T 1 //muss meiner meinung rein, zumindest bei S7 = A 0.0
hallo, danke für antwort, ich hätte gerne auch noch wiessen, ob gibt s dafür ein paar gutes bucher, wo steht gutes beschreibung über datenbaustein, weil mit datenbaustein komme noch nicht klar
oder internet seite als PFD datei
gruß waldemar
hallo ,
habe noch mal nachgesehen diese Lösung
ist diese ausruf
auf DB1
in Programmier sprache S7 oder S5
weil es siet so aus, das von S7
weil in s5 siet so aus
A DB1
oder denke ich Falsch?
gruß waldy
Hallo waldy
Das ist richtig!
In S5 heisst der Befehl: A DB1
In S7 heisst der Befehl: AUF DB1
Es gibt noch weitere Unterschiede zwischen S5 und S7
Adressierung:
S5 (Wortweise Adressierung)
DW0 -> besteht aus DL0 und DR0
DW1
DW2
DW3
S7 (Byteweise Adressierung)
DBB0
DBB1
DBB2
DBB3
Zugriff:
S5
A DB1
L DW0
T DW1
S7
Variante 1 (wie in S5)
AUF DB1
L DBW0
T DBW2
Variante 2 (vollqualifizierter Zugriff absolut)
L DB1.DBW0
T DB1.DBW2
Variante 3 (vollqualifizierter Zugriff symbolisch)
L "DB_Name".Symbolname1
T "DB_Name".Symbolname2
Gruss Martin
Hallo Waldy,
dann muss man noch beachten, dass man in
STEP5 in einem Programmbaustein (PB) keine
Sprung-Befehle schreiben kann.
Deshalb muss das Beispiel in STEP5 in einen
Funktionsbaustein (FB)geschrieben werden.
und noch ein kleiner Unterschied S7 <--> S5
bei STEP5 muss vor die Sprungmarke ein ' = '
also : SPB =M001&
Frage :
War das Anlegen des Datenbausteins DB1 ein Teil
einer Aufgabe, oder hast Du das so gelöst ?
Man könnte z.B. auch abhängig vom Wahlschalter einen
Zeitwert in ein Merkerwort schreiben und dann die Zeit
starten.
Viel Spass und Erfolg weiterhin
mfg.
Rolf
hallo Leute,
Danke alle zusammen für Ihre Hilfe,
ich habe Ihre alle Bemerkungen gemerkt und habe noch mal meine Programme noch mal geschrieben zu versuchen, es siet so aus.
Mit CPU 103 und PG von Siemens
Das ist Programm, wo mit Wahlschalter muss mit 2 verschiedene Zeiten an Zeitglider geendert werden mus. Das ist alles in S5 geschriebn ist.
Impuls für T1 kommt auf E0.0, Signal von wahlschalter auf E1.1 . Die zwei Zeiten: UN 1.1 zeit 1 Sek.; U E 1.1 - 5 Sek
1) in OB1
SPA PB1 -sprung PB1
SPA FB1 -sprung FB1
----------------------------------------------------
2) dann habe ich DB 1 gemacht
1: KT1.2 - 1Sekunder Zeit
2: KT 5.2 - 5Sekund
----------------------------------------------------
3) PB1
Netz1
A DB 1 -rufe DB auf
U E0.0 -Impulsstart für Zeitglider SE
L DW0 -lade zeitwerte aus DW0
SE T1
U T1
=A0.0
--------------------------------------------------------
4) FB1
Name hhhhh
A DB1
UN E1.1
SPB =M001
U E1.1
SPB=M002
M001:L DW1
T DW0
M002: L DW2
T DW0
also habe ausprobiert und weiss nicht warum, es ladet nur DW1, nichts anderes,
und ich möchte Ise bitten, bei Hilfe könnten Sie bitte volständige Lösung zu schreiben
gruß waldemar
Hallo Waldy,
ich denke ins DW0 wird immer DW2 geladen und nicht DW1, oder?
Du musst nach Deinem Sprung M001 die Anweisungen mit einem BEA (Bausteinende absolut) beenden, sonst wird immer der Anweisungsteil hinter M002 abgearbeitet.
Ändere Deinen Funktionsbaustein (FB) wie folgt ab:
Den Anweisungsteil kannst Du danach noch optimieren. Wir laden generell das DW1 ausser wenn E1.1 = "1" ist, dann springen wir über die Sprungmarke M001 und laden DW2 ins DW0. Der Transferbefehl brauchen wir nur einmal.Originally Posted by waldy
Greetz GonZOOriginally Posted by waldy
![]()
Bookmarks