Corosop15
Level-1
- Beiträge
- 459
- Reaktionspunkte
- 87
-> Hier kostenlos registrieren
Vielleicht macht er es ja mit Zuweisung und Selbsthaltung....
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
Da stimme ich Dir zu 100% zu.eigentlich meinte ich nicht das setzen eines "irgendwas", sondern
das Rangieren von einen Eingang auf einen Anderen. Das finde ich
mehr als Unglücklich. Eingänge als Variabel zu mißbrauchen ist unüblich,
U E0.0
= E108.2
Zitat aus #18 : (Kurzfassung )dafür gibt es andere Variabeln, wie Merker, Temponäre Variabeln oder
Variabeln in Datenbausteine. Das es funktioniert ist schön macht aber
in diesen Fall überhaubt keinen Sinn, nur um bei einer so Leistungsfähigen
Steuerung eine AWL Zeile zu spraren. Das hört sich an wie, ich nehme
jetzt mein Feuerzeug aus den Handschuhfach, bei einen Auto mit 350PS,
damit es schneller fährt.
Ich habe mir tatsächlich die Mühe gemacht, 1 freien - nicht über WORD oder DWORD- Zugriff im Progi abgearbeiteten Merker zu finden.
Für meinen "Stopp"- Taster habe ich die Verknüpfung über den DB1 beibehalten.
Ich mache nicht alles grundsätzlich mit "="Ist das dein Ernst alles immer nur mit "=".
Ich stelle mir gerade vor es gäbe kein S und kein R.
Meine Programme hätten viel mehr Zwischenmerker
und wären viel länger und unübersichlicher.
Nimm es mir nicht übel, aber ich bin über diese Zeile
mehr als verwundert.
Frank
U M0.0
U M0.1
SPB M001
= M0.2
M001: NOP 0
Übrigens mußte ich mich manchmal auch um das Rücksetzen eines "=" kümmern.
z.B.: wenn in AWL ein SPB / SPNB erfolgt
Dieser Code ist Off Topic !!
Er hat mit dem eigentlichen Thema nichts zu tun, erläutert nur meine Aussage !
Wenn die Bedingung für = M0.2 erfüllt wurde, ist der M0.2 = high. ( und bleibt es auch )Code:U M0.0 U M0.1 SPB M001 = M0.2 M001: NOP 0
Entspricht einem S M0.2
Mfg
*
M0.0 | M0.1 | VKE | SPB | M0.2
------+------+-----+-----+------
0 | 0 | 0 | 0 | 0
1 | 0 | 0 | 0 | 0
0 | 1 | 0 | 0 | 0
1 | 1 | 1 | 1 | 0
Ich mache nicht alles grundsätzlich mit "="
Wenn man aber ein "Set" verwendet, muß man sich auch um das "Reset" kümmern.
Für das Beispiel in #17 (!!!) hatte ich da Bedenken.
O E 0.0
O E 108.2
S #irgendwas
O E 0.0
O E 108.2
O #irgendwas
= #irgendwas
Wenn die Bedingung für = M0.2 erfüllt wurde, ist der M0.2 = high. ( und bleibt es auch )Code:U M0.0 U M0.1 SPB M001 = M0.2 M001: NOP 0
Entspricht einem S M0.2
Dann fehlt ein SET ansonsten ist die Bedingung ohne Sprung für die Zuweisung ja immer 0.
Aber wozu sollte man sowas tun? Wer macht Sprünge und führt innerhalb einer Sprunganweisung VKE abhängige Zuweisungen aus?
Gäbe es Bedingte Lade und Transferbefehle ich hätte glaub ich 90% weniger Sprünge. Da binde ich mir doch keinen Sprung ans Bein der nur VKE abhängige Anweisungen überspringt.
Kann so etwas Sinn Machen?
Wieso ist die Bedingung "immer 0" ??
Ein Bild sagt mehr als 1000 Worte...
vollmi schrieb:Ein nicht ausgeführter Sprung verändert das VKE nicht.
vl schrieb:niemals nicht, wird der merker M0.2 high sein!
U M0.0
U M0.1
SPB M001
= M0.2
M001: NOP 0
M0.0 | M0.1 | VKE | SPB | M0.2
------+------+-----+-----+------
0 | 0 | 1 | 0 | 1
1 | 0 | 1 | 0 | 1
0 | 1 | 1 | 0 | 1
1 | 1 | 1 | 1 | 0 *
* dieser Fall tritt nur ein wenn M0.0 & M0.1 beim OB1
anlauf auf "1" war oder nach diesen Anweisungen
der M0.2 zurück gesetzt wurde.
Format
SPB <Sprungmarke>
Operand Beschreibung
<Sprungmarke> Symbolischer Name des Sprungziels.
Beschreibung
Wenn VKE = 1, unterbricht SPB <Sprungmarke> den linearen Programmablauf und springt an das Sprungziel. Der lineare Programmablauf wird am Sprungziel fortgesetzt. Das Sprungziel wird durch eine Sprungmarke angegeben. Es kann sowohl vorwärts als auch rückwärts gesprungen werden. Sprünge können nur innerhalb eines Bausteins ausgeführt werden, d. h. die Sprunganweisung und das Sprungziel müssen innerhalb desselben Bausteins liegen. Das Sprungziel darf innerhalb dieses Bausteins nur einmal vorhanden sein. Die maximale Sprungweite liegt bei -32768 bzw. +32767 Wörtern des Programmcodes. Die tatsächliche maximale Anzahl der Anweisungen, die übersprungen werden können, hängt von der Kombination der Anweisungen innerhalb des Programms ab (Ein-, Zwei- oder Dreiwortanweisungen).
[COLOR=royalblue][B]Wenn VKE = 0, wird der Sprung nicht ausgeführt. Das VKE wird auf "1" gesetzt, und der Programmablauf wird mit der folgenden Anweisung fortgesetzt.[/B][/COLOR]
Statuswort
BIE A1 A0 OV OS OR STA VKE /ER
schreibt: - - - - - 0 1 1 0
Beispiel
AWL Erläuterung
U E 1.0
U E 1.2
SPB JOVR //Springe, wenn VKE = 1, zur Sprungmarke JOVR.
L EW8 //Der Programmablauf wird hier fortgesetzt, wenn der Sprung nicht ausgeführt wird.
T MW22
JOVR: U E 2.1 //Der Programmablauf wird nach dem Sprung zur Sprungmarke JOVR hier fortgesetzt.
Statuswort
BIE ! A1 ! A0 ! OV ! OS ! OR ! STA ! VKE ! /ER
-----+----+----+----+----+----+-----+-----+-----
- ! - ! - ! - ! - ! 0 ! 1 ! 1 ! 0
Warum jetzt das VKE "1" wird, liegt daran das bei VKE abhängingen
Sprungfunktionen das Statusbit und VKE auf "1" und OR und /ER auf "0"
gesetzt werden, auch bei nicht erfüllter Sprungfunktion.
Man muß nicht raten... ich habe die Grafik angehangen.Hallo,
Der nicht ausgeführte Sprung bei "SPB M001" setzt das VKE auf "1", und jetzt ratet mal, was der M 0.2 dann für einen Status hat ?
Gruß
Question_mark
Diese Art etwas Speichern zu machen ist mehr als ungünstig, also...
Es war ein Beispiel, KEIN Lösungsvorschlag für irgendwelche Sachen.
( und ich habe mit der Grafik gezeigt, das dieses Beispiel schief geht ! )
Es steckt kein "tieferer Sinn" dahinter ! <= für dieses Beispiel ist es leider so, daß eigentlich gar kein Sinn dahinter steht.... schön wäre ja zu erfahren unter welchen bedingungen der M0.2 gesetzt
werden soll und vor allen dingen wann er wieder zurück gesetzt werden
soll und welcher tiefere sinn dahinter steckt?
#23 => Dieser Code ist Off Topic !!
Dieses Beispiel habe ich auf Grund des Kommentars #17 ...
nur mal erwähnen wollen. ( siehe auch #18 )Zitat von "Helmut_von_der_Reparatur"
Code:
O E 0.0O E 108.2S #irgendwas
Warum muss mann es bei einfachsten Bitverknüpfungen schon so
kompleziert machen?
Zitatende von "Helmut_von_der_Reparatur"
_______________________________________________________________
Sehr geehrter "Helmut_von_der_Reparatur":
Ich wollte Dir nicht die Zeit oder Nerven stehlen...
Irgendwas ist da irgendwo "untergegangen".
Ich bedanke mich ganz herzlich für Deine sehr hilfreichen Kommentare und die Mühe...
Mfg
Es war ein Beispiel, KEIN Lösungsvorschlag für irgendwelche Sachen.Diese Art etwas Speichern zu machen ist mehr als ungünstig, also...
( und ich habe mit der Grafik gezeigt, das dieses Beispiel schief geht ! )
Es steckt kein "tieferer Sinn" dahinter ! <= für dieses Beispiel ist es leider so, daß eigentlich gar kein Sinn dahinter steht.
#23 => Dieser Code ist Off Topic !!
Dieses Beispiel habe ich auf Grund des Kommentars #17 ...
nur mal erwähnen wollen. ( siehe auch #18 )
_______________________________________________________________
Sehr geehrter "Helmut_von_der_Reparatur":
Ich wollte Dir nicht die Zeit oder Nerven stehlen...
Irgendwas ist da irgendwo "untergegangen".
Ich bedanke mich ganz herzlich für Deine sehr hilfreichen Kommentare und die Mühe...
Mfg
Wir verwenden essentielle Cookies, damit diese Website funktioniert, und optionale Cookies, um den Komfort bei der Nutzung zu verbessern.
Siehe weitere Informationen und konfiguriere deine Einstellungen