Prgramm ablauf problem

Noudels

Level-1
Beiträge
31
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Also ich bin jetz soweit fertig das mein Programm bzw das System bis auf eine kleinigkeit läuft.

Ich habe einen kran der kugeln auf eine bahn legt.
Aufruf zum starten
Code:
      U(    
      O     "Start"
      O     "M0.1"
      )     
      UN    "Stop"
      =     "M0.1"

Zeitglied für auf und abfahren
Code:
     U     "Start"
      L     S5T#34S
      SS    T      1
      U     "Stop"
      R     T      1
      NOP   0
      NOP   0
      U     T      1
      =     M      0.0
      R     "M0.1"

Fahren auf die position wo der kran aufnimmt

Code:
      U     M      0.0
      =     L     20.0
      U     L     20.0
      U     "Anschlag vorne"
      =     "Greifer retur"
      =     "Bahn runter"
      U     L     20.0
      U     "Anschlag rechts"
      UN    "Anschlag vorne"
      =     "Drehung rechts"
      U     L     20.0
      U     "Anschlag unten"
      UN    "Anschlag vorne"
      =     "Kran ab"
      U     L     20.0
      UN    "Anschlag vorne"
      R     "Greifer"

Fahren zum ablegepunkt
Code:
  U     "M0.1"
      =     L     20.0
      U     L     20.0
      U     "Anschlag oben"
      =     "Karn auf"
      U     L     20.0
      U     "Anschlag links"
      UN    "Anschlag oben"
      =     "Drehung links"
      U     L     20.0
      UN    "Anschlag oben"
      UN    "Anschlag links"
      U     "Anschlag hinten"
      =     "Greifer vor"
      U     L     20.0
      UN    "Anschlag vorne"
      UN    "Anschlag unten"
      S     "Greifer"


Das ganze soll der Kran jetz 4 mal machen
beim ersten mal rufe ich ihn händisch auf..
also bleiben 3 fahrten die er von alleine erledigen soll..
Wobei der abstand zwischen den fahrten ruhig sehr gross sein kann

Aber im moment hab ich eine hirnblockade, wie ich das lösen könnte
 
Du könntest nach jedem Zyklus einen Wert Inkrementieren und diesen dann vor einem erneuten Start abfragen oder ggf. den start deaktivieren.
 
Sorry der gast war ich :oops:


Bin gerade dabei die position über merker merker anzufahren
also ein merker wird aufgerufen..

M0.0
der kran nimmt
fährt auf ablege position
lässt aus
und Löscht M 0.0

Wenn 0.0 gelöscht wird setzt sich M0.1
lässt der kran aus
geht retur von der ablegepos
dreht nach unten
und am unteren punkt löscht sich M0.1 und setzt M0.0

und der spaß beginnt von neuem..
und das ganze nur solange solang M0.0
nicht öfter als 4 mal aufgerufen wurde..

aber obs wirklich so geht.. weiss ich noch nicht..versuch macht klug :idea:
 
ich denke du machst das mit einer schritkette. Die Schrittkette steht ja normalerweise im Initialschritt, wenn sie nicht grade abgearbeitet wird. Im ersten Schritt Inkrementierst du ein BYTE, WORD oder DWORD, je nachdem, wie oft sich der Zyklus wiederholen soll. Nun musst du deine Zählvariable mit den Sollzyklen vergleichen ist die Zählvariable kleiner aks die Sollzyklen kann deine Schrittkette durchlaufen werden und dein Kran verichtet seine Arbeit. Ist die Zählvariable gleich oder größer als dei Sollzyklen bleibt dein Kran stehen und deine Schrittkette springt in den Initialschritt, wo sie auf den nächsten Start wartet.
Code:
INIT: NOP 0
U KRANGS
U ALLESKLAR
U AUTOSTART
S SCHRITT1

U SCHRITT1
L ISTZYKLEN
L 1
+I
T ISTZYKLEN

L ISTZYKLEN
L SOLLZYKLEN
>=I
R AUTOSTART
SPB INIT

...
Nur mal so als kleiner Denkanstoss, du musst dir dann noch überlegen wo genau der Zähler Inkrementiert wird und wo du die Zählvariable wieder auf Null setzt.
 
Zurück
Oben