WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Level 2 M-File in einbinden, RTW

 

joey911
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 08.07.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.07.2009, 11:38     Titel: Level 2 M-File in einbinden, RTW
  Antworten mit Zitat      
Guten Tag,

ich muss gleich nochmal eine Frage schreiben (neben der anderen, noch unbeantworteten von mir)... Wink

Ich bin gerade daran zu versuchen, ein Level 2 M-File zu erstellen und ein dazugehöriges tlc und diese dann im RTW erstellen zu lassen.
Das Modell "durchlass_modell.mdl" ist ein einfacher:
Constant Block (1) -> S-Function -> Scope

Die S-Function soll als Test ersmtal nichts anderes machen als das Eingangsignal wieder an den Ausgang zu geben.

Das ist meine erstellte Level2-M-File:

Code:

function durchlass(block)
% Level-2 M file S-Function for times two demo.
%   Copyright 1990-2004 The MathWorks, Inc.
%   $Revision: 1.1.6.1 $

  setup(block);
 
%endfunction

function setup(block)
 
  %% Register number of input and output ports
  block.NumInputPorts  = 1;
  block.NumOutputPorts = 1;

  %% Setup functional port properties to dynamically
  %% inherited.
  block.SetPreCompInpPortInfoToDynamic;
  block.SetPreCompOutPortInfoToDynamic;
 
  block.InputPort(1).DirectFeedthrough = true;
 
  %% Set block sample time to inherited
  block.SampleTimes = [-1 0];
 
  %% Run accelerator on TLC
  block.SetAccelRunOnTLC(true);
 
  %% Register methods
  block.RegBlockMethod('Outputs',                 @Output);  
 
%endfunction

function Output(block)

  block.OutputPort(1).Data = block.InputPort(1).Data;
 
%endfunction
 


Das dazugehörige *.tlc sieht so aus:

Code:

%% File    : *.tlc
%% Abstract:
%%      Example inlined tlc file for S-function wrapsfcn.c
%%

%implements "durchlass" "C"

%% Function: BlockTypeSetup ====================================================
%% Abstract:
%%      Create function prototype in model.h as:
%%      "extern real_T my_alg(real_T u);"
%%
%function BlockTypeSetup(block, system) void
  %openfile buffer
    extern real_T durchlass(real_T u); /* This line is placed in wrapper.h */
  %closefile buffer
  %<LibCacheFunctionPrototype(buffer)>
%endfunction %% BlockTypeSetup

%% Function: Outputs ===========================================================
%% Abstract:
%%      y = durchlass( u );
%%
%function Outputs(block, system) Output
  /* %<Type> Block: %<Name> */
  %assign u = LibBlockInputSignal(0, "", "", 0)
  %assign y = LibBlockOutputSignal(0, "", "", 0)
  %% PROVIDE THE CALLING STATEMENT FOR "algorithm"
  %% The following line is expanded and placed in mdlOutputs within wrapper.c
  %<y> = durchlass(%<u>);

%endfunction %% Outputs
 


Es wird jedoch kein durchlass.c oder .h erstellt und es gibt eine Fehlermeldung beim Kompilieren. Wie sage ich ihm, dass er die durchlass.m nutzen soll?
Was ist mein Denkfehler?

Gruß,
Joachim
Private Nachricht senden Benutzer-Profile anzeigen


andi_u

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.07.2009, 12:32     Titel:
  Antworten mit Zitat      
Also ich meine das eine Level-2 M-Function nicht Auto-Codiert werden kann. Wenn dem nicht so ist, lasse ich mich gern eines anderen belehren. Ich würde eine c-mex s-function oder eine embedded matlab function verwenden.

mfg andi_u
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.