Migrating 2015b code to 2018b

Hi everyone ,
I have a .m file which makes use of functions that were available only in 2015b version of matlab and now i need to make the code working on 2018b ? Can someone help to do this?
Thank you

 Respuesta aceptada

Cris LaPierre
Cris LaPierre el 7 de Jul. de 2021
Editada: Cris LaPierre el 7 de Jul. de 2021
The analoginput function was removed in R2016a. See the release notes here (under Legacy Interface Removed).
Pre R2016a you might do this:
% Legacy code
ai = analoginput('nidaq','Dev1');
addchannel(ai,0);
start(ai);
data = getdata(ai);
Equivalent code starting in R2016a
s = daq.createSession('ni');
addAnalogInputChannel(s,'Dev1',1,'voltage')'
data = startForeground(s);

9 comentarios

Ajai Singh
Ajai Singh el 7 de Jul. de 2021
Thank you for the help , i appreciate it. I was able to resolved analoginput part of the code but i am getting error " too many inputs for daq.getDevices
Cris LaPierre
Cris LaPierre el 7 de Jul. de 2021
Editada: Cris LaPierre el 7 de Jul. de 2021
Please share the full error message (all the red text). Without seeing your cody, my initial reaction is that daq.getDevices does not appear to accept any inputs (see documentation), so you may have a syntax error in your code.
Ajai Singh
Ajai Singh el 7 de Jul. de 2021
Sorry for the confusion , can you please tell me the alternative of haqhwinfo command ?
Cris LaPierre
Cris LaPierre el 7 de Jul. de 2021
MATLAB convereted to a session-based interface. See this page on how to transiion your code to the new interface.
So basically i need to convert this code
HWInfo = daqhwinfo(analoginput(handles.DeviceName,handles.DeviceID))
to 2018 where
handles.DeviceName = 'nidaq'
handles.DevideID = 'dev1'
Cris LaPierre
Cris LaPierre el 7 de Jul. de 2021
See this session-based interface example (on the page I linked to previously). You can see the equivalent legacy-interface code just above it.
Thank you so much that was really helpful , but still i am stuck here at :
I cannot find the property (DifferentialIDs) of the object created by daq.getDevices
for example
HWinfo = daq.getDevices
HWinfo.DifferentialIDs
What does DifferentialIDs refer to??
Cris LaPierre
Cris LaPierre el 7 de Jul. de 2021
I'm not sure what it refers to. My searching suggests it is not a property of session-based interfaces. I can't find any references to it at least.
Ajai Singh
Ajai Singh el 7 de Jul. de 2021
Thank you so much for your help. I really appreciate it.

Iniciar sesión para comentar.

Más respuestas (1)

Sulaymon Eshkabilov
Sulaymon Eshkabilov el 7 de Jul. de 2021
In fact, in general all M-files (Simulink .slx and .mdl files) are forward compatible. However, there a few fcn/command syntaxes have been changed in later versions of matlab. E.g.:
legend('Abc', 'Dce', 1) % Old version
legend('Abc', 'Dce', 'location', 'northeast')

1 comentario

Ajai Singh
Ajai Singh el 7 de Jul. de 2021
HWInfo = daqhwinfo(analoginput(handles.DeviceName,handles.DeviceID))
the above line has functions that were used in 2015b , can you help me to make it work on 2018b?

Iniciar sesión para comentar.

Categorías

Más información sobre Introduction to Installation and Licensing en Centro de ayuda y File Exchange.

Productos

Versión

R2018b

Preguntada:

el 7 de Jul. de 2021

Comentada:

el 7 de Jul. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by