Datatype problem and pointers for a .DLL

조회 수: 15 (최근 30일)
Torsten Fenn
Torsten Fenn 2015년 10월 8일
답변: Subhamoy Saha 2020년 1월 20일
Hi I have a problem with the following code:
loadlibrary(fullpathToDll, fullpathToHeader)
handlesensor = calllib('MEDAQLib', 'CreateSensorInstance',2) % = SENSOR_ILD1700
calllib('MEDAQLib','SetParameterString',handlesensor,'IP_Interface', 'IF2004_USB');
MATLAB returns an error message in line 3 where I use calllib:
Error using calllib
Array must be numeric or logical or a pointer to one
The code works just fine in C when I use:
hSensor = CreateSenorInstance(2); // = SENSOR_ILD1700
SetParameterString(hSensor, "IP_Interface", "IF2004_USB");
I think the problem is the datatype, but everything I tried did not work. From the documentation I know that the parameters of the function SetParameterString are declared like this:
DWORD handlesensor, LPCSTR paramname, LPCSTR value
I hope you can help me with the information I provided. Thanks!
  댓글 수: 4
Lisa Petzold
Lisa Petzold 2019년 8월 2일
Did anyone find a solution to Torstens Problem?
I am having the same Problem as I am tyring to use the MEDAQLib from Micro-Epsilon to read a sensor from the company.
Thanks a lot!
Petros Neoptolemou
Petros Neoptolemou 2019년 12월 16일
I do have the same issue. Did anyone find the solution, yet?

댓글을 달려면 로그인하십시오.

답변 (2개)

Subhamoy Saha
Subhamoy Saha 2020년 1월 20일
Yeah! I have returned with an answer this time. The error causes due to declration problem of this line
DWORD handlesensor, LPCSTR paramname, LPCSTR value
You need to follow this format
[ERR_CODE, int8Ptr, int8Ptr] SetParameterString (ulong, int8Ptr, int8Ptr)
Use the following code
loadlibrary(fullpathToDll, fullpathToHeader)
handlesensor = calllib('MEDAQLib', 'CreateSensorInstance',2) % = SENSOR_ILD1700
calllib('MEDAQLib','SetParameterString',handlesensor,int8('IP_Interface'), int8('IF2004_USB'));
Please let us know whether it worked or not.

Subhamoy Saha
Subhamoy Saha 2019년 10월 30일
I have IFD2421 sensor connected over TCP/IP and mine is working fine. You did the same thing and the error should not come. Sorry, I could not help you out but let you know soon if possible.
hSensor =calllib('MEDAQLib','CreateSensorInstance','SENSOR_IFD2421')
calllib('MEDAQLib','SetParameterString',hSensor,'IP_Interface','TCP/IP')

카테고리

Help CenterFile Exchange에서 C Shared Library Integration에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by