How to catenate string with variable and use this string as visa comand?

i add the value of c in string and than sendas visa command but it is not working i use two types of code below
c=1;
for i=0:10
c= 0.2+c;
u=fprintf('SOUR:VOLT %dV, (@2)',c);
fprintf(obj, 'u ');
end
also the in second try i use concatenation of string like given below
for i=1:4
%c= i+c;
s2 = 'SOUR:VOLT' ;
s1 = num2str(c);
s3 = 'V, (@2)';
s = strcat(s2,{' '},s1,s3);
fprintf(obj, 's' );
end
but instrument is not receiving proper command as is not giving output accordingly

4 个评论

Question not clear...what is obj there? What exactly you want to do?
I hope you are using the fopen function after creating the visa object. Another thing to check is that the instrument communicates properly for the query for id('*IDN?'). This doesn't require any string concatenation. Hence if this also works, then it might be either your string problem or wrong command problem.
Coming to your question, better to do string concatenation in a simple way as
s=['SOUR:VOLT' num2str(i+c) 'V'];
fprintf(obj,s);
Hope it helps
@Santhana Raj Thanks for help, it is done by your method
@KSSV obj is visa object, i wanted to send command to U2722A via visa, but i was unable to send proper command by including C value

请先登录,再进行评论。

回答(1 个)

You have
u=fprintf('SOUR:VOLT %dV, (@2)',c);
you are trying to use an integer format, %d, for a non-integer value, which is changing by 0.1 at a time. You should use
u=fprintf('SOUR:VOLT %.1fV, (@2)',c);

类别

帮助中心File Exchange 中查找有关 Instrument Control Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by