Software: SimX - Nadelantrieb - Wirkprinzip - Signalprozessor-Compound: Unterschied zwischen den Versionen

Aus OptiYummy
Zur Navigation springenZur Suche springen
Zeile 31: Zeile 31:
* Die Bildung von Compounds ist deshalb nicht mehr möglich und führt zur Fehlermeldung → "'''Die Maximale Anzahl der Komponenten wurde 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:
* 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!).
** Wir notieren uns die bisherigen exakten Ergebniswerte für '''t_Zyklus.y''' und '''Riss.y''', da nach der Modell-Reduktion die gleichen Werte berechnet werden müssen.
** Wir löschen dann 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:
** 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'''
  '''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!
* 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.  
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 ==
== Compound-Definition und -Inbetriebnahme ==

Version vom 22. Januar 2024, 14:19 Uhr

.
Signalprozessor-Teilmodell (Compound-Definition)

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 notieren uns die bisherigen exakten Ergebniswerte für t_Zyklus.y und Riss.y, da nach der Modell-Reduktion die gleichen Werte berechnet werden müssen.
    • Wir löschen dann 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)

Software SimX - Nadelantrieb - Wirkprinzip - Signalprozessor-Compound Zusammenfassen-Button.gif

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:
    1. Breite x Höhe: 150 Pixel x 150 Pixel (diese Verkleinerung auf ca. 60% ermöglicht Erkennbarkeit)
    2. 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. Änderungen in der Compound-Strukturansicht bzw. in den connects-Gleichungen werden automatisch synchronisiert. Deshalb sollte man diesen Abschnitt nicht durch eigene Gleichungen erweitern.
  • Wir ergänzen deshalb einen neuen Gleichungsabschnitt für die Zuweisung der Ergebniswerte:
.
  • Beim Erstellen der erforderlichen Gleichungen für die Belegung der Ergebnis-Variablen kann man die benötigten Objekt-Bezeichner mit dem Cursor aus dem eingeblendeten Compound-Modellexplorer ziehen.
  • Nach dem TypeDesigner > Fertigstellen und dem Speichern des Modells können wir mittels Simulation das Modellverhalten verifizieren.

Verifizierung und Komplettierung des Modells

===>>> Dieser Abschnitt wird zur Zeit erarbeitet !!!