Wie der Zufall es will: Wegen schlechter Steuerung 2 Tage nicht verfügbar.
"Das Erzeugen des Prozessabbildes hat überhaupt nichts mit Interrupt zu tun."
Dann habe ich mich falsch ausgedrückt. Was letztendlich in einer Interrupt-Routine abgearbeitet werden soll, war nicht der Zweck meiner Aussage. - Eher ein Beispiel. Bitte konkretisiere selber einmal, wie ein 'normaler' Durchlauf in Endlosschleife bei der SPS aussieht. Was mach dessen CPU, wenn sie an der letzten Speicherstelle des Programms angelangt ist? Durch was kommt sie wieder zur Ersten? Alleinige Willenskraft kann es nicht sein.
Die Weisheit habe ich nicht mit Löffeln gefressen und belehren lass ich mich ab und an auch ganz gerne.
'Belehren' ist auch das passende Stichwort:
Wie du letztendlich dein Programm haben bzw. benennen willst, in Scriptform, als Sequenz, als Schrittkette, etc. bleibt völlig dir überlassen! Wenn deine Untersuchung herausgestellt hat, dass die Anlage nur funktioniert, dass sie zuerst den Bohrer schließt, dann senkt, dann wartet, ...dann ist das so. - Ohne wenn und aber.
Die Objektoriente Architektur, die mir dabei vorschwebt und auf die ich mich einlassen möchte, ist eher in diesem Pseudocode für den Bohrer widerzufinden. Und könnte bestimmt ne ganze Ecke eleganter aussehen.
Code:
class Bohrer {
final static int position_up = 1;
final static int position_down = 2;
final static int state_open = 1;
final static int state_closed = 2;
final static int state_fail= 0;
Bohrer(){}
setPosition(int position){
switch(position){
case position_up: //setze Ausgang/Pin/... auf 1
[...]
}
}
setState(){...}
getPosition(){..}
getState(){...}
}
"Wie stellst du dir ein System auf Android-Basis vor?" - Das wäre bei mir ein Verbund aus Tablet/Mini-PC/RasberryPi/... und IOIO-Board/Arduino.
"Wie soll das IO-Handling funktionieren?" - Polling der Eingänge, Threadgesteuert in einem festen Zeitintervall (falls gewollt) oder so schnell als möglich
"Wie die Programmbearbeitung?" / "Wie das Debugging im laufenden Betrieb?" - Zielt die Frage darauf ab, welche IDE ich verwende und wie diese zu benutzen ist? Oder wie die Anlage im laufenden Betrieb technisch beobachtet wird?
"Wie Code-Änderungen im laufenden Betrieb? " - Wie machst du das denn 'im laufenden Betrieb'? Ein erneutes Hochladen ist ja bei der klassischen SPS auch von Nöten. Ob ich in dieser Zeit das Programm neu kompiliere, sollte keinen Unterschied machen.
"Wie das interne Signalhandling?" - Das ist in der Tat kniffliger als ich es anfangs gedacht hatte. Da werde ich über ein gutes Verfahren noch einmal nachdenken müssen.
"Vielleicht hast du ja wirklich gute neue Ideen, die keiner von uns bisher gesehen hat."
Das ist möglich, maße ich mir aber nicht an.
Gruß
Dieter