Help with error Invalid argument at position 2. Function requires exactly 1 positional input(s).

39 次查看(过去 30 天)
I need some help debugging an error I am seeing in my command window when trying to invoke a static method.
This is the code I have began writing to remotely control a visa instrument.
classdef TandE
methods(Static)
function insertionloss(machine, ip, calfile)
switch machine
case 1
vna = visadev('ni', ip);
fopen(vna);
%Setup Calibration / Port Mapping
write(vna, "SYST:PRESET");
write(vna, "MMEM:LOAD:CSAR" + ' ' + calfile);
write(vna, "*WAI");
write(vna, "SENS:SWE:MODE CONT");
fclose(vna);
case 2
otherwise
warning('Unexpected Machine')
end
end
end
end
When I try to call the function I am hit with this error. I am not quite sure what I am doing incorrectly but some help would be appreciated.
>> a = TandE
a =
TandE with no properties.
>> a.insertionloss(1, ip, calfile)
Error using TandE.insertionloss
Invalid argument at position 2. Function requires exactly 1 positional input(s).
>>

采纳的回答

Tanner Fortier
Tanner Fortier 2022-12-27
移动:Voss 2022-12-28
Issue was fixed, found it it was due to the visadev call and not the function call. Was using visa to call before and did not realize that the newer visadev did not have the same requirements for a call.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Downloads 的更多信息

产品


版本

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by