Moin alle miteinander Ich hätte mal ne frage bezüglich der Programmierung von der step 7. In der schule lernte ich das alles via schrittkette zu programmieren sei wegen Übersicht und so Im Studium ist es nun mehr eine schrittkette freie Programmierung. Daher meine Frage welches Verfahren benutzt man nun für größere programme. Ist es da dem Programmierer überlassen wie er programmiert oder gibt's da ein ungeschriebenes Gesetz das man sich an eine Version hallten muss. Schon mal danke für eure antworten
Kommt immer drauf an. Mein Prof hat damals erzählt, der Ingenieur programmiert in AWL, der Techniker in FUP, und KOP ist so blöd, daß man es gar nicht sgen kann. In der Praxis stand ich nachts um 3 an der Maschine, das PG 4Meter entfernt auf online geschaltet und ich wollte sehen, was die dig. E im Programm machen. AWL ist spätestens nach der 3. Klammerebene nicht mehr intuitiv, bei FUP kann ich das & und >= nur noch mit dem Fernglas lesen. Lösung war ganz einfach: KOP. Da sollte man sich von akademischen Zwängen befreien. Klar ist aber, daß sich bestimmte Probleme nur in AWL lösen lassen. Ich habe mal eine Maschine programmiert, die ca. 50 unabhängige Baugruppen hatte, je 2-3 Zylinder, gleichzeitig in Betrieb. Jede bekam eine Schrittkette. Natürlich könnte man für jedes eine extra Task aufmachen; dann ist der ProgramCounter eben der Schrittzeiger. Aber einzelne PB in KOP, das war einfacher und auch für den Wartungstechniker (der für 20 unterschiedliche Maschinen zuständig ist, und beim Bau der Masch nicht dabei gewesen ist), verständlich. Übrigens gibt es Schrittketten auch in 'C': Schritt-Nummer wird in einer Variable gespeichert, in einer case-Verzweigung werden die Schritte ausgewählt, und der Schritt-Übergang ist nur, die SChritt-Nummer zu ändern. Das ganze muß immer (_delay ist verboten, warten auf Bedingung ist verboten) wieder aufgerufen werden; zB im 1ms-Interrupt.
abc.def schrieb: > Lösung war ganz einfach: KOP. Die noch bessere Lösung ist: SCL > Übrigens gibt es Schrittketten auch in 'C': Schritt-Nummer wird in einer > Variable gespeichert, in einer case-Verzweigung werden die Schritte > ausgewählt, und der Schritt-Übergang ist nur, die SChritt-Nummer zu > ändern. Das ganze muß immer (_delay ist verboten, warten auf Bedingung > ist verboten) wieder aufgerufen werden; zB im 1ms-Interrupt. Genau diese Vorgehensweise hat sich bei unseren Projekten in SCL sehr bewährt. Insbesondere kann man die Schrittnummer auch sehr gut in irgendwelchen Fehlermeldungen ausgeben und weiß sofort, an welcher Stelle es hakt. Der einzige wichtige Nachteil, den ich bei SCL sehe, besteht darin, dass man die Persistenz von Datenbausteinen nicht dargestellt bekommt. Ist dieses Problem in aktuellen Versionen von STEP7 mittlerweile behoben?
Andreas Schweigstill schrieb:
So in der Art mache ich das auch. Automatikprogramme mittels SCL/AWL
erstellen, für einzelne Aggregate mittels SCL/AWL jeweils einen Baustein
erstellen (z.B. für Pumpen, Analogwerte etc) und diese dann über KOP mit
EAs beschalten. Wenn man die Bausteine vorher ordentlich getestet hat,
dann sieht man damit während der IBN auch sehr schnell, welcher Eingang
Beispielsweie noch für Pumpe X fehlt etc. Außerdem spart man sich damit
ständiges neu programmieren von Funktionen, eine Pumpe funktioniert in
95% der Fälle gleich und wenn doch etwas anders ist, dann kann man den
Baustein ja bedenkenlos erweitern. Damit muss man sich dann auch bei
zukünftigen Projekten hauptsächlich um die Automatik kümmern, zumindest
wenn die Projekte einigermaßen ähnlich sind.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.