Uživatelské nástroje

Nástroje pro tento web


tutorialy:wizard_cw

Toto je starší verze dokumentu!


Matlab Wizard CW

MATLAB to ControlWeb Wizard umožňuje v prostředí ControlWeb používat model navržený původně v MATLAB Simulinku. Na základě správně navrženého matematického modelu v prostředí MATLAB R2006b umožňuje vygenerovat z tohoto prostředí Windows dynamic link library, dále DLL. Toto DLL má formát ovladače pro ControlWeb (v. 5.0), který odpovídá matematickému modelu nadefinovanému v prostředí MATLAB.

Instalace

  1. Zkopírujte celý instalační adresář s Wizardem (RTW Target) do vhodného lokálního adresáře, kde ho budeme mít po celou dobu používání.
  2. V MATLABU přes hlavní menu File→Set Path…→Add folder… přidejte cestu ke zkopírovanému Wizardu. Před zavřením okna Set Path… nezapomeňte uložit změny (Save).
  3. Nyní by už měl být v nabídce Real-Time Workshopu nový .tlc soubor s názvem CtrlWeb.tlc (do nabídky Real-Time Workshopu se dostanete v otevřeném modelu v Simulinku stiskem Ctrl+E, potom tlačítko Browse v kolonce RTW system target file:).


  1. Předpokladem funkčního překladu je nastavení Solveru překládaného modelu na Type: fixed-step a je vhodné zvolit Stop time: inf.
  2. V parametrech Real-Time Workshopu zvolte RTW target file: CtrlWeb.tlc a stlačte Build.
  3. Pokud proběhla kompilace bez chyby, tak se v aktuálním adresáři vytvoří podadresář se jménem (NázevModelu)_CtrlWeb_rtw. V tomto podadresáři najdete soubory (NázevModelu).dll, (NázevModelu).par, (NázevModelu).dmf a (NázevModelu).txt potřebné v prostředí ControlWeb a soubory generované Real-Time Workshopem.


Použití ovladače v prostředí ControlWeb

  1. Soubory (NázevModelu).dll, (NázevModelu).par a (NázevModelu).dmf nakopírujte do adresáře, ve kterém se nachází základní soubor aplikace (aplikace).cw.
  2. V souboru aplikace (.cw nebo .cwu) doplňte kód v sekcích DRIVER a DATA dle předlohy v souboru (NázevModelu).txt. Případné duplicity a nesrovnalosti jmen ovladačů, souborů, kanálů atp. (vzniklé např. použitím více driverů, nebo různých verzí driverů) již musí uživatel vyřešit svépomocí.
  3. V ovladači jsou definované dva specifické kanály RESET a PAUSE typu boolean (číslo kanálu 501 a 502). Nastavením kanálu RESET dojde k resetování modelu a nastavení počátečních hodnot modelu. Nastavením kanálu PAUSE dojde k pozastavení běhu modelu a po opětovném nastavení kanálu na hodnotu false dojde k opětovnému spuštění modelu.
  4. Názvy vstupních i výstupních kanálů jsou převzaty ze Simulinkového modelu z názvů vstupů a výstupů




Propojení modelu a Flashové animace umístěné v kontejneru ActiveX v aplikaci Control Web

  • Na panel nebo pracovní ploch umístěte z inspektoru přístrojů přístroj ActiveX .
  • V inspektoru přístrojů vyplníme název přístroje například na mujFlash, nastavíme hodnotu identifikátoru třídy Active X na hodnotu Shockwave Flash Object {D27CDB6E-AE6D-11CF-96B8-444553540000}
  • vyplňíme událostní proceduru OnStartup() např. následovně:
procedure OnStartup();
var
  path=string,'';
  ok=boolean,false;
  error=integer,0;
begin
  system.GetREDFullPath('nazev_klipu.swf', &path,&ok,&error);
  self.LoadMovie(0,path);
end_procedure;
  • Pokud chceme měnit hodnoty nějaké proměnné v Flashové aplikaci může ActionScript vypadat následovně:
var nazevPromenne:Number;
 
this.onEnterFrame = function(){
  mujText_txt.text = "Hodnota promenne je " + nazevPromenne;
}
  • V CW přístroji, od kterého chceme zobrazovat výstupní hodnotu ve Flashi vyplníme událostní proceduru OnOutput() následovně:
procedure OnOutput( Output : real );
begin
     mujFlash.SetVariable('nazevPromenne' ,str(Output,10));
end_procedure;
  • pokud chceme načíst hodnotu z flashe do proměnné StringovaHodnota použijeme metodu:
    StringovaHodnota = val(mujFlash.GetVariable('nazevPromenne'),10);
tutorialy/wizard_cw.1176556770.txt.gz · Poslední úprava: 2007/04/14 15:19 autor: tribula