Zitat Zitat von youfyouk Beitrag anzeigen
Hallo Leute,

ich danke euch ersteinmal für eure qualifizierten Antworten. Ehrlich gesagt, gefällt mir das persönlich auch nicht so richtig. Vielleicht kennt ja der eine oder der andere das von sich selbst, dass wenn man mal ein Projekt angefangen hat (mit schlechtem programier Stil), es irgendwie immer beibehält.

Das ganze sieht vor, dass die Steuerung nur 3 Meldeleuchten hat, alles andere (Werkzeuge mit Sensoren und Ventile) wird über einen Mehrpoligen Stecker an die Steuerung drangesteckt. Es gibt etwa 60 solcher Werkzeuge, mein Vorgänger hatte die über BCD-Codierung eingelesen und jedem Werkzeug einen FC geschrieben. Die Betreuung der Anlage habe ich gerade erst übernommen und schnell erkannt, dass das keine gute Lösung ist.
1. Speicher der SPS ist voll
2. Die Codiermöglichkeit geht nur bis 64 und es kommen noch viele neue Werkzeuge die bearbeitet werden sollen.

Der Ablauf der Steuerung ist fast immer gleich, mal gibt es ein oder zwei Sensoren oder Ventil mehr oder weniger.
Letzten endes möchte ich idealerweise nur ein "FC" für alle Werkzeuge schreiben. Wie es aber immer so ist treten auch mal Sonderfälle auf. Was vom Standard Ablauf abweicht. Die besagten Sonderfälle möchte ich in andere FC's schreiben und dafür hatte ich halt 14 weitere vorgesehen. So ist die Grundidee, ob das nun die beste Variante ist, bezweifele ich allmählich selbst.

Ich hoffe es ist halbwegs klar, was ich vorhabe. Was wäre denn ein guter ansatz bei so einem Fall? Hat jemand schonmal sowas ähnliches gemacht?
Bin für neue Ideen immer offen.

Danke
youfyouk
Also der Ansatz ist eigentlich richtig nur die Ausführung ist etwas daneben.

Ich würde mir einen FC schreiben der die Standardfunktionen abdeckt.
Dieser Baustein bekommt für die einzelnen Werkzeuge die Konfiguration über ein Datenwort. Die Funktionen des einzelnen Werkzeugs die nicht benötigt werden werden mit Dummy belegt.
Mit diesem Datenwort wird intern im FC gearbeitet und das Ergebnis am Ende in ein DW geschrieben.
Dann musst du dich um die Rangierung der E/A in einer extra Funktion kümmern und gut ist es.


bike