Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Symulacja silnika BLDC w Matlab, problem z S-funkcjami

14 Maj 2008 18:14 3023 2
  • Poziom 15  
    Witam
    Próbuję za symulować model silnika BLDC ze strony :
    http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=5042&objectType=file
    Używam Matlaba R13.
    Kiedy nacisnąłem Build all, zgodnie z zaleceniem RTW zmieniłem w parametrach symulacji opcję "Solver options" z "Variable-step ode113(adams)" na "Fixed-step discrete". Ale oprócz tego pojawiają mi się tego rodzaju błędy związane z S-Funkcjami:

    Error executing build command: Error using ==> make_rtw
    Error using ==> rtwgen
    --> Error in S-function block 'mybldc_mdl2/ESTIMATE/S-Function': S-Function 'calc_core' does not exist.

    --> Error in S-function block 'mybldc_mdl2/mybldc/S-Function': S-Function 'MYBLDC2' does not exist.

    --> Error in S-function block 'mybldc_mdl2/zero-cross/M-file S-Function': S-Function 'delay' does not exist.

    Po uruchomieniu pojawiają się takie same trzy błędy "Block error".
    To moje biblioteki:
    Symulacja silnika BLDC w Matlab, problem z S-funkcjami
    Nie zmieniałem nic w modelu do tej pory. Będę wdzięczny za jakąś wskazówkę.
    Darmowe szkolenie: Ethernet w przemyśle dziś i jutro. Zarejestruj się za darmo.
  • Poziom 19  
    wyglada na to jakby nie widział tych funkcji. Sprawdz czy masz je wszystkie w tym samym folderze
  • Poziom 15  
    Tak , to już sprawdziłem. Wszystko mam w jednym katalogu. Wypakowałem to co znalazłem na mathworks community.
    Doszedłem do tego, że symulacja działa tylko jeżeli nie zapisuję (nie wprowadzałem własnych modyfikacji) i nie wciskam debug.
    To wygenerował matlab:


    Loaded Stateflow module Version 5.0 (R13) dated Jun 21 2002, 09:11:50
    Exception occurred during event dispatching:
    java.lang.RuntimeException: Error using ==> helpview
    Specified path for topic collection or file does not exist:
    d:\MATLAB6p5\help\mapfiles\..\toolbox\simulink\ug\simulation9.html
    at com.mathworks.jmi.bean.UDDObject.invokeMethod(UDDObject.java:525)
    at com.mathworks.jmi.bean.UDDObject.invokeMethod(UDDObject.java:525)
    at DAStudio_DiagnosticViewerBeanAdapter0.helpButton(DAStudio_DiagnosticViewerBeanAdapter0.java)
    at com.mathworks.toolbox.dastudio.diagView.DiagnosticViewerWindow$7.actionPerformed(DiagnosticViewerWindow.java:489)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)

    To problem z simulink- iem ?

    Edycja 18.05.08:
    Problem rozwiązany metodą prób i błędów, nie polecam używać polecenia zapisz. Tylko "zapisz jako" polecenie zapisz nie tworzy pliku z rozszerzeniem dll. Dziękuję za radę kenion.
    Pozdrawiam.