Herzlich willkommen bei Catix

Asperg, 6. Juni 2009

Der Nachfolger von Batch Monitor 4 kündigt sich an:

Batch Monitor 5

Batch Monitor 5 ist eine SCADA-Applikation (Supervisory Control and Data Acquisition) für die Steuerung und Überwachung technischer Prozesse einschließlich Visualisierung, Bewertung und Protokollierung.

Batch Monitor ist eine Kombination aus Software und peripherer Hardware mit modularer Firmware. Die Software von Batch Monitor 5 basiert auf dem Programmgerüst Bator aus unserem Hause, das die Infrastruktur für individuelle SCADA-Applikationen bereitstellt.

Bator stützt sich seinerseits auf die plattformübergreifende Bibliothek und Benutzer-Oberfläche von Qt-Software. Vorerst laufen Programme, die auf diesem Gerüst basieren, auf dem PC unter dem Betriebssystem Microsoft Windows. Eine Portierung auf Linux/X11 oder Mac OS X ist optional.

Der Ablauf technischer Prozesse kann vom Benutzer direkt programmiert und auf diese Weise an spezifische Erfordernisse angepasst werden. Diese Werkstatt-Programmierung ist sehr einfach gehalten. Sie benötigt weder Compiler noch Interpreter, verfügt aber über Verzweigungen, wiederholende Schleifen und kann Unterprogramme anlegen und aufrufen.

Gradientendetektor

Das Datenmodell auf das sich das Programmgerüst Bator stützt, soll den gezielten Zugriff auf jede Komponente der Ausrüstung mit einer einheitlichen, überschaubare Kommunikation ermöglichen. Jede Komponente findet auf dem Host (dem Rechner auf dem Bator läuft) sein virtuelles Abbild. Damit werden alle Daten (Parameter, Sollwerte, Istwerte usw.) dem Benutzer zugänglich gemacht.

Alle relevanten Komponenten der Ausrüstung werden visualisiert und ihre Parameter sind einstellbar. Das Datenmodell wird hierarchisch gegliedert und besteht aus diesen drei Schichten:

  • Node = Mikrocontroller als Kommunikationsknoten
  • Port = Peripheral als modulare Bindeglied zur Ausrüstung
  • Item = Sensor/Aktor als elementares Objekt für die Visualisierung

Auch komplexe Peripherals, wie ein Koordinatensystem, aus mehreren Servoachsen oder ein Gradienten-Detektor mit realen Sensoren und Aktoren sowie abgeleiteten bzw. simulierten Sensoren, werden zu einem Port mit untergeordneten Items zusammengefasst.

Dieses Modell bildet Bator in einer Baumstruktur ab, deren Wurzel die Ausrüstung ist. Jedes Element dieser Baumstruktur kann über eine hierarchische Adresse gezielt angesprochen werden.

Die Visualisierung dient vornehmlich dazu, dem Benutzer die Maschine, den Prüfplatz oder einen Versuchsaufbau so transparent wie möglich darzustellen. Die Zuordnung vom Anlagenabbild zur realen Ausrüstung erleichtert dem Benutzer die Bedienung und begünstigt die Übersicht.

Daneben stellt sich noch weiterer Vorteil ein: Der direkte Zugriff auf die visualisierten Komponenten liefert die Voraussetzung für eine objektorientierte Kodierung beim anschießenden Programmieren. Wie dies umgesetzt wurde, erläutern wir in einem späteren Bericht.

Diese Vorteile sind der Grund, weshalb wir die Visualisierung als festen Bestandteil in unser Programmgerüst Bator aufgenommen haben. Dies versetzt uns in der Lage, alle Steuerungen mit der Visualisierung auszustatten.

Bator visualisiert in der Basisausführung die Istwerte der Sensoren und die Sollwerte der Aktoren auf dem Anlagenabbild. Auf Bezeichnungen und Parameter kann der Benutzer zugreifen, indem er eine Komponente in der Baumansicht auswählt. Die Details von völlig unterschiedlichen Komponenten werden in einem individuell aufbereitetem Dialogfenster präsentiert.

Einzelheiten hierzu können Sie in diesem Entwicklungskonzept nachlesen.

Die Kommunikation Bator ist mit der Peripherie per USB/CAN oder EtherCAT vernetzt. Um administrative Aufgaben zu erledigen kommuniziert die oberste Schicht des virtuellen Abbildes mit den Mikrocontrollern (Nodes) auf dem Bus und die Komponenten der realen Peripherie kommunizieren mit ihrem virtuellen Abbild auf dem Hostrechner.

Sie benutzen hierzu die eigne Adresse, die sich nur dadurch unterscheidet, ob sich der Adressat in der realen oder virtuellen Umgebung befindet. Diese komponentenorientierte Adresse wird durch einen Code ergänzt, der aussagt, wie die Daten zu interpretieren sind. Damit ist der Bezug auf den Ort im Prozessabbild eindeutig.

Diese Kombination nennen wird Kommunikations-Adresse und weisen ihr eine Breite von 32Bit zu. Zusammen mit einem Datenpaket erhalten wir das Telegramm, das die Kommunikations-Partner austauschen. Dieses Datenpaket wird ebenfalls normiert und auf 8Byte festgelegt. Daraus ergibt sich eine fixe Telegrammlänge mit 12Byte.

Diesen Kompromiss haben wir gewählt um einerseits das Aufkommen von Nachrichten zu bewältigen und andererseits die Anpassung an unterschiedliche Protokolle zur Datenübertragung so einfach wie möglich zu gestalten.

Den Busknoten (Nodes) wird in der Initialisierungsphase die Knotenadresse zugewiesen. Auf Anfrage melden sie ihren Typ, die Anzahl und den jeweiligen Typ der vorhandenen Peripherals einschließlich Zahl und Typ der Items. Mit diesem Feature kann die angeschlossene Ausrüstung registriert oder auf Vollständigkeit überprüft werden.

Flexibilität durch Stenocode

Das Programmgerüst Bator bietet für die Automatisierung zwei grundlegende Strategien an, um spezielle Anforderungen zu befriedigen.

  • Zeitkritische Aufgaben lassen sich modular in das Programmgerüst und in die Firmware der Mikrocontroller einbinden.
  • Abläufe, deren Reaktionszeit mit der des Menschen vergleichbar sind, können vom Anwender direkt programmiert werden.

Dies zweite Art, die als Werkstattprogrammierung zu verstehen ist, beschreiben wir in diesem Artikel.

Mit der Visualisierung der Ausrüstung wurde eine wichtige Voraussetzung geschaffen die Anweisungen objektorientiert zu kodieren. Um diese Art der Kodierung beibehalten zu können, kann der Benutzer numerische und boolesche Variablen anlegen, die ebenfalls Anweisungen bereitstellen. Auch das Ziel oder die Quelle von Operationen, der Akkumulator bietet Methoden (Anweisungen) an.

Alle Objekte, die nur eine Methode bieten, wie z. B.: Verzweigungen, Schleifen, Unterprogramme usw. werden als Tasten in der Werkzeugleiste und in einem Menü bereitgestellt.

Weil die objektorientierte Kodierung dermaßen flott von Statten geht, nennen wird dieses Verfahren Stenokodieren und den erzeugten Code Stenokode. Capsule Story Cras enim. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Ut eu augue. Integer risus wisi, semper eu, congue quis, lobortis ut, massa. Vestibulum auctor vestibulum lectus. Vivamus neque. Cras lobortis. Aenean ut turpis eu libero volutpat euismod. Donec eget lectus vitae ligula ornare tempor. Vivamus scelerisque lorem a elit. Sed id mauris. <-->

Einzelheiten hierzu können Sie in der Beschreibung Stenokodieren nachlesen.
Impressum | Disclaimer aktualisiert: 31.07.2009 (c) Alle Rechte vorbehalten Catix GmbH Asperg