资源简介

附件是本人通过C++调用Matlab engine的方式写的DLL接口,通过接口可以直接调用simulink模型,比其他方式调用的优点是,不用再将模型生成代码或Dll

资源截图

代码片段和文件信息

#include “stdafx.h“
#include “VcEngineDll.h“

bool vcOpenEngine()
{
pEngine = engOpen(NULL);
if(NULL == pEngine)
{
return false; 
}
else
{
return true;
}
}


bool vcCloseEngine()
{
if (pEngine !=NULL)
{
bool bFlag = engClose(pEngine);
if(0 == bFlag)
{
pEngine = NULL;
return true; 
}
}
return false;
}

//void vcCreateMxArray(const char* pSrcVarint iVarLengthmxArray* pDstVar)
//{
// if(pSrcVar != NULL)
// {
// mxArray *pVarArray = mxCreateDoubleMatrix(1iVarLengthmxREAL);
// if (NULL != pVarArray)
// {
// memcpy((char*) mxGetPr(pDstVar)pSrcVariVarLength * sizeof(double));
// }
// }
//}

bool vcPutVarToWorkpace(double* pScrVarconst char* pcVarNameint iVarLength)
{
if((pScrVar != NULL)&&(pEngine != NULL))
{
double i  = *pScrVar;
mxArray *pVarArray = mxCreateDoubleMatrix(1iVarLengthmxREAL);
if (NULL != pVarArray)
{
memcpy((double*) mxGetPr(pVarArray)(double*)pScrVariVarLength * sizeof(double));
}

int iFlag = engPutVariable(pEnginepcVarNamepVarArray);
if (0 == iFlag)
{
return true;
}
}
return false;
}

double vcGetVarFromWorkpace(const char* pcVarName)
{
mxArray* T = NULL;
//T = engGetVariable(pEngine“m_it_duty_max“);
T = engGetVariable(pEnginepcVarName);
if(T == NULL)
{
return 0;
}
/*int i = mxGetN(T);
double i = mxGetScalar(T+i);*/
double i = mxGetScalar(T);
return i;
}

void vcEngineCommand(const char* pCommand)
{
if (NULL != pEngine)
{
engEvalString(pEnginepCommand);
}
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-01-18 09:44  VcEngineDll\
     目录           0  2017-12-29 15:36  VcEngineDll\ipch\
     目录           0  2017-12-29 15:36  VcEngineDll\ipch\vcenginedll-10bb28e1\
     文件    71958528  2017-12-29 15:36  VcEngineDll\ipch\vcenginedll-10bb28e1\vcenginedll-60558757.ipch
     目录           0  2017-12-29 15:05  VcEngineDll\VcEngineDll\
     文件         900  2016-08-25 16:30  VcEngineDll\VcEngineDll.sln
     文件       13824  2016-08-25 16:30  VcEngineDll\VcEngineDll.suo
     文件       26112  2017-12-29 15:38  VcEngineDll\VcEngineDll.v12.suo
     目录           0  2016-08-25 16:30  VcEngineDll\VcEngineDll\Debug\
     文件         313  2016-08-25 16:30  VcEngineDll\VcEngineDll\EngineInferface.h
     文件        1572  2016-08-25 16:30  VcEngineDll\VcEngineDll\EngineInterface.cpp
     文件        2858  2016-08-25 16:30  VcEngineDll\VcEngineDll\ReadMe.txt
     目录           0  2016-08-25 16:30  VcEngineDll\VcEngineDll\Release\
     目录           0  2017-12-29 15:05  VcEngineDll\VcEngineDll\res\
     文件         382  2016-08-25 16:30  VcEngineDll\VcEngineDll\Resource.h
     文件         806  2016-08-25 16:30  VcEngineDll\VcEngineDll\res\VcEngineDll.rc2
     文件         211  2016-08-25 16:30  VcEngineDll\VcEngineDll\stdafx.cpp
     文件        1290  2016-08-25 16:30  VcEngineDll\VcEngineDll\stdafx.h
     文件         314  2016-08-25 16:30  VcEngineDll\VcEngineDll\targetver.h
     文件       19444  2016-08-25 16:30  VcEngineDll\VcEngineDll\VcEngineDll.aps
     文件        2225  2016-08-25 16:30  VcEngineDll\VcEngineDll\VcEngineDll.cpp
     文件         123  2016-08-25 16:30  VcEngineDll\VcEngineDll\VcEngineDll.def
     文件         612  2016-08-25 16:30  VcEngineDll\VcEngineDll\VcEngineDll.h
     文件        6530  2016-08-25 16:30  VcEngineDll\VcEngineDll\VcEngineDll.rc
     文件        6888  2016-08-25 16:30  VcEngineDll\VcEngineDll\VcEngineDll.vcxproj
     文件        2050  2016-08-25 16:30  VcEngineDll\VcEngineDll\VcEngineDll.vcxproj.filters
     文件         143  2016-08-25 16:30  VcEngineDll\VcEngineDll\VcEngineDll.vcxproj.user

评论

共有 条评论