25.01.2010, 12:07
Hallo,
ich programmiere gerade die Ansteuerung mehrerer Ausgangskanäle an einer PCI-Karte.
Der Nutzer soll die Möglichkeit haben, die Höhe des Ausgabewertes jedes einzelnen Kanals anzugeben und die einzelnen Kanäle an- und abschalten zu können. Entsprechende Eingabefelder und Bedienknöpfe sind vorhanden (siehe Beispiel Frontpanel).
Die Programmstruktur ist eine Queued State Machine. Wird vom Nutzer einer der Kanäle geschaltet bzw. der Ausgangswert geändert, wird das Ereignis abgefangen und vom Programm entsprechend reagiert. Alle diese Ereignisse werden in einem Frame der Eventstruktur abgefangen, da immer die gleichen Programmabläufe ausgeführt werden sollen (siehe Ausschnitt Blockdiagramm).
Und jetzt endlich meine Frage: Gibt es eine Möglichkeit, sich das zusammenklicken der Ereignisse zu vereinfachen? Ich habe momentan "nur" 13 Kanäle (macht 26 Ereignisse, siehe Anhang). Wenn ich an die Erweiterung auf 40 Kanäle denke, wird mir ein wenig schummrig. Außerdem scheint mir das ganze vom Programmierstil her reichlich unelegant. Auch das ändern bzw. debuggen wird wahrscheinlich unschön.
Kann man die Bedienelemente evtl. zusammenfassen, so dass ich nur auf ein Ereigis reagieren muß? Auf einen zusätzlichen Knopf "jetzt Werte ausgeben" (der das ja auch realisieren würde) möchte ich gern verzichten.
Danke und Gruß.
Mathias
ich programmiere gerade die Ansteuerung mehrerer Ausgangskanäle an einer PCI-Karte.
Der Nutzer soll die Möglichkeit haben, die Höhe des Ausgabewertes jedes einzelnen Kanals anzugeben und die einzelnen Kanäle an- und abschalten zu können. Entsprechende Eingabefelder und Bedienknöpfe sind vorhanden (siehe Beispiel Frontpanel).
Die Programmstruktur ist eine Queued State Machine. Wird vom Nutzer einer der Kanäle geschaltet bzw. der Ausgangswert geändert, wird das Ereignis abgefangen und vom Programm entsprechend reagiert. Alle diese Ereignisse werden in einem Frame der Eventstruktur abgefangen, da immer die gleichen Programmabläufe ausgeführt werden sollen (siehe Ausschnitt Blockdiagramm).
Und jetzt endlich meine Frage: Gibt es eine Möglichkeit, sich das zusammenklicken der Ereignisse zu vereinfachen? Ich habe momentan "nur" 13 Kanäle (macht 26 Ereignisse, siehe Anhang). Wenn ich an die Erweiterung auf 40 Kanäle denke, wird mir ein wenig schummrig. Außerdem scheint mir das ganze vom Programmierstil her reichlich unelegant. Auch das ändern bzw. debuggen wird wahrscheinlich unschön.
Kann man die Bedienelemente evtl. zusammenfassen, so dass ich nur auf ein Ereigis reagieren muß? Auf einen zusätzlichen Knopf "jetzt Werte ausgeben" (der das ja auch realisieren würde) möchte ich gern verzichten.
Danke und Gruß.
Mathias