Automatiksequenzen richtig programmieren

Zuviel Werbung?
-> Hier kostenlos registrieren
Das ist doch mal wieder ausgemachter Schwachsinn, den du da an den Mann bringen willst! Die IEC 61131 schreibt für Schrittketten keine Sprache vor, sie empfiehlt lediglich AS!

Darüber hinaus reden wir hier von S7-Programmierung, wie wenig und wieviel die mit der IEC 61131 zu tun hat sollte dir als Normenkasper doch auch bekannt sein!

Wenn in FUP programmiert werden soll, dann hat das nichts mit der Fähigkeit des Programmierers zu tun, sondern mit der Schaffung von verständlichen Code für eine breite Masse an Servicepersonal, die hier offensichtlich mit einer AWL-Programmierung einen Fehler nicht so schnell finden könnten. Und vergiss den Einwand, dass solche Leute nichts an einem PG verloren haben. Dann würde es ihnen genauso gehen wie dir!

Einen guten Programmierer zeichnet aus, dass er dem Kundenwunsch entsprechen kann und die Lösungen von Problemem in einer Vielzahl von Abbildungsformen umsetzen kann!

Statt hier den Clown zu machen solltest du vielleicht etwas Konstruktives zur Diskussion beitragen!

so, nun zum thema:

Code:
*
[B]Netzwerk 1[/B]
 
      U(    
      L     #Schritt
      L     0
      ==I   
      )     
      U     #A_steht
      UN    #A_STOER
      U(    
      O     #BAA
      O     #BAH
      )     
      U     #M_START
      =     L      1.0
      U     L      1.0
      SPBNB _001
      L     1
      T     #Schritt
_001: NOP   0
      U     L      1.0
      SPBNB _002
      L     10
      T     #Zeit
_002: NOP   0
 
[B]Netzwerk 2[/B]
 
      U(    
      L     #Schritt
      L     1
      ==I   
      )     
      UN    #A_STOER
      U(    
      L     #Zeit
      L     0
      <=I   
      )     
      U(    
      O     #BAA
      O     #BAH
      )     
      =     L      1.0
      U     L      1.0
      SPBNB _003
      L     2
      T     #Schritt
_003: NOP   0
      U     L      1.0
      SPBNB _004
      L     25
      T     #Zeit
_004: NOP   0

hab ich gerade in einem Programm gefunden, läßt sich Problemlos in FUP wandeln. So sollte es funktionieren, bei uns tut es das zumindest. Die Schrittnummer wird am Ende noch verglichen und ermöglicht die einzelnen Funktionen bzw. Schritte. (schön ist aber nicht :rolleyes:)

Nach meinen Beispiel arbeiten auch Firmen wie Christ usw.
Von denen habe ich diese Technik übernommen.
Ein grosses Problem stellt bei deinen Biespiel später die Übersichtlichkeit dar. Kommen hier noch die Funktionen rein ergeben sich nach meinen Erfahrungen meist Netzwerke die mehrere Din A4 Seiten füllen.
Aber Meinungen und Erfahrungen können auseinder gehen.
 
offtopic
@Beren: Mit welcher Begründung lehnt dein Chef eigentlich Graph7 ab?

Für die Störungssuche durch einen Schichtmann finde ich das die bessere Alternative als eine Schrittkette in FUP(AWL).
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich hätte die Programmierung zwar auch lieber in Graph7 gemacht, aber wenn es FUP sein muss, vielleicht hilft das Folgende weiter. Es arbeitet allerdings nicht mit SR-Merkern, läßt sich aber leichter visualieren. ;-)

Wie wär es, nicht die Antriebe von Hand zu fahren, sondern die Schrittkette in Hand und Automatik zu betreiben. In Hand wird vom Bediener der Schritt mit der geforderten Bewegung ausgewählt und per Tastendruck eingeschaltet, der ist dann so lange aktiv, bis "Stop" gedrückt wird, oder die Endlage erreicht ist.
Dazu werden die Schritte als Nummer in einem Integer verwaltet. Das Weiterschalten erfolgt im FUP durch ein "Move", an dessen "EN"-Eingang die Transition und ein Vergleicher: akt. Schrittnummer == vorheriger Schritt hängen. An den Eingang des "Move" kommt die neue Schrittnummer, an den Ausgang die Variable mit der Schrittnummer. Zusätzlich hängt neben dem "EN" ein "Abzweig" mit einer setzenden Zuweisung zu einem Bitmerker "Endlage". Wobei das selbe Bit bei allen Schritten einer Kette verwendet wird. Dieses Bit wird im Netzwerk vor Schritt 1 zurückgesetzt.
Ist die Kette im Handbetrieb, gibt es einen Merker "Hand_EIN" (oder so), diesen setzt der Bediener durch Tastendruck auf "Start". Das Rücksetzen erfolgt durch das oben beschriebene Endlagen-Bit oder durch den Stop-Taster. Jetzt kann der Bediener eine Schrittnummer einstellen, und diesen dann per "Start" aktivieren. Beim Umschalten in den Automatikbetrieb macht die Kette genau an der Stelle weiter, wo sie in Hand stehengeblieben ist, es kann sogar umgeschaltet werden, wenn der Handschritt noch aktiv ist.
Bei der Ansteuerung der Antriebe, muss dann auf die passende Schrittnummer verglichen werden und, ob AUTO oder HAND und dann "Hand_EIN" aktiv ist.

Ich hoffe ich mißversändlich genug ausgedrückt.

Bis dann
 
...

Er lehnt es ab, da wir eine Lizenz kaufen müssten UND weil er Schrittketten immer in FUP programmiert hat (er war bis vor 3 Jahren Inbetriebnehmer)
...
Das jemand keine Lizenz für Graph kaufen will. OK.
Aber ein Programm NUR in FUP zu schreiben. Naja. Eure Sache. Ich denke es gibt Dinge die sind einfach besser (oder nur) in AWL lösbar.
Es sei denn man kauft noch eine Lizenz für SCL.
 
Hallo zusammen,

also wie man die Schrittkette realisiert ist doch nun völlig Hupe. Alle Sprachen haben ihr Vor- und auch Nachteile. UNd schlechte und gute Programmierer kann man sicher nicht an der verwendetet Sprache festmachen. Wichtig ist immer noch eine gut durchdachte Struktur. Die Umsetzung sollte dann jeder Hinbekommen.

Übrigends stehtt in BAs in der Regel ein Text wie sollte standradmässig verwendet werdem o.ä.. Das aht auch bestimmt seinen guuten Grund. Bei uns sollte auch möglichst viel in FUP programmiert werden, aber z..B. bei Berechnungen macht das einfaach keinen Sinn, und dass sollte auch jeder einsehen.

Ich würde miir überlegen eine grosse Schrittkette anzulegen, und von dort dann in Unterschrittketten zu verzweigen.

So kann im Wartungsfall jede Teilsteuerung gefahren werden, ohne die ganze Keette starten zu müssen. Zum Start der Gesamtkette müssen dann alle Teilsteuerungen in automatik stehen.

Im Handmodus ist es dann so möglich alle Antriebe händisch zu fahren ider Ventile auf und zu zufahren. Sicherheitsverriegelungen sind müssenja äh immer aktiv sein.

Solange man sich in einem Schritt befindet, kann man ja trotzdem die Weiterschaltbedingung über ein manuell bit stillegen. Dann kan man Teile von Hand fahren und wenn man wieder einen "normalen" Zustand erreicht hat, geht ddie Automatik weiter. An den transitionsbedingungen ändert sich na nix, also kann die Automatik ihre Funktion auch weiteerhin wie gewohnt ausführen. egal wo man sie hingesstellt hat, belibt das Ziel jaa das gleiche.

Gruß

Mütze
 
Was passiert, wenn durch Handbedienung 2 Schritte übersprungen wurden?

Nunja, die Weiterschaltbedingungen sind doch dann sofort erfüllt wenns in der Automatik weitergeht. Also werden die Schritte sofort übersprungen und das Programm arbeitet an der Stelle weiter, wo die Schritte nicht erfüllt sind. (Ist natürlich abhängig davon wie der Prozess ist)

Gruß

Mütze
 
Mütze, das gefällt mir sehr gut. Schrittkette über Auto/Manuell Bit still legen aber Schrittmerker aktiv lassen.
Werd mir das mal genauer ansehen...
Weil: Was passiert, wenn durch Handbedienung 2 Schritte übersprungen wurden? Aber auch dafür gibt es sicherlich einen Workaround... Man könnte die Kette bei Handbedienung jeweils die Schritte mitlaufen lassen, aber die Ausführung mit dem Auto/Man Bit verunden. Mal sehn.

Gruß
Beren

Hallo Beren,

meinst du hier den sog. Tippbetrieb? Weil das widerspricht sich gerade mit dem was du oben als Philisophie beschreiben hattest:

HTML:
 Deine Idee ist für unsere Anforderungen nicht praktikabel. In unserer Bedienphilosophie unterscheiden wir zwischen
 
- Automatikbetrieb
- Handbetrieb (Bedienungen aller einzelnen Aggregate mit Endlagenüberwachungen, Verriegelungen)
- Wartungsbetrieb (Bedienung aller Aggregate ohne Verriegelungen


Dann kannst du es mit schrittspezifischen Hand/Auto Bit's machen. Die Lösung mit einem "TippMerker" für die gesamte Schrittkette wäre halt immer nur von Schritt zu Schritt, du kannst nicht einstellen, wie weit die Kette Automatisch und ab wo sie im Tippbetrieb läuft.
Die Schrittmerker können ja stehen bleiben, bzw. würde ich sie erst durch die Grundstellungsfahrt (eigene kleine Schrittkette) wieder auf den Initialschritt zurücksetzen.
Ob durch die Eingänge ein eindeutiger Zustand (Schrittmerker) angefahren werden kann, können wir von hieraus nicht sagen, aber du kannst es auch mal prüfen.

Wie werden die Aktoren bei euch angesteuert, habt ihr Standardbausteine oder wird das auch alles in FUP/KOP-Netzwerken ausprogrammiert?

FUP/KOP ist imho gar nicht so schlecht, wenn ein gute Schrittkettenstruktur da ist. Wenn du aus deiner Schrittketten mehrfach-aufrufbare FB's machen willst, weil vielleicht das gleiche Maschinenmodule 5-mal vorkommt, ist eher einfacher als in GRAPH-7, das hat da nämlich sein Tücken.


hoffe geholfen zu haben :)
 
@Mütze: Nicht unbedingt. Durch Handbedienung kann z.B. der Bundwagen schon weider aus dem Bereich sein oder ähnliches, da mehrere Schritte durch Handbedienung übersprungen wurden...
Die Bedienungen sind ja sowieso immer ähnlich. Die Schrittkette lasse ich einfach im Hintergrund ohne Ausführung einer Aktion mitlaufen.

Meiner Meinung nach ist es aussichtslos immer den richtigen Schritt zu erraten, denn mehr als raten ist es nicht. Wenn der Bediener Bewegungen aus dem vor- vor letzten Schritt ausführt, Teile mit Kran auflegt oder abnimmt, kann der Versuch nur scheitern. Nebenbei bläht es den instastandhalterfreundlichen FUP so auf, daß die Übersicht schnell verlohren geht.
Eine andere Möglichkeit ist es den Bediener beim Umschalten in Automatik den seiner Meinung nach passenden Schritt auszuwählen zu lassen. Das geht mit Schrittnummern zwar auch einfacher, als den richtigen Merker zu setzen, unlösbar ist es aber nicht.

Bis dann
 
*ACK*

'ist es aussichtslos immer den richtigen Schritt zu erraten, denn mehr als raten ist es nicht'

Dafür hatten wir die ABER und NABER Bausteine oder den 2- Bit auf 6- Signale Komplikator...

BTT:
Das Du immer das Wohl des Menschen bedenken solltest, also IMMER sicher programmieren solltes ist, imho, überflüssig zu sagen, hoffe ich...

Greetz, Tom
 
Dann will ich auch mal meinen Senf dazu geben.

Ich habe mir einen Schrittkettenbaustein (FC) mit 20 Schritten (kaskadierbar) geschrieben , der komplett in AWL mit SPL funktioniert. Man hat die Möglichkeit jederzeit zu stoppen, oder auch nur Einzelschritte (Step-Betrieb) durchzuführen. Dieser wird dann einfach geschützt, damit niemand darin herumfummeln kann und keine dummen Fragen kommen warum er nicht in FUP geschrieben wurde. An den Baustein kommen dann die Weiterschaltbedingungen der einzelnen Schritte, die in FUP daran geschrieben werden.
 
... Die Schrittkette springt nur im Hintergrund weiter, wenn bestimmte Bedingungen durch Handbedienung erfüllt worden sind. So lässt sie sich im richtigen Schritt nachstarten.
Ich gebe mal zwischendurch folgendes zu bedenken: ist es nicht häufig so, dass der Bediener einen Automatikschritt rückgängig machen möchte, weil er fehlschlug? Und dann aus dieser "Schritt zurück"-Situation heraus "nachstarten" möchte?
 
*gelöscht*
 

Anhänge

  • Schrittkette Multiinstanz.zip
    40,9 KB · Aufrufe: 44
Zuletzt bearbeitet:
Zurück
Oben