Der BORIS-AutoCode-Generator
Voller Leistungsumfang

Eine Vielzahl von Optionen ermöglicht die optimale Anpassung des generierten Codes an die Ziel-Hardware. Entscheiden Sie selbst, wie schnell und exakt Ihr Code sein soll - der AutoCode-Generator gibt Ihnen alle Werkzeuge dafür an die Hand!
Die Generierung von C-Code ist nicht auf regelungstechnische Standardblöcke beschränkt - im Gegenteil: Praktisch alle Blocktypen der umfangreichen BORIS-Systemblock- Bibliothek (je nach Versionstyp des AutoCode-Generators) können in C-Code überführt werden! Auch Superblöcke stellen für den AutoCode-Generator selbstverständlich kein Hindernis dar; ebensowenig Signalquellen und -senken. Damit ist der Anwendungsbereich des AutoCode-Generators keinesfalls nur auf regelungstechnische Problemstellungen beschränkt: Messwerterfassungs- und -verarbeitungsaufgaben lassen sich mit der gleichen Eleganz lösen wie die Realisierung von Digitalschaltungen, digitalen Filtern oder auch die "Programmierung" der Ziel-Hardware als universeller Funktionsgenerator. Selbst komplexe Steuerungen lassen sich auf diese Weise mit wenig Aufwand nachbilden. Die Komplexität des in C-Code überführten Teilsystems ist prinzipiell unbegrenzt (je nach Versionstyp des C-Code-Generators).
Die innerhalb des C-Codes benutzten numerischen Algorithmen entsprechen exakt den in BORIS realisierten. Damit kann der Anwender sicher sein, auf der Ziel-Hardware völlig analoges Systemverhalten im Vergleich zum PC zu erzielen. Durch die Möglichkeit, aus dem C-Code heraus einzelne Systemgrößen direkt in SIM-Dateien zu schreiben, können die vom C-Code generierten Signale innerhalb der BORIS-Entwicklungsumgebung mit den Originalen verglichen werden.
Drei Schritte zum Glück
Mit dem BORIS-AutoCode-Generator verkürzt sich der Produktionszyklus auf nur noch drei Schritte:
- Konfigurierung und Testen des Systems auf Blockdiagramm-Ebene mit BORIS.
- Generierung der C-Codes über den AutoCode-Generator.
- Compilieren des C-Codes und Laden auf die Ziel-Hardware.
Flexibilität
Durch seine Flexibilität ist der generierte C-Code an praktisch jede Art von Ziel-Hardware anpassbar. Die Bitbreiten für die Block-Parameter und für die eigentliche Signaldarstellung können unabhängig voneinander gewählt werden. Zur Verfügung stehen 8-Bit, 16-Bit und 32-Bit-Auflösung, wobei Vor- und Nachkommadarstellung bei Bedarf frei wählbar sind. Der Anwender kann damit einen für seine Zwecke optimalen Kompromiss zwischen Genauigkeit und Speicherplatzbedarf schließen. Durch die komfortable Integration von hardwarespezifischen I/O-Funktionen über spezielle BORIS-Blöcke (C-Code-Eingang bzw. C-Code-Ausgang) lässt sich derselbe Code auf extrem schnelle und komfortable Weise an wechselnde Ziel-Hardware anpassen (siehe nachfolgenden Screenshot). Für eine Vielzahl von unterschiedlichen Hardwaremodulen (beispielsweise PC-Einsteckkarten der Firma SORCUS oder Microcontrollermodule der Firma PHYTEC werden bereits vorkenfektionierte I/O-Beschreibungsdateien mitgeliefert.
|
|
|
Debugging-Unterstützung
Für Testzwecke lassen sich verschiedene main-Funktionen generieren. Sie erlauben z. B. die Eingabe von Werten über Tastatur, die Ausgabe von Simulationsergebnissen in BORIS-SIM-Dateien oder die vollautomatische Generierung von BORIS-User-DLL-Blöcken, die dann wiederum in BORIS eingebunden werden können. Auf diese Weise lassen sich sehr komplexe Simulationen (oder auch numerische Optimierungsläufe) erheblich beschleunigen.
Offene Architektur
Der generierte C-Code ist ausführlich dokumentiert und durch die wohldefinierte Namensgebung der einzelnen Funktionen und Parameter für den Anwender bei Bedarf leicht interpretierbar. Hierdurch wird die manuelle Modifikation - beispielsweise zur Integration alternativer Algorithmen (z. B. zur PID-Regelung) - zum Kinderspiel. Auch Ausgabefunktionen, die innerhalb von BORIS z. B. durch Zeitverlauf-Blöcke übernommen werden, lassen sich auf diese Weise im C-Code nachbilden.
Realisierungsplattformen
Die Umsetzungsmöglichkeiten für den mit Hilfe des AutoCode-Generators generierten Code sind vielfältig:
| Der C-Code kann zur Integration in eigene, PC-basierte Software benutzt werden. Der Anwender erspart sich dadurch die mühselige und fehleranfällige Programmierung der einzelnen Blockalgorithmen sowie der eigentlichen Simulationsschleife. | |
| Durch die Übertragung des Codes auf konventionelle Microcontroller-Baugruppen lassen sich diese als universelle Regler- oder Steuerungsmodule oder - z. B. für Ausbildungszwecke - auch als Streckensimulatoren einsetzen. Auch die Programmierung von SPS ist möglich. | |
| Der C-Code kann als TSR-Programm unter DOS zur Ansteuerung von PC-Einsteckkarten benutzt werden. Damit lassen sich Messerfassungs- oder Regelungsaufgaben auch auf dem PC mit extrem kurzen Abtastzeiten realisieren. Der AutoCode-Generator stellt Schnittstellen für alle herkömmlichen PC-Karten zur Verfügung. |
Die Editionen
Nachfolgende Tabellen stellen den Leistungsumfang der vier verschiedenen Editionen dar:
| Lite Edition (L)
Geeignet für Ausbildungszwecke und einfache Anwendungen (max. 8 Blöcke compilierbar) |
|
| Standard Edition (S)
Geeignet für komplexere Anwendungen auf der Basis von Standard-Blöcken (max. 25 Blöcke compilierbar) |
|
| Professional Edition (P)
Zur Realisierung beliebig komplexer Strukturen mit unterschiedlichsten Blocktypen |
|
| Robotics/AVR Butterfly Edition (R)
Edition speziell für die Programmierung des AVR Butterfly Micrcontrollers und von mobilen Robotern (max. 50 Blöcke compilierbar) |
Zu allen Editionen gehört selbstverständlich eine ausführliche schriftliche Dokumentation (ca. 400 Seiten).
| L | S | P | R | |
|---|---|---|---|---|
| Eingangsblöcke | ||||
| Generator (Sinus) | ||||
| Generator (Puls) | ||||
| Generator (Rauschen) | ||||
| Generator (benutzerdefiniert)3 | ||||
| Konstante | ||||
| Fahrkurve | ||||
| Steuerbare Fahrkurve | ||||
| Steuerbarer Sinusgenerator (VCO) | ||||
| Simulationszeit | ||||
| Uhrzeit/Wecker | ||||
| Datei (SIM-File)1 | ||||
| Tabellen-Eingabedatei1 | ||||
| Signalquelle | ||||
| Dynamische Blöcke | ||||
| P-Glied | ||||
| PT1-Glied | ||||
| PT2-Glied | ||||
| PT1T2-Glied | ||||
| PTN-Glied | ||||
| Integrierer | ||||
| Rücksetzbarer Integrierer | ||||
| Differentierer | ||||
| PID-Regler | ||||
| Adaptiver PID-Regler | ||||
| Allpass Typ I | ||||
| Allpass Typ II | ||||
| Totzeit | ||||
| Variable Totzeit | ||||
| Lead-Lag-Glied | ||||
| DT1-Glied (Vorhalteglied) | ||||
| s-Übertragungsfunktion | ||||
| Dgl.-System3 | ||||
| Einheitsverzögerung | ||||
| z-Übertragungsfunktion | ||||
| Statische Blöcke | ||||
| Lineare Kennlinie mit Offset (Variablenskalierer) | ||||
| Begrenzerkennlinie | ||||
| Vorlastkennlinie | ||||
| Unempfindlichkeitszone | ||||
| Zweipunktkennlinie | ||||
| Dreipunktkennlinie | ||||
| Hysterese | ||||
| Dreipunktglied mit Hysterese | ||||
| Benutzerdefinierte Kennlinie | ||||
| Benutzerdefiniertes Kennfeld | ||||
| Quantisierer | ||||
| Stellglieder | ||||
| Stellglied mit begrenzter Stellgeschwindigkeit | ||||
| Stellglied mit konstanter Stellgeschwindigkeit | ||||
| Funktionsblöcke | ||||
| Verknüpfer | ||||
| Funktion einer Veränderlichen2 | ||||
| Funktion zweier Veränderlicher2 | ||||
| Funktion mehrerer Veränderlicher2 | ||||
| Extremwert | ||||
| Minimum/Maximum mehrerer Signale | ||||
| Statistikfunktionen | ||||
| Abtast-/Halteglied | ||||
| Triggerbares Abtast-/Halteglied | ||||
| Analogschalter | ||||
| Analogumschalter | ||||
| Mehrfachschalter | ||||
| Digitalblöcke | ||||
| Logikgatter mit einem Eingang | ||||
| Logikgatter mit zwei Eingängen | ||||
| Logikgatter mit mehreren Eingängen | ||||
| RS-Flip-Flop | ||||
| D-Flip-Flop | ||||
| JK-Flip-Flop | ||||
| Mono-Flop | ||||
| Vorwärts-/Rückwärtszähler | ||||
| Komparator | ||||
| Vergleicher | ||||
| Nulldurchgangsdetektor | ||||
| Logischer Flankendetektor | ||||
| PWM | ||||
| Einschaltverzögerung | ||||
| Ausschaltverzögerung | ||||
| Ein-/Ausschaltverzögerung | ||||
| Aktionsblöcke | ||||
| Druckschalter1 | ||||
| Schieberegler1 | ||||
| Drehregler1 | ||||
| Industrie-PID-Regler1 | ||||
| SpinEdit1 | ||||
| Joystick1 | ||||
| Kommunikationsblöcke | ||||
| DDE-Eingang1 | ||||
| DDE-Ausgang1 | ||||
| TCP-CLIENT (Eingang)1 | ||||
| TCP-CLIENT (Ausgang)1 | ||||
| TCP-Server (Eingang)1 | ||||
| TCP-SERVER (Ausgang)1 | ||||
| Senken | ||||
| Zeitverlauf1 | ||||
| Mehrfach-Plotter1 | ||||
| y-t-Schreiber1 | ||||
| Oszillograph1 | ||||
| Analoganzeige1 | ||||
| Digitalanzeige1 | ||||
| Balkenanzeige (Bargraph)1 | ||||
| Trajektorienanzeige (x-y Plot)1 | ||||
| Statusanzeige1 | ||||
| FFT1 | ||||
| Frequenzgang-Plotter1 | ||||
| Datei (SIM-Format)1 | ||||
| Tabellendatei (XLS-Format)1 | ||||
| Signalsenke | ||||
| User-DLL-Blöcke | ||||
| User-DLL6 | ||||
| Sonstige Blöcke | ||||
| Parameter-Modifizierer | ||||
| Parameter-Wert | ||||
| Fuzzy-Controller | ||||
| NeuroModel® | - | - | - | - |
| fuzzyTECH®-Block5 | ||||
| Hardware4 | ||||
| Label | ||||
| Meldung | ||||
| Multiplexer / Demultiplexer | ||||
| C-Code-Funktion | ||||
1 Der von diesem Code verwendete Funktionscodeabschnitt sowie
die Parameterstruktur müssen vom Anwender für die Zielhardware angepasst werden.
2 Benutzerspezifizierte Funktionen dieses Blockes können nur unter
Verwendung von Fließpunktzahlen generiert werden.
3 Block kann nur bei Verwendung von Fließpunktzahlen generiert werden.
4 Dieser Block kann auf Anfrage so implementiert werden, dass unter BORIS eine
beliebige Hardware in das Simulationssystem integriert wird. Bei der C-Code-Generierung
dieses Blockes kann automatisch C-Code für das Zielsystem (darf auch eine beliebige
andere Hardware als die während der Simulation verwendete sein) erzeugt werden.
Vorteil dieser Form der Anbindung: Sowohl die Simulation unter BORIS als auch der erzeugte
C-Code können reale Regler beinhalten, ohne Strukturänderungen vorzunehmen.
5 nur, falls fuzzyTECH - Professional Edition vorhanden
6 Sofern die User-DLL's entsprechende Aufrufe zur Code-Generierung
unterstützen.
|
|
Produktinformation "WinFACT-AutoCode-Generator" |
| Preise: | |
| Einzelplatzlizenz Industrie: | EUR |
| Lite Edition | 590,00 |
| Standard Edition | 1.590,00 |
| Professional Edition | 5.300,00 |
| Robotics / AVR Butterfly Edition | 390,00 |
Die aktuellen Preise aller Produkte entnehmen Sie bitte unseren Preislisten!


