Mehrere Inhalte übergeben

Deep Blue

Level-2
Beiträge
431
Reaktionspunkte
17
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich erstelle gerade ein Programm, in dem 1. zwei Zeiten genutzt werden, 2. nur die erste Zeit genutzt wird oder 3. nur die zweite Zeit genutzt wird.
Der Fehler den ich mache ist mir klar, durch die zykl. Bearbeitung wird erst der 1. Inhalt übergeben und danach der 2. Dadurch kann ich oben eingeben was ich möchte, der letzte Inhalt überschreibt alles wieder.
Wie kann ich dieses Problem lösen?
Code:
U #Eingabe 1 da
U #Eingabe 2 da
L #Zeit der Eingabe 1
T #Merkerword [COLOR=red]1[/COLOR]
L #Zeit der Eingabe 2
T #Merkerword [COLOR=lime]2[/COLOR]
 
U #Eingabe 1 da
UN #Eingabe 2 da
L #Zeit der Eingabe 1
T #Merkerword [COLOR=red]1[/COLOR]
 
UN #Eingabe 1 da
U #Eingabe 2 da
L #Zeit der Eingabe 2
T #Merkerword [COLOR=lime]2[/COLOR]
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Code:
     U #Eingabe 1 da
     U #Eingabe 2 da
     SPB M01
     SPA M02
M01: L #Zeit der Eingabe 1
     T #Merkerword [COLOR=red]1[/COLOR]
     L #Zeit der Eingabe 2
     T #Merkerword [COLOR=lime]2[/COLOR]
[COLOR=black]M02: NOP 0[/COLOR]
 
     U #Eingabe 1 da
     UN #Eingabe 2 da
     SPB M03
     SPA M04
M03: L #Zeit der Eingabe 1
     T #Merkerword [COLOR=red]1[/COLOR]
M04: NOP 0
 
     UN #Eingabe 1 da
     U #Eingabe 2 da
     SPB M05
     SPA M06
M05: L #Zeit der Eingabe 2
     T #Merkerword [COLOR=lime]2[/COLOR]
M06: NOP 0

Gruß Kai
 
Code:
U #Eingabe 1 da
U #Eingabe 2 da
[COLOR=darkred]SPBN M001[/COLOR]
 
L #Zeit der Eingabe 1
T #Merkerword [COLOR=red]1[/COLOR]
L #Zeit der Eingabe 2
T #Merkerword [COLOR=lime]2[/COLOR]
 
[COLOR=darkred]M001:[/COLOR] U #Eingabe 1 da
UN #Eingabe 2 da
[COLOR=darkred]SPBN M002[/COLOR]

L #Zeit der Eingabe 1
T #Merkerword [COLOR=red]1[/COLOR]
 
[COLOR=darkred]M002:[/COLOR] UN #Eingabe 1 da
U #Eingabe 2 da
[COLOR=darkred]SPBN M003[/COLOR]

L #Zeit der Eingabe 2
T #[COLOR=black]Merkerword 2[/COLOR]
 
[COLOR=darkred]M003: NOP 0[/COLOR]

... versuch mal das ...
 
gleichzeitig

Hey Kai,
musst du IMMER gleichzeitig mit mir antworten ...? ;)


Upps , und Ralle auch noch ...
 
Vielen Dank an Euch, habt mir wie immer geholfen. :) Habe in einem Buch mal gelesen das daß verwenden von Sprüngen keine schöne Art der Programmierung ist. Da Ihr Sprünge benutzt frage ich mal wie Ihr das seht?
 
Habe in einem Buch mal gelesen das daß verwenden von Sprüngen keine schöne Art der Programmierung ist. Da Ihr Sprünge benutzt frage ich mal wie Ihr das seht?

Das verwenden von Sprungbefehlen ist nichts Böses. Oft hat man auch keine andere Alternative. Was ich persönlich schlimm finde ist das bedingte Bearbeiten ganzer Bausteine. Vor allen Dingen dann, wenn die beinhalteten Funktionen Ausgänge steueren und du im Fehlerfall herausfinden willst, wo das Problem war. Das ist dann mitunter reine Spekulation ...
 
Sprünge

Hi,
man nehme in FUP die MOVE Funktion.
Oder, man kann sich eine Lade-Transf.-FC schreiben, mit einem Freigabeeingang, um damit ohne Sprünge im eigentlichen Programm
arbeiten zu können. Für geforderte FUP Programmierung ist es sowieso nötig. Und vielleicht übersichtlicher auch in AWL, wenn da viele Sprungmarken vorhanden sind. Sprungmarken bringen Gefahr bei
Änderungen an laufende Anlagen: gleiche Sprungmarke-> Endlosschleife->
CPU Stop!!! Peinlich, aber alles schon passiert.

P.S. Nicht falsch verstehen: normalerweise nehme ich auch AWL und Sprünge, wollte nur andere Überlegungen bringen.

Gruss: Vladi
 
Zuletzt bearbeitet:
Jumps

Hi,
@larry: klar, wenn man die Sprünge ab Morgen verbieten würde,
kündige ich sofort und suche mir was anderes! :ROFLMAO:

Vladi
 
Vielen Dank an Euch, habt mir wie immer geholfen. :) Habe in einem Buch mal gelesen das daß verwenden von Sprüngen keine schöne Art der Programmierung ist. Da Ihr Sprünge benutzt frage ich mal wie Ihr das seht?

Ja, das war zu Dos-Basic-Programmierzeiten tatsächlich so der erste Lehrsatz, den man mitbekam. Da wurde oft wild im Programmcode hin- und hergesprungen. Tenor war aber immer, "Wenn es sich vermeiden läßt, dann ohne Sprünge". In AWL lassen sich manche Aufgaben gar nicht anders lösen, genau wie in Assembler und letzendlich wird ganz "unten" im Programmcode von Linux und Windows auch nichts anderes gemacht. Wichtig ist wie immer, Dokumentation und Kommentare!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
man nehme in FUP die MOVE Funktion.

Wenn man den FUP-Code aber als AWL-Code darstellt, hat man wieder Sprünge im Code. Und wie Ralle schon richtig geschrieben hat, sind Ladebefehle nicht vom VKE abhängig. Man muss also hier mit Sprüngen arbeiten.

Gruß Kai
 

Anhänge

  • FUP.jpg
    FUP.jpg
    39,5 KB · Aufrufe: 7
  • AWL.jpg
    AWL.jpg
    39,6 KB · Aufrufe: 7
Bedingte Bausteinbearbeitung

Hallo,

Was ich persönlich schlimm finde ist das bedingte Bearbeiten ganzer Bausteine.

Das ist nun wirklich nicht schlimm, manche Berechnungen, Aktionen etc. brauchen vielleicht nur gelegentlich durchgeführt werden. Insofern ist bedingte Bausteinbearbeitung schon durchaus sinnvoll. Nicht alle Bausteine müssen unbedingt jeden Zyklus durchgeeiert werden .... :rolleyes:

Vor allen Dingen dann, wenn die beinhalteten Funktionen Ausgänge steueren
In dem Fall allerdings sollte man den Programmierer mit einem dieser handlichen PG 670 standrechtlich erschlagen, die dumm Sau die :ROFLMAO:

Gruss

Question_mark
 
Do you speak ... ?

Hallo,

Ralle schrieb:
Ja, das war zu Dos-Basic-Programmierzeiten tatsächlich so der erste Lehrsatz, den man mitbekam. Da wurde oft wild im Programmcode hin- und hergesprungen. Tenor war aber immer, "Wenn es sich vermeiden läßt, dann ohne Sprünge".

Da hast Du schon früh auf dem falschen Basic-Pferd aufgesessen. Schon Jahre vorher gab es unter PCPM Turbo Pascal von Anders Hejlsberg auf 360kB Diskette für läppische 99,- US$. Also mit eingebautem Editor und Compiler ...
Sprünge in Pascal waren eigentlich sowas von überflüssig
(Naja, ganz ehrlich, damals war das doch viel Geld aber zum Vergleich mit dem UCSD Compiler der University of California, San Diego für 10.000 US$ ein Trinkgeld :ROFLMAO: ).
Dieser Compiler ist eigentlich schuld daran, dass ich beim Programmieren quasi klebengeblieben bin, ich wurde süchtig :ROFLMAO:

Ralle schrieb:
In AWL lassen sich manche Aufgaben gar nicht anders lösen, genau wie in Assembler

Das kann ich nur unterstreichen, AWL ist nun mal keine Hochsprache und eher verwandt zu Assembler. Da sind Sprünge (im Gegensatz zu Hochsprachen) durchaus sinnvoll und angebracht. Nein, besser gesagt sogar notwendig um effiziente Programme zu erstellen.
Aber Hochsprachen und SPS sind nun mal zwei verschiedene Schuhe (SCL lassen wir da jetzt mal weg, das ist eigentlich nur ein Werkzeug in meinen Augen. Aber kein schlechtes ;) ).

Gruss

Question_mark
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

Da hast Du schon früh auf dem falschen Basic-Pferd aufgesessen. Schon Jahre vorher gab es unter PCPM Turbo Pascal von Anders Hejlsberg auf 360kB Diskette für läppische 99,- US$. Also mit eingebautem Editor und Compiler ...
Sprünge in Pascal waren eigentlich sowas von überflüssig
(Naja, ganz ehrlich, damals war das doch viel Geld aber zum Vergleich mit dem UCSD Compiler der University of California, San Diego für 10.000 US$ ein Trinkgeld :ROFLMAO: ).

Na ja, als Ossi, hatte ich nicht gerade die Wahl der Mittel :ROFLMAO:!
Aber ich bin dann bei Turbo-Prolog von Borland hängengeblieben. Ich glaube ich programmiere heute manchmal noch so --> "Rückwärts durch die Brust ":ROFLMAO:. Aber du hast Recht, einen Pascal-Klon gabs auch für unsere PC1750 (oder wie das Teil hieß).
 
Zuletzt bearbeitet:
Zurück
Oben