Hallo zusammen, Ich versuche automatisch durch Real Time Workshop die S-Funktion von dem schon vorhandenen Simulink-Block "Pulse Generator" zu generieren. Ich habe Simulink gestartet, ein neues Model erzeugt und in das Model den Simulink-Block "Pulse Generator" in den neuen Modell eingezogen und sein Ausgang mit dem in Simulink/Sinks "Output" eingebunden. Danach habe ich ganz genau als Schritte die in Matlab-Help: "Creating an S-Function Block from a Subsystem" beschrieben sind, verfolgft. Da der "Pulse Generator" mit Variable Solver arbeitet, habe ich in "Simulation paramters" -Fenster den Variable Solver ode45 gewählt. Danach auf Build-Button gedrückt. Leider wenn ich versuche die erzeugenden S-Funktion als in Simulink als block zu simulieren , kommt immer die Folgende Fehler Meldung: Error reported by S-function 'untitled_sf' in block 'untitled1/RTW S-Function': To have a variable sample time, you must define MDL_GET_TIME_OF_NEXT_VAR_HIT and add a mdlGetTimeOfNextVarHit routin
"Creating s-function from Subsystem" sagt mich nicht viel und auch mit dem Real-Time-Workshop hatte ich noch nicht das Vergnuegen. Aber die Fehlermeldung ist eindeutig. Die S-function muss die Funktionalität fuer die Ermittlung des naechsten Hit-Zeitpunkts haben, so dass das Simulink-"Framework" die Zeitschrittweite des DGL-Loesers mit variableer Zeitschrittweite ensprechend den Anforderungen der Blocks im Model bestimmen kann. Wuerde fuer einen Puls-Generator auch Sinn machen, da man so den Zeitpunkt des naechsten Flankenwechsels als naechste "Hit-Time" zurueckgeben kann. Wenn aus irgend einem Grund diese Funktion nicht automatisch erzeugt wurde, kann man sie relativ einfach im "nachruesten" so man den Quellcode der s-Function hat. Mglw. hilft es auf die Schnelle einen "fixed-step" Solver zu nutzen. Vielleicht die gesamte S-Function einfach "von Hand" schreiben (ist kein "Hexenwerk"). HTH, Martin
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.