Hallo, ich bin immernoch dabei, das Konzept der Prozesssteuerung für eine Produktionsanlage zu überarbeiten. In einem anderen Thread wurde mir hier schon gut weiter geholfen, jetzt bitte ich noch einmal um Eure Meinungen ;-) Hier erstmal ein paar Daten: - weniger als 100 Digitale I/O (Taster, Lampen, Ventile, Auslösesignale, Näherungsschalter, Lichtschranken etc.) - Vernetzung der I/O-Module über CAN-Bus - Prozesssteuerung ist eine Ablaufsteuerung, die im "Dauerlauf" läuft und z.B. 10000 Teile am Stück produziert - Bis jetzt Programmierung in C unter Windows (Ereignisorientiert, keine zyklischen Abfragen) nach dem Prinzip, wie es dem Bild zu entnehmen ist - Windows-Programm enthält auch die Visualisierung, die Möglichkeit alle Ausgänge von Hand per Button zu setzen (Manuellbetrieb), Parametereingabe, Messystem ni Das ganze soll jetzt etwas unabhängiger vom Windows-PC laufen und in einen kleinen Realtime Linux-PC integriert werden. Das Programm soll weiterhin in C geschrieben werden. Wie seht ihr das? "Muss" man sowas heutzutage in IEC 61131-3 programmieren? Wenn ich es unter Linux weiterhin in C programmiere, werden die Funktionen zur Ablaufsteuerung sicherlich ähnlich sein. Die Frage ist aber auch, ob es Sinn machen würde, bzw. (programmier)technisch sinnvoll und umsetzbar ist, einige Teile doch zyklisch auszuwerten: Beispiel Grundstellung: Zum Anlauf müssen 4 Aktoren in der Grundstellung sein, d.h. es müssen 4 Eingänge gesetzt sein. Bis jetzt rufe ich beim Zustandswechsel von jedem Eingang die Funktion "Grundstellung prüfen" auf, die eine if-Anweisung enthält (if (e1==1 && e2==1 && e3==1 && e4==1) grundstellung=1;) Könnte man soetwas neben meinen ereignisorientierten Funktionen in einem Thread in einer while(1)-Schleife durchlaufen lassen? Dann würde die if-Abfrage ständig abgearbeitet werden, und ich spare mir ein paar Funktionen.... Könntet Ihr dieses Vorgehen generell nachvollziehen, oder sollte man soetwas lieber garnicht erst neu aufbauen?
hansi schrieb: > ist die Frage zu doof gestellt? Da du noch immer keine Antwort bekommen hast: Ja. Deine Frage hat ein viel zu grossen Umfang, versuchs doch mal mit einzelnen Fragen für einzelne Themen... Ist etwas unstrukturiert... IMHO > Wenn ich es unter Linux weiterhin in C programmiere, werden die > Funktionen zur Ablaufsteuerung sicherlich ähnlich sein. Die Frage ist > aber auch, ob es Sinn machen würde, bzw. (programmier)technisch sinnvoll > und umsetzbar ist, einige Teile doch zyklisch auszuwerten: ... > Thread in einer while(1)-Schleife durchlaufen lassen? Soetwas macht vor allem CPU Last... Für mich als Informatiker klingt es aber als ziemlich schlechter / falscher Ansatz. Aber genau sagen kann das wohl nimand anhand deiner Fragenstellung. Viel Erfolg beim Nachfragen!;-) mfg Andreas
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.