Software: SimX - Nadelantrieb - Wirkprinzip - Signalprozessor-Compound
Teilmodelle
Die Komplexität bei der Modellierung eines Gerätes oder einer Baugruppe ist nur durch Gliederung in "funktionelle Teilsysteme" beherrschbar:
- Modelle von Teilsystemen werden auch "Teilmodelle" genannt.
- Die Abgrenzung von Teilsystemen erfolgt überwiegend nach funktionellen Aspekten:
- Es sollten funktionelle Einheiten entstehen, welche sowohl als reale Objekte als auch als Teilmodelle selbstständig betrieben werden können.
- Die Abgrenzung von Teilsystemen ist nicht eindeutig, aber oft identisch mit der geometrischen Abgrenzung der Funktionseinheiten.
- In unserem Beispiel ist es sinnvoll, den Bewegungssensor und alle damit verbundenen Signalglieder zu einem Signalprozessor-Teilmodell zusammenzufassen (blau markiert). Im realen Versuchsmuster würde man die gleiche Funktionalität durch ein Mikrocontroller-Programm nachbilden, welches aus dem eingespeisten Nadel-Positionen die geforderten Kennwerte berechnet.
Innerhalb von SimulationX kann man Teilmodelle bilden, indem man innerhalb einer Modellstruktur beliebige Elemente mitsamt ihrer Verbindungen mittels des TypeDesigners in sogenannte "Compounds" verpackt:
- Dabei entsteht ein neuer Element-Typ, welcher die ausgewählten Elemente und Verbindungen enthält.
- Schnittstellen ermöglichen den Datenaustausch zwischen den Elementen innerhalb des Compounds und der übergeordneten Modellstruktur, in welche das Compound eingebunden wird.
- Die Inhalte eines Compound-Typen können nachträglich mit dem TypeDesigner modifiziert werden.
Wichtig:
- Bei der Compound-Bildung besteht die Gefahr der "Zerstörung" unseres erfolgreich aufgebauten Modells.
- Deshalb erzeugen wir mit den Mitteln des Betriebssystems eine Sicherungskopie mit der Bezeichnung "Etappe1_xx_mit_Signalgliedern.isx" (mit xx=01..99)
- Die weitere Bearbeitung erfolgt mit der Originaldatei "Etappe1_xx.isx".
Express Edition - Workaround
Beachte:
- Wer die Übung nicht mit der im Funktionsumfang eingeschränkten SimulationX Express Edition bearbeitet, kann sich den folgenden Workaround bei der Bildung des Signalprozessor-Compounds ersparen!
- Die Bilder der Anleitung berücksichtigen jedoch die in der Express Edition notwendige Modell-Reduktion.
Unser Modell enthält bereits 16 Modell-Elemente und hat damit die maximal zulässige Anzahl innerhalb einer Modellebene im Rahmen der "Express Edition" von SimulationX erreicht:
- Die Bildung von Compounds ist deshalb nicht mehr möglich und führt zur Fehlermeldung → "Die Maximale Anzahl der Komponenten wurde erreicht".
- Erforderlich ist das temporäre Löschen von zwei Modell-Elementen, um diese Hürde zu überwinden. Um die Auswirkung der Compound-Bildung zu verifizieren, soll das Modell danach weiterhin ohne Funktionseinschränkung mit dem bereits konfigurierten Kraft-Verlauf betrieben werden:
- Wir löschen dafür den Magnet-Impulsgenerator und die Kern-Wegvorgabe (die Fehlermeldungen können wir ignorieren!).
- Im Luftspalt-Kraftelement ersetzen wir den Parameter-Wert für die Kraft F durch eine Formel, welche den gewünschten Dreiecksimpuls der Amplitude Fmax und 1,7 ms Länge generiert:
if time/0.0017 <= 1 then CAD.Fmax*time/0.0017 else 0
- Eine erneute Simulation des reduzierten Modells muss zu den gleichen Ergebnissen führen!
Erst nach der Definition und erfolgreichen Inbetriebnahme des Compound ergänzen wir wieder die beiden gelöschten Modell-Elemente mit ihren vorherigen Parametern einschließlich des Luftspalt-Elements.
Compound-Definition und -Inbetriebnahme
Zusammenfassung der Bewegungssignalverarbeitung zu einem Teilmodell (Compound)
Bevor man über die Multifunktionsleiste den TypeDesigner zur Compound-Bildung aufrufen kann, muss man alle Modell-Elemente markieren, welche zusammengefasst werden sollen.
Die gleichzeitige Markierung mehrerer Elemente erreicht man durch Rechteck-Auswahl mittels des Cursors bei gedrückter Maustaste (wie im Titelbild dieses Abschnitts gezeigt). Ist dies auf Grund der Element-Anordnung nicht möglich, kann man Modell-Elemente durch zusätzlich betätigter UMSCHALT-Taste bei der Cursor-Markierung der Auswahl hinzufügen bzw. auch entfernen:
Nach Aufruf des TypeDesigners erscheint dieser im Bearbeitungsmodus für einen neuen Compound-Typ, welcher die markierten Modell-Elemente und deren Verbindungen enthält:
- Standardmäßig wird der neue Compound-Typ lokal im aktuellen Modell erzeugt und erscheint im Typen-Explorer (im Beispiel unter dem bereits vorhandenem CAD_Data-Typ).
- Der grafische Editor des SimulationX enthält nun eine Ebene unter dem aktuellen Modell die Compound-Struktur, welche dort auch bearbeitet werden kann.
- Standardmäßig wird für den Compound-Typ ein Symbol der Größe 60x30 mm² erzeugt. Im zugehörigen Grafikeditor wird passend zu dieser Größe ein Strukturbild der zusammengefassten Elemente bereitgestellt.
- Für die Verbindungen zwischen den Compound-Elementen und der Rest der Modellstruktur werden passende Schnittstellen generiert. Im Beispiel ist dies ctr1 (translatorischer Mechanik-Konnektor), welcher den Anschluss des Bewegungssensors nach außen führt.
- Die auf der linken Seite aufgelisteten Bearbeitungsschritte zur Typ-Definition entsprechen denen, welche wir bereits bei Erstellung des CAD_Data-Typs verwendet haben.
Allgemein
Wir modifizieren hier Namen, Kommentar und Grafiksymbol:
- Name: Signalprozessor
- Kommentar: Kennwerte der Nadelbewegung
- Symbol:
- Breite x Höhe: 150 Pixel x 150 Pixel (diese Verkleinerung auf ca. 60% ermöglicht Erkennbarkeit)
- Bild-Anpassung: nach Wahl eines geeigneten Zoom-Faktors im Symbol-Editor (z.B. 200 %) mittels Cursor an den 2 diagonalen Eckpunkten das sehr kleine Bild auf komplette Symbolgröße ziehen (Sensor-Anschluss exakt auf Mitte an der oberen Kante):
Anschlüsse
Der mechanische Anschluss (translatorisch) überträgt die Bewegungsgrößen der Nadelmasse aus der übergeordneten Modellebene in den Bewegungssensor, welcher sich innerhalb des Compounds befindet:
- Da nur dieser eine (automatisch generierte) Anschluss benötigt wird, kann der Name Ctr1 erhalten bleiben.
- Den zugehörigen Ctr1-Marker muss man mit dem Cursor im Symbol-Editor auf die Mitte der oberen Kanten schieben (deckungsgleich mit Position im Symbol-Bild):
Komponenten-Definition (Parameter und Variable)
Parameter und Variable (Ergebnisse) bilden die Datenschnittstelle zwischen den Elementen im Compound und der übergeordneten Modellebene.
- Hinweis:
Die Namen von Compound-Komponenten dürfen innerhalb des Compound noch nicht anderweitig verwendet worden sein! - Zur Analyse eines Bewegungszyklus müssen in den Compound die folgenden x-Koordinaten als Parameter eingespeist werden, wobei keine Werte als Standardbelegung erforderlich sind:
Name | Kommentar | Standardbelegung | Einheit |
---|---|---|---|
x0 | Ruhelage | mm | |
xEnd | Endlage | mm | |
xRiss | Papier-Rissposition | mm |
- Die Ergebnisse der implementierten Signalanalyse müssen der übergeordnete Modellebene als Variable bereitgestellt werden:
Name | Kommentar | Physik. Größe | Einheit |
---|---|---|---|
t_Riss | Riss-Zeitpunkt | Zeit | ms |
t_Zyklus | Zykluszeit | Zeit | ms |
Praegemasz | Praegungsmasz 0..1 | Dimensionslos | - |
Mit der Definition der Komponenten ist ein wichtiger Bearbeitungsschritt beim Erstellen des Compound-Typs erbracht. Den bisher erreichten Zwischen-Zustand sichern wir durch "Fertigstellen":
- Für das Compound-Element vergeben wir in der Modellstruktur den Namen "Messung" im Modell (Anordnung "unten").
- Wir schieben das neue Element mit dem Cursor an eine günstigere Position.
- Die Anschluss-Verbindung zum Compound-Element müssen wir danach mit Cursor auswählen, um die Lage eines waagerechten Teilstückes korrigieren (Falls es wie im Beispiel zu einer Überdeckung mit dem Papier-Element kam).
- Modell-Datei > Speichern realisiert dann die gewünschte Sicherung des erreichten Bearbeitungszustandes auf einem Datenträger.
Einbindung des Compounds mittels der Parameter und Ergebnisse in die Modellstruktur
Bevor wir den Compound-Typ weiter bearbeiten, öffnen wir durch Doppelklick auf das Messung-Teilmodell dessen Eigenschaftsdialog:
- In die leeren Parameter-Felder speisen wir die benötigten Kennwerte des Bewegungsablaufes ein:
- Damit stehen diese Werte dann zur Parameter-Belegung in den Compound-internen Signalverarbeitungselementen zur Verfügung.
- Wir überprüfen, ob die Ergebnisse wie gewünscht von dem Compound bereitgestellt werden und aktivieren diese für die Signal-Protokollierung:
Von den drei Ergebnisgrößen wird nur der Riss-Zeitpunkt t_Riss direkt in einen Element-Parameter benutzt → Papier-Steifigkeit k: 36500*(1-sign(Riss.y)):
- Der bisherige Bezug auf die Variable Riss.y ist im Papier-Element nicht mehr möglich, weil innerhalb des Modells nur auf die Anschlüsse und Komponenten eines Compounds zugegriffen werden kann.
- Riss.y ist in der Formel deshalb durch Messung.t_Riss zu ersetzen:
Diese Modelländerungen sollte man anschließend wieder speichern!
Einspeisung der Parameter-Werte in die Compound-Elemente (Strukturansicht)
Für das Bearbeiten eines bestehenden Compound-Typen kann man über das Kontext-Menü drei verschiedene Editoren öffnen:
- Textansicht: mit Editor für den kompletten Quelltext des Compound-Typen (etwas für Profis und bei Interesse für die Sprachstruktur).
- Strukturansicht: öffnet die grafische Struktur der verbundenen internen Modell-Elemente. Falls diese inzwischen geschlossen wurde, öffnen wir sie damit erneut. Anderenfalls wählen wir im Bereich der Strukturansicht anstatt der Modell-Struktur die Registerkarte der noch geöffneten Compound-Struktur.
- TypeDesigner: mit den bereits bekannten Bearbeitungsschritten (benutzen wir erst wieder für die Ergebnis-Werte).
Die Bearbeitungsmöglichkeiten in der Strukturansicht des Compound entsprechen denen der übergeordneten Modell-Ebene:
- Doppelklick auf die Struktur-Elemente öffnet deren Eigenschaftsdialog und damit den Zugriff auf Parameter und Ergebnisse.
- Innerhalb des lokalen Compound-Typen kann zwar auf alle Bezeichner der übergeordneten Modell-Ebene direkt zugegriffen werden (z.B. auf "Nadel.x0"). Im Sinne der autonomen Betreibbarkeit von Teilmodellen sollte man den Datenaustausch zur übergeordneten Modellebene grundsätzlich nur über die Schnittstellen realisieren!
- Im Vorschub-Element modifizieren wir deshalb die Formel "(Nadel.x0-self.x)/(Nadel.x0-CAD.x_Matrix-CAD.d_Praegung)" durch die entsprechenden Compound-Parameter:
- Das Riss-Element erhält als Grenzwert a: xRiss.
- Das tZyklus-Element wird mit dem Grenzwert a: x0 belegt.
Mit geöffneter Compound-Strukturansicht können wir danach den aktuellen Bearbeitungszustand wieder speichern.
Belegung der Ergebnis-Variablen mittels Gleichungen (TypeDesigner-Verhalten)
Falls noch nicht geschehen, öffnen wir nun wieder den TypeDesigner, um im Verhalten die Zuweisung der Ergebniswerte zu ergänzen:
- Innerhalb des Verhalten wurde beim Zusammenfassen der markierten Modell-Elemente automatisch ein Gleichungsabschnitt "connects" definiert. Dessen Gleichungen beschreiben alle Verbindungen zwischen den inneren Modell-Elementen und zu den Anschlüssen der Compound-Abgrenzung.
- Aktiviert man in der Compound-Strukturansicht die Anzeige der Verbindungen, so kann man die einzelnen connect-Anweisungen gut nachvollziehen.
- Da es sich hier um einen automatisch generierten Gleichungsabschnitt handelt, sollte man diesen nicht durch eigene Gleichungen erweitern.
- Wir ergänzen deshalb einen neuen Gleichungsabschnitt für die Zuweisung der Ergebniswerte:
===>>> Dieser Abschnitt wird zur Zeit erarbeitet !!!