How to catenate string with variable and use this string as visa comand?
Show older comments
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 Comments
KSSV
on 17 May 2017
Question not clear...what is obj there? What exactly you want to do?
Santhana Raj
on 17 May 2017
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
Muhammad Saad Naeem
on 21 May 2017
Muhammad Saad Naeem
on 21 May 2017
Answers (1)
Walter Roberson
on 21 May 2017
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);
Categories
Find more on Test and Measurement in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!