Matlab-Использование функции для управления генератором функций

У меня есть эта функция для отправки команды через соединение GPIB на генератор функций (Stanford Research Systems, генератор синтезированных функций, модель DS345), чтобы изменить его амплитуду, частоту и смещение. Однако, когда я раскомментирую строку:

fprintf(obj1, Offs_str)

(который отправляет значение смещения в генератор функций), прибор выдает «синтаксическую ошибку». Это синтаксис, указанный в руководстве. Кроме того, если я изменю команду амплитуды на что-либо, кроме 0,0 (т.е. изменю команду на fprintf(obj1, 'AMPL1.1VP')), возникнет та же синтаксическая ошибка.

Это долгий путь, но есть ли у кого-нибудь опыт использования управления прибором с генератором функций DS345? Или, возможно, есть какая-то проблема с синтаксисом инструментального управления?

function [] = FG_on(Offs)

    %Convert Offset input to string 
    Offs_str = strcat('OFFS',num2str(Offs),'VP');

    %create GPIB handle
    obj1 =  instrfind('Type', 'gpib', 'BoardIndex', 1, 'PrimaryAddress',...
    19, 'Tag', '');

    %Open connection
    fopen(obj1);    

    %Sampling Frequency
    fprintf(obj1, 'FSMP1000'); 
    %Amplitude
    fprintf(obj1, 'AMPL0.0VP');
    %Offset
    %fprintf(obj1, Offs_str);
    %Modulation Type
    fprintf(obj1, 'MTYP5');
    %Function Type
    fprintf(obj1, 'FUNC5');
 end

person User1010011    schedule 23.02.2015    source источник
comment
Не использовал именно этот комплект, но можно ли предположить, что команды FSMP, MTYP5 и FUNC5 работают всегда? Если это так, я думаю, вы можете устранить неправильное завершение строки и т. д. Имеет ли значение порядок команд?   -  person J Richard Snape    schedule 23.02.2015


Ответы (1)


Думаю, нет необходимости в 'VP' в конце определения смещения. Смещение — это просто напряжение, указание Vpp или Vrms не имеет смысла.

Пытаться:

Offs_str = ['OFFS' num2str(Offs)];

По амплитуде в мануале вроде пробел между 'AMPL' и значением. Так что, возможно, вам стоит попробовать 'AMPL 1.0VP'.

person Ratbert    schedule 23.02.2015
comment
Спасибо! Удаление «VP» из смещения и добавление пробела устранило проблему. - person User1010011; 24.02.2015
comment
Хорошо, это был долгий путь в темноте, поэтому я действительно рад, что это сработало! - person Ratbert; 24.02.2015