Tigerkroete
Level-1
- Beiträge
- 245
- Reaktionspunkte
- 0
-> Hier kostenlos registrieren
Ich schreibe gerade meine Diplomarbeit im Bereich Automatisierungstechnik bei einer Firma, die Schrauben und Bolzen herstellt. Ziel der Diplomarbeit ist deren Packmaschine auf S7 umzurüsten. Derzeit hängt die Anlage an drei Steuerungen: Wiegeeinheit, Bänder und Palettierer.
Ich ging zunächst davon aus, dass es bei drei Steuerungen bleiben solle, da der Betreuer das anfangs auch so wollte.
Leider bin ich totaler Laie, wenn es darum geht ein Programm strukturiert aufzubauen. Im Studium sollten wir bei Laboren unseren Code einfach in den OB1 schreiben und das wars. Ich bin auch nur vertraut im Umgang mit digitalen Eingängen, digitalen Ausgängen, Timern, Zählern, Merkern, Merkerwörtern. Klar kam mal in einer Vorlesung vor, dass es FBs und DBs gibt, aber wie man so etwas nutzt nicht. Auch habe ich hier im Forum gestern zum ersten Mal gelesen, dass es UDTs gibt. Was genau das ist weiß ich bis heute nicht, obwohl ich schon viel durch Google dazu gelesen habe.
Ich gehöre leider zu den Menschen die Beispiele brauchen. Nach der Art: Es gibt eine Sache, die macht das und das, man erstellt sie so und so und das kann sinnvoll sein für dieses oder jenes.
Ich habe also schonmal begonnen mein Programm für die Wiegeeinheit zu schreiben. Im OB1 wähle ich zwischen FC1 und FC2 aus, je nachdem ob Automatikbetrieb oder Handbetrieb gewählt ist. Dann werden im FC selbst noch wenige andere FCs aufgerufen, um etwas mehr Übersicht hinein zu bringen. Keine Angst, die anderen FCs sind nicht willkürlich herausgeschnittener Code, um nur den FC1 nicht zu lang zu machen, sondern sind vom Schnitt her sinnvoll, was den Programmablauf angeht.
Bisher benutze ich keinerlei Datenbausteine oder Ein- und Ausgangsvariablen für meine FCs. Ich benutze ganz normale Merker und Merkerwörter.
Je länger ich mich aber nun mit Step-7 beschäftige, umso mehr drängt sich mir der Verdacht auf, dass ich das ganze aber doch nicht so sinnvoll mache.
Das wird verstärkt durch die Tatsache, das die CPU der Wiegeeinheit (S7-300 CPU 315-2DP), wahrscheinlich doch später auch die Ansteuerung für die Bänder und den Palettierer übernehmen wird.
Ich überlege gerade, ob ich die Wiegeeinheit erstmal in eine Funktion packe. Dann definiere ich einen Datenbaustein, der in meiner Funktion aufgeschlagen wird. Das selbe dann später für die anderen Einheiten.
Soll ich dann auf normale Merker und MWs komplett verzichten und beides stattdessen in meinem Datenbaustein anlegen?
Jemand der Ahnung hat, merkt bestimmt sofort, dass ich echt durcheinander und ahnungslos bin. Ich würde mich sehr über jede Art von Tipp freuen ;-)
Viele Grüße,
Tigerkroete
Ich ging zunächst davon aus, dass es bei drei Steuerungen bleiben solle, da der Betreuer das anfangs auch so wollte.
Leider bin ich totaler Laie, wenn es darum geht ein Programm strukturiert aufzubauen. Im Studium sollten wir bei Laboren unseren Code einfach in den OB1 schreiben und das wars. Ich bin auch nur vertraut im Umgang mit digitalen Eingängen, digitalen Ausgängen, Timern, Zählern, Merkern, Merkerwörtern. Klar kam mal in einer Vorlesung vor, dass es FBs und DBs gibt, aber wie man so etwas nutzt nicht. Auch habe ich hier im Forum gestern zum ersten Mal gelesen, dass es UDTs gibt. Was genau das ist weiß ich bis heute nicht, obwohl ich schon viel durch Google dazu gelesen habe.
Ich gehöre leider zu den Menschen die Beispiele brauchen. Nach der Art: Es gibt eine Sache, die macht das und das, man erstellt sie so und so und das kann sinnvoll sein für dieses oder jenes.
Ich habe also schonmal begonnen mein Programm für die Wiegeeinheit zu schreiben. Im OB1 wähle ich zwischen FC1 und FC2 aus, je nachdem ob Automatikbetrieb oder Handbetrieb gewählt ist. Dann werden im FC selbst noch wenige andere FCs aufgerufen, um etwas mehr Übersicht hinein zu bringen. Keine Angst, die anderen FCs sind nicht willkürlich herausgeschnittener Code, um nur den FC1 nicht zu lang zu machen, sondern sind vom Schnitt her sinnvoll, was den Programmablauf angeht.
Bisher benutze ich keinerlei Datenbausteine oder Ein- und Ausgangsvariablen für meine FCs. Ich benutze ganz normale Merker und Merkerwörter.
Je länger ich mich aber nun mit Step-7 beschäftige, umso mehr drängt sich mir der Verdacht auf, dass ich das ganze aber doch nicht so sinnvoll mache.
Das wird verstärkt durch die Tatsache, das die CPU der Wiegeeinheit (S7-300 CPU 315-2DP), wahrscheinlich doch später auch die Ansteuerung für die Bänder und den Palettierer übernehmen wird.
Ich überlege gerade, ob ich die Wiegeeinheit erstmal in eine Funktion packe. Dann definiere ich einen Datenbaustein, der in meiner Funktion aufgeschlagen wird. Das selbe dann später für die anderen Einheiten.
Soll ich dann auf normale Merker und MWs komplett verzichten und beides stattdessen in meinem Datenbaustein anlegen?
Jemand der Ahnung hat, merkt bestimmt sofort, dass ich echt durcheinander und ahnungslos bin. Ich würde mich sehr über jede Art von Tipp freuen ;-)
Viele Grüße,
Tigerkroete