instanzierte Programmierung

Deep Blue

Level-2
Beiträge
431
Reaktionspunkte
17
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

eigentlich ist diese Frage nicht CoDeSys spezifisch, aber da es sich aktuell um einen Wago Controller 750-841 handelt, setze ich Sie mal hier rein.

Ich habe ca. 20 Tore, welche ich auf Ihren Zustand abfragen muß und sonst noch so einiges mit Ihnen veranstalten muß. Dazu habe ich mir eine Funktion geschrieben welche ich nun 20 x aufrufe. Die Funktion macht das Programm ja schon übersichtlicher. Aber gibt es nicht eine Möglichkeit auch dieses 20 x aufrufen der Instanz zu verkleinern? Der Baustein wird ja schon etwas länger. Ich könnte nun im ms-Bereich jedes mal eine Schleife durchlaufen und die Werte von 1 - 20 hochzählen und anpassen (praktiziere ich in .net so). Aber das scheint mir dann für evtl. Zugriff eines Kollegen in 5 Jahren auch zu unübersichtlich. Wie macht Ihr sowaß? Lerne ja immer gerne dazu :-D
 
Wenn ich 20 mal das Selbe habe und damit auch das Selbe machen muss, sind ein Array für die Daten oder FB's und eine Schleife für die Aufrufe schon das beste Mittel. Wenn jemand anders damit Verständnisprobleme hat, ist er meiner Meinung nach schlicht überfordert.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hab ich so auch schon gemacht... Funktionniert problemlos ,hält den Code schlank und schont die Tastatur...

Je nach dem wie Leistungsfähig ein System ist sollte man halt aufpassen ob man dies un einer FOR-Schleife (also gsamte abarbeitung in einem PLC Zyklus) oder mit einer Statemachine (Caseanweisung mit Scheifenzähler) macht wo in jedem PLC nur ein Baustein bearbeitet wird. Kombinationen aus beidem sind natürlich auch möglich.

Hängt natürlich vorrangig von der Aufgabe ab. Benutzt die Instanz EA´s und "wartet" auf z.B. ein Einganssignal muß man natürlich dafür sorgen das die Instanz diesen mitbekommt. Für solche fälle empfielt sich dann eher eine Lösung mit einer For-Schleife.


lg Bernd
 
Zurück
Oben