[Scilab-users] (EXCEPTION_ACCESS_VIOLATION) with "scicosim" function
pepe
peter.balazovic at yahoo.com
Mon Feb 25 09:52:44 CET 2013
Hello,
I prepared my own C - function to have own simulation block. It compiles,
link and load the function with no problem. But during the simulation I got
(EXCEPTION_ACCESS_VIOLATION) with "scicosim" function.
Attaching the function:
#include "c:\Program Files
(x86)\scilab-5.4.0\modules\scicos\includes\scicos_malloc.h"
#include "c:\Program Files
(x86)\scilab-5.4.0\libs\MALLOC\includes\MALLOC.h"
#include "scicos_block4.h"
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#define r_IN(n, i) ((GetRealInPortPtrs(blk, n+1))[(i)])
#define r_OUT(n, i) ((GetRealOutPortPtrs(blk, n+1))[(i)])
// inputs
#define Ud (r_IN(0,0))
#define Uq (r_IN(1,0))
#define Tload (r_IN(2,0))
// states
#define Id (GetState(blk)[0])
#define Iq (GetState(blk)[1])
#define Wm (GetState(blk)[2])
#define Theta (GetState(blk)[3])
#define dId (GetDerState(blk)[0])
#define dIq (GetDerState(blk)[1])
#define dWm (GetDerState(blk)[2])
#define dTheta (GetDerState(blk)[3])
// outputs
#define Id_out (r_OUT(0, 0))
#define Iq_out (r_OUT(1, 0))
#define Te_out (r_OUT(2, 0))
//parameters
#define Rs 1.01
#define Lq 0.001
#define Ld 0.001
#define ke 0.02
#define pp 2.
#define Jm 0.008
#define B 0.000005
#define pi 3.14
#define sqrt3 1.732
void myPMSM_block(scicos_block *blk, int flag)
{
double *Te = (double *) * (blk->work);
switch (flag)
{
case Initialization:
Te = (double *) MALLOC(sizeof(double));
Te[0] = 0;
break;
case DerivativeState:
Te[0] = 3./2.*pp/2.*(ke*Iq);// + (Ld - Lq)*Id*Iq);
dId = 1./Ld*(Ud - Rs*Id + Lq*pp/2.*Iq*Wm);
dIq = 1./Lq*(Uq - Rs*Iq);// - (Ld*Id + ke)*pp/2.*Wm);
dWm = 1./Jm*(Te[0] - B*Wm - Tload);
dTheta = Wm;
break;
case OutputUpdate:
Id_out = Id;
Iq_out = Iq;
Te_out = Te[0];
break;
case Ending:
scicos_free(Te);
break;
}
}
After xcos block simulation I am getting within console this message:
Warning !!!
Scilab has found a critical error (EXCEPTION_ACCESS_VIOLATION)
with "scicosim" function.
Save your data and restart Scilab.
Any idea how to resolve this?
Thank you.
Peter
--
View this message in context: http://mailinglists.scilab.org/EXCEPTION-ACCESS-VIOLATION-with-scicosim-function-tp4026020.html
Sent from the Scilab users - Mailing Lists Archives mailing list archive at Nabble.com.
More information about the users
mailing list