Programmstruktur

twincatter

Level-1
Beiträge
137
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo SPSler,

habe mal wieder eine Frage.

unser Fertigungsautomat besteht aus mehreren Systemen die wiederum aus mehreren Komponenten bestehen (die selbst wieder aus Komponenten bestehen können).

Beispiel:

Palettierer
Greifer
X-Achse
Z-Achse

Prüfachse
X-Achse
Komponente2
Komponente3
Komponente4 usw.

Ich frage mich wie das SPS-Programm sinnvoll strukturiert werden soll?
Ich denke es wäre sinnvoll einen FB für eine universelle Achse zu programmieren (in diesem wäre z.B. das Homing mit allen notwendigen Schritten programmiert. Der Palettierer könnte dann ebenso wie die Prüfachse Instanzen dieser Achsen ansprechen.

Vom Hauptprogramm möchte ich dann z.B. "Palettierer-Referenzieren" aufrufen wodurch dann die X und Y-Achsen referenziert werden sollen.
Mir ist nur nicht klar wie ich hierfür das Programm strukturieren soll.

Ich komme aus der Visual Basic bzw. VB.NET-Ecke und muss zugeben dass mir die SPS-Denkweise schwer fällt.

Vielen Dank, Michael
 
Hallo Twincatter,

ich würde versuchen für die Komponenten verschiedene Bausteine zu schreiben.
Also z.B. einen FB für die Ansteuerung der Achsen mit diversen Eingängen über die die verschiedenen
Funktionen wie z.B. Grundstellungsfahrten, Verfahraufträge, Referenzieren usw. aus dem restlichen Programm herais angesteuert werden.
Ideal währe es dann wenn dieser FB eine Schnittstelle zu einem zweiten FB hat der dann die Kommunikation mit dem Antrieb (Umrichter)
abwickelt. Der Vorteil ist das man dann einen Baustein für den Umrichter der Firma X schreiben kann und einen 2ten für den Umrichter der Firma Y
wobei der erste FB immer gleich bleiben kann und somit auch dessen Ansteuerung.
Ist zwar erstmal viel Arbeit Zahlt sich aber hinterher aus wenn man nur noch neue Instanzen einfügen muß und
dann umso schneller ist.

Gruß DiX
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe in die Strukturierung meines Programms viel Zeit investiert und das zahlt sich bis heute täglich aus.
Ich habe die MAschine wie du in einzelne Module aufgeteilt und erst mal die Schnittstellen festgelegt. Nun Strukturen für jede Komponente erzeugt. zB. Alle Ein und Ausgänge, Maschinensettings, Maschinenstatus..... So kann ich wenn ich einen Status abfragen will in die Struktur gehen und finde schnell das gesuchte weil überall die gleichen Module strukturiert sind. Macht anfangs eine heiden Arbeit, weil man erst programmieren kann wenn die Struktur steht, aber danach ist es ein Leichtes. Nun bekommt jedes Modul ein eigenes Programm mit dem gleichen Namen wie in der Struktur. Die Programme werden in der Main dann nacheinander aufgerufen und lassen so wieder die gleiche Struktur erkennen.
Hört sich jetzt höllisch kompliziert an ist aber recht einfach wenn man mal den Einstig geschafft hat.
Ich habe natürlich alles symbolisch programmiert, somit finde ich mit F2 immer die gewünschte Variable.
Gruß
blackhack ;)
 
Oft hat man ja immer wieder ähnliche Anwendungen, und dann ist es schon sehr angenehm wenn man nur ins "Regal" greifen muß um
seine oft bewährten Funktionen (von denen man weiß sie funktionieren) einzufügen.
Da bewährt sich ein von Anfang an sorgfältig erarbeitetes Konzept wie blackhawk es gemacht hat immer wieder aufs neue.

Gruß DiX
 
Zurück
Oben