![]() |
Zusammenspiel mit Simulink - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Zusammenspiel mit Simulink (/Thread-Zusammenspiel-mit-Simulink) |
Zusammenspiel mit Simulink - axeme - 07.06.2007 15:55 Hallo, ich habe folgendes Problem: Ich nutze LabVIEW 8.2 inkl. SIT 3.0.2 zusammen mit Simulink 6.4. Ich habe nun (zum testen) einfach mal eine Sinusfunktion mit Simulink hergestellt und kann ohne Probleme mit LabVIEW üben das "SignalProbe" die Parameter (Amplitude etc.) verändern. Das Problem ist, dass ich mir die Daten, die Simulink berechnet, nicht in LabVIEW zurückholen kann, also z.B. keinen Verlaufsgraph erstellen kann in LabVIEW, weil dann sofort eine Fehlermeldung von MatLab kommt (die leider etwas länglich ist und keinen konkreten Fehler ausweist). Hat jemand eine Idee, woran das liegen könnte? Danke schon mal im Voraus! axeme Zusammenspiel mit Simulink - A.Berndsen - 08.06.2007 10:40 Hallo Axeme, ich bin leider kein Matlab-Experte. Aber poste doch mal die Fehlermeldung. Vielleicht sagt das jemandem etwas. Grüße Andreas Zusammenspiel mit Simulink - thomas.sandrisser - 08.06.2007 15:29 Simulink 6.4 ist Matlab 2006 a oder b? SIT 3.0.2 ist nur bis 2006a kompatibel. Ist der SIT Server erfolgreich in Matlab gestartet? Ist die Firewall entsprechend konfiguriert? Ist LabVIEW auf "." anstatt auf Komma "," umgestellt? Zusammenspiel mit Simulink - axeme - 09.06.2007 14:34 ' schrieb:Simulink 6.4 ist Matlab 2006 a oder b? Matlab-Version 2006a, SIT-Server ganz normal gestartet, Trennung durch Punkt ist eingestellt. Soweit funktioniert auch alles, ich kann mit LabVIEW auf Simulink zugreifen, kann aber die Daten nicht in LabVIEW zurückholen (wie oben beschrieben). Werde die Meldung mal posten, wenn ich wieder bei der Arbeit bin. Zusammenspiel mit Simulink - axeme - 13.06.2007 13:38 So, hier nun die versprochene Fehlermeldung von MatLab (leider etwas länglich): <blockquote> ------------------------------------------------------------------------ Segmentation violation detected at Wed Jun 13 14:28:08 2007 ------------------------------------------------------------------------ Configuration: MATLAB Version: 7.2.0.232 (R2006a) Operating System: Microsoft Windows 2000 Window System: Version 5.0 (Build 2195: Service Pack 3) Processor ID: x86 Family 6 Model 7 Stepping 3, GenuineIntel Virtual Machine: Java 1.5.0 with Sun Microsystems Inc. Java HotSpot Client VM mixed mode Default Charset: windows-1252 Register State: EAX = 01b742a0 EBX = 298c3bf0 ECX = 01b742a8 EDX = 13bfb008 ESI = 13bfb008 EDI = 00000000 EBP = 00d0aa60 ESP = 00d0aa60 EIP = 7a3da9cc FLG = 00010206 Stack Trace: [0] libmwsimulink.dll:int __cdecl SfcnSigListGetNumRegions(void *,int)(0x01b742a0, 0x13bfb008, 0x298c3bf0, 0x13dae290) + 12 bytes [1] SignalProbe.dll:0x299d15a3(0x298c3bf0, 0x13bfb008, 0, 0x298c3bf0) [2] SignalProbe.dll:0x299d251c(0, 0x29832bec "sinewave", 0x13dae290, 0x13bfb008) [3] SignalProbe.dll:0x299d24b7(0x298c3bf0, 0, 0x00d0aafc "<«Ð", 0x78545b37) [4] SignalProbe.dll:0x299d1d0a(0xfffffffe, 0x0268dfb4, 5, 0x29835c20 " ï-) À-)àÑ-) É-)àõ-)e") [5] libmex.dll:_mexRunMexFile(0xfffffffe, 0x0268dfb4, 5, 0x29835c20 " ï-) À-)àÑ-) É-)àõ-)e") + 119 bytes [6] libmex.dll:private: void __thiscall Mfh_mex::runMexFileWithSignalProtection(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(0xfffffffe, 0x0268dfb4, 5, 0x29835c20 " ï-) À-)àÑ-) É-)àõ-)e") + 73 bytes [7] libmex.dll:public: virtual void __thiscall Mfh_mex::dispatch_file(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(0xfffffffe, 0x0268dfb4, 5, 0x29835c20 " ï-) À-)àÑ-) É-)àõ-)e") + 169 bytes [8] m_dispatcher.dll:public: virtual void __thiscall Mfh_file::dispatch_fh(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(0xfffffffe, 0x0268dfb4, 5, 0x29835c20 " ï-) À-)àÑ-) É-)àõ-)e") + 240 bytes [9] m_dispatcher.dll:_mdDoMatlabFcnCall(0xfffffffe, 0x0268dfb4, 5, 0x29835c20 " ï-) À-)àÑ-) É-)àõ-)e") + 192 bytes [10] libmwsimulink.dll:struct slErrMsg_tag * __cdecl CMexSFcnUpdateFcn(struct slSFcnInfo *)(0x0268df90, 0, 0x280efda0, 0x28a3a9a0) + 242 bytes [11] libmwsimulink.dll:struct slErrMsg_tag * __cdecl SFcnUpdateFcn(class slBlock *,class slSimBlock_tag *)(0x280efda0, 0x28a3a9a0, 1, 0) + 293 bytes [12] libmwsimulink.dll:struct slErrMsg_tag * __cdecl BlockUpdate(class slSimBlock_tag *)(0x00a3a9a0, 0x00d0b108 "$±Ð", 0x7a1407f3, 0x28a3a9a0) + 264 bytes [13] libmwsimulink.dll:public: virtual struct slErrMsg_tag * __thiscall LegacyDirectRunTimeDispatcher::Update(class slSimBlock_tag *)(0x28a3a9a0, 0x1b3c2a20, 0x1b3fe8a0, 0x298c3700) + 12 bytes [14] libmwsimulink.dll:_BdSystemUpdate(0x1b3c2a20, 0x2992b8d0, 0x1b3c2a20, 0x1b3c2a20) + 675 bytes [15] libmwsimulink.dll:struct slErrMsg_tag * __cdecl BdUpdateFcn(struct slModel_tag *)(0x1b3c2a20, 0, 0x298c37d0, 0x00d0b198 "´±Ð") + 55 bytes [16] libmwsimulink.dll:struct slErrMsg_tag * __cdecl ModelUpdate(struct slModel_tag *)(0x1b3c2a20, 0x298c37d0, 0x1b3c2a20, 0) + 91 bytes [17] libmwsimulink.dll:_slDoOutputAndUpdate(0x013c2a20, 0x00d0b1e0, 0, 0x79144300) + 921 bytes [18] libmwsimulink.dll:_StepMenuSim(0x1b3fe8a0, 0, 0x1b3fe8a0, 0x00d0b1e4) + 183 bytes [19] libmwsimulink.dll:_sleModelExecutionInterface(0x1b3fe8a0, 5, 0x00d0b1e0, 0x29831c84) + 144 bytes [20] libmwsimulink.dll:void __cdecl sluiWorkProcSimStep(void *)(0x1b3fe8a0, 0x77e73a7b, 721176, 0x790fd375) + 27 bytes [21] uiw.dll:void __cdecl UIW_CallWorkProcs(void)(0x00d0b2b0, 0x00d0b201 "xàw", 255, 0x791443f0) + 67 bytes [22] uiw.dll:char * __cdecl getCommand(char *,int,int)(0x79d8ac18, 4096, 255, 0x00d0b340 "X³Ð") + 98 bytes [23] uiw.dll:public: virtual char * __thiscall uiw::UIW_IOProxy::getCmdWindowCommand(char *,int,int)const (0x79d8ac18, 4096, 255, 0x01be5520) + 20 bytes [24] bridge.dll:char * __cdecl win32IoReadLine(int,bool,struct _iobuf *,char *,char *,int,bool *)(0x7c38b4e8, 0x01be5520, 4096, 0x00d0b387) + 213 bytes [25] bridge.dll:char * __cdecl ioReadLine(int,bool,struct _iobuf *,char *,char *,int,bool *)(255, 0, 0x7c38b4e8, 0x01be5520) + 27 bytes [26] bridge.dll:void __cdecl mnGetFullLine(char * *,unsigned int *,unsigned int *,int,bool)(0x00d0f3b4, 0x00d0f3ac, 255, 0) + 77 bytes [27] bridge.dll:_mnGetCommandLineBuffer(255, 0, 0x00d0f4b4, 0x00d0f4b8 "ü=çwBXÑ") + 97 bytes [28] bridge.dll:$L92008(0x00d0f4b8 "ü=çwBXÑ", 0x01ab8db8, 0, 0x784cf1b0) + 398 bytes [29] mcr.dll:public: void __thiscall mcrInstance::mnParser(void)(0x77e73dfc, 0x00d15842, 0x01ab8db8, 0x01ab8df8) + 51 bytes [30] MATLAB.exe:0x00401941(4194304, 0, 0x00d15842, 1) [31] MATLAB.exe:0x004076ff(0x00780065, 101, 0x7ffdf000, 0) [32] KERNEL32.dll:0x77e81af6(0x0040757a, 0, 200, 256) This error was detected while a MEX-file was running. If the MEX-file is not an official MathWorks function, please examine its source code for errors. Please consult the External Interfaces Guide for information on debugging MEX-files. If it is an official MathWorks function, please follow these steps in reporting this problem to The MathWorks so that we have the best chance of correcting it: 1. Send this crash report to segv@mathworks.com for automated analysis. For your convenience, this information has been recorded in: C:WINNTProfilesMehlsLOCALS~1Tempmatlab_crash_dump.1912 2. If the problem is reproducible, please submit a bug report via: http://www.mathworks.com/support/contact_u..._request_1.html Thank you for your assistance. Please save your workspace and restart MATLAB before continuing your work. ------------------------------------------------------------- This segmentation violation occurred while executing the S-function 'SignalProbe' in block 'sinewave/SignalProbe'. A common cause of this segmentation violation is an incorrect input port direct feedthrough setting. Each input port of the S-function that is read (accessed) in mdlOutputs and/or mdlGetTimeOfNextVarHit must specify that it needs its input signal in these routines by setting direct feedthrough for these input ports. 1) To debug your C-MEX S-function, you can enable diagnostics by compiling the S-function source with the -g flag, e.g., mex -g sfunction_name.c 2) You can ask Simulink to try assuming your S-function has direct feedthrough using: set_param('modelname','TryForcingSFcnDF','on' ![]() If Simulink can find a valid sorting mode that does not result in algebraic loops involving your S-function, your model will execute (assuming that the cause of this segmentation violation is an incorrect direct feedthrough setting on an input port). See matlabroot/simulink/src/sfuntmpl_directfeed.txt ------------------------------------------------------------- ------------------------------------------------------------------------ Segmentation violation detected at Wed Jun 13 14:28:17 2007 ------------------------------------------------------------------------ Configuration: MATLAB Version: 7.2.0.232 (R2006a) MATLAB License: 78139 Operating System: Microsoft Windows 2000 Window System: Version 5.0 (Build 2195: Service Pack 3) Processor ID: x86 Family 6 Model 7 Stepping 3, GenuineIntel Virtual Machine: Java 1.5.0 with Sun Microsystems Inc. Java HotSpot Client VM mixed mode Default Charset: windows-1252 Register State: EAX = 01b742a0 EBX = 298c3bf0 ECX = 01b742a8 EDX = 13bfb008 ESI = 13bfb008 EDI = 00000000 EBP = 00d0aad4 ESP = 00d0aad4 EIP = 7a3da9cc FLG = 00010206 Stack Trace: [0] libmwsimulink.dll:int __cdecl SfcnSigListGetNumRegions(void *,int)(0x01b742a0, 0x13bfb008, 0, 0x13dae290) + 12 bytes [1] SignalProbe.dll:0x299d15a3(0x298c3bf0, 0x13bfb008, 0, 0x298c3bf0) [2] SignalProbe.dll:0x299d26de(0x298c3bf0, 0x13bfb008, 0x13dae290, 0x29832bec "sinewave") [3] SignalProbe.dll:0x299d26a2(0x298c3bf0, 0x00d0ab70 "°«Ð", 0x78545b37, 0xfffffffe) [4] SignalProbe.dll:0x299d1d2c(0xfffffffe, 0x0268dfb4, 5, 0x29835c20 " ï-) À-)àÑ-) É-)àõ-)e") [5] libmex.dll:_mexRunMexFile(0xfffffffe, 0x0268dfb4, 5, 0x29835c20 " ï-) À-)àÑ-) É-)àõ-)e") + 119 bytes [6] libmex.dll:private: void __thiscall Mfh_mex::runMexFileWithSignalProtection(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(0xfffffffe, 0x0268dfb4, 5, 0x29835c20 " ï-) À-)àÑ-) É-)àõ-)e") + 73 bytes [7] libmex.dll:public: virtual void __thiscall Mfh_mex::dispatch_file(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(0xfffffffe, 0x0268dfb4, 5, 0x29835c20 " ï-) À-)àÑ-) É-)àõ-)e") + 169 bytes [8] m_dispatcher.dll:public: virtual void __thiscall Mfh_file::dispatch_fh(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(0xfffffffe, 0x0268dfb4, 5, 0x29835c20 " ï-) À-)àÑ-) É-)àõ-)e") + 240 bytes [9] m_dispatcher.dll:_mdDoMatlabFcnCall(0xfffffffe, 0x0268dfb4, 5, 0x29835c20 " ï-) À-)àÑ-) É-)àõ-)e") + 192 bytes [10] libmwsimulink.dll:struct slErrMsg_tag * __cdecl CMexSFcnTerminateFcn(struct slSFcnInfo *)(0x0268df90, 0x7a3e12f0, 0x053c7620, 0x025adf40) + 103 bytes [11] libmwsimulink.dll:struct slErrMsg_tag * __cdecl CallMdlTermAndDestroySFcnInfo(class slBlock *,bool)(0x280efda0, 982273, 0x28a3a9a0, 0x280efda0) + 207 bytes [12] libmwsimulink.dll:struct slErrMsg_tag * __cdecl SFcnTerminateFcn(class slBlock *,class slSimBlock_tag *)(0x280efd01, 0x28a3a9a0, 0x28a3a9a0, 0x1b3fe8a0) + 74 bytes [13] libmwsimulink.dll:struct slErrMsg_tag * __cdecl BlockTerminate(class slSimBlock_tag *)(0x00a3a9a0, 0x1b3fe8a0, 0x1b3c2a20, 0x28a27e00) + 81 bytes [14] libmwsimulink.dll:_BdTerminateFcn(0x1b3c2a20, 0x1b3fe8a0, 0x1b3c2a20, 0x7a6e3c50) + 205 bytes [15] libmwsimulink.dll:struct slErrMsg_tag * __cdecl ModelTerminate(struct slModel_tag *)(3942944, 0x00d0b1e0, 0, 0x79144300) + 266 bytes [16] libmwsimulink.dll:_StepMenuSim(0x1b3fe8a0, 0, 0x1b3fe8a0, 0x00d0b1e4) + 440 bytes [17] libmwsimulink.dll:_sleModelExecutionInterface(0x1b3fe8a0, 5, 0x00d0b1e0, 0x29831c84) + 144 bytes [18] libmwsimulink.dll:void __cdecl sluiWorkProcSimStep(void *)(0x1b3fe8a0, 0x77e73a7b, 721176, 0x790fd375) + 27 bytes [19] uiw.dll:void __cdecl UIW_CallWorkProcs(void)(0x00d0b2b0, 0x00d0b201 "xàw", 255, 0x791443f0) + 67 bytes [20] uiw.dll:char * __cdecl getCommand(char *,int,int)(0x79d8ac18, 4096, 255, 0x00d0b340 "X³Ð") + 98 bytes [21] uiw.dll:public: virtual char * __thiscall uiw::UIW_IOProxy::getCmdWindowCommand(char *,int,int)const (0x79d8ac18, 4096, 255, 0x01be5520) + 20 bytes [22] bridge.dll:char * __cdecl win32IoReadLine(int,bool,struct _iobuf *,char *,char *,int,bool *)(0x7c38b4e8, 0x01be5520, 4096, 0x00d0b387) + 213 bytes [23] bridge.dll:char * __cdecl ioReadLine(int,bool,struct _iobuf *,char *,char *,int,bool *)(255, 0, 0x7c38b4e8, 0x01be5520) + 27 bytes [24] bridge.dll:void __cdecl mnGetFullLine(char * *,unsigned int *,unsigned int *,int,bool)(0x00d0f3b4, 0x00d0f3ac, 255, 0) + 77 bytes [25] bridge.dll:_mnGetCommandLineBuffer(255, 0, 0x00d0f4b4, 0x00d0f4b8 "ü=çwBXÑ") + 97 bytes [26] bridge.dll:$L92008(0x00d0f4b8 "ü=çwBXÑ", 0x01ab8db8, 0, 0x784cf1b0) + 398 bytes [27] mcr.dll:public: void __thiscall mcrInstance::mnParser(void)(0x77e73dfc, 0x00d15842, 0x01ab8db8, 0x01ab8df8) + 51 bytes [28] MATLAB.exe:0x00401941(4194304, 0, 0x00d15842, 1) [29] MATLAB.exe:0x004076ff(0x00780065, 101, 0x7ffdf000, 0) [30] KERNEL32.dll:0x77e81af6(0x0040757a, 0, 200, 256) This error was detected while a MEX-file was running. If the MEX-file is not an official MathWorks function, please examine its source code for errors. Please consult the External Interfaces Guide for information on debugging MEX-files. If it is an official MathWorks function, please follow these steps in reporting this problem to The MathWorks so that we have the best chance of correcting it: 1. Send this crash report to segv@mathworks.com for automated analysis. For your convenience, this information has been recorded in: C:WINNTProfilesMehlsLOCALS~1Tempmatlab_crash_dump.1912 2. If the problem is reproducible, please submit a bug report via: http://www.mathworks.com/support/contact_u..._request_1.html Thank you for your assistance. Please save your workspace and restart MATLAB before continuing your work. ------------------------------------------------------------- This segmentation violation occurred while executing the S-function 'SignalProbe' in block 'sinewave/SignalProbe'. A common cause of this segmentation violation is an incorrect input port direct feedthrough setting. Each input port of the S-function that is read (accessed) in mdlOutputs and/or mdlGetTimeOfNextVarHit must specify that it needs its input signal in these routines by setting direct feedthrough for these input ports. 1) To debug your C-MEX S-function, you can enable diagnostics by compiling the S-function source with the -g flag, e.g., mex -g sfunction_name.c 2) You can ask Simulink to try assuming your S-function has direct feedthrough using: set_param('modelname','TryForcingSFcnDF','on' ![]() If Simulink can find a valid sorting mode that does not result in algebraic loops involving your S-function, your model will execute (assuming that the cause of this segmentation violation is an incorrect direct feedthrough setting on an input port). See matlabroot/simulink/src/sfuntmpl_directfeed.txt ------------------------------------------------------------- </blockquote> Kann jemand damit etwas anfangen? Zusammenspiel mit Simulink - axeme - 05.07.2007 10:49 So, Problem gelöst durch neuen Rechner... Plötzlich funktioniert es. Danke trotzdem für die Antworten! |