Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab中使用函数命令的函数生成器_Matlab_Function_Instruction Set - Fatal编程技术网

Matlab中使用函数命令的函数生成器

Matlab中使用函数命令的函数生成器,matlab,function,instruction-set,Matlab,Function,Instruction Set,我有这个功能,可以通过GPIB连接将命令发送到函数生成器(斯坦福研究系统公司,合成函数生成器,DS345型),以更改其振幅、频率和偏移量。但是,当我取消注释该行时: fprintf(obj1, Offs_str) (向函数生成器发送偏移值),仪器输出“语法错误”。这是手册中指定的语法。此外,如果我将振幅命令更改为0.0以外的任何值(即将命令更改为fprintf(obj1,'AMPL1.1VP')),则会产生相同的语法错误 这是一个长期的尝试,但有没有人有使用DS345函数发生器的仪器控制的经验

我有这个功能,可以通过GPIB连接将命令发送到函数生成器(斯坦福研究系统公司,合成函数生成器,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

我想在偏移量定义的末尾不需要使用
'VP'
。偏移量只是一个电压,指定Vpp或Vrms实际上没有意义

尝试:


对于振幅,在手册中,似乎在
'AMPL'
和值之间有一个空格。因此,也许您应该尝试一下
'AMPL 1.0VP'

没有使用这个确切的工具包,但是可以安全地假设FSMP、MTYP5和FUNC5命令始终有效吗?如果是这样,我认为您可以消除不正确的线路终端等。命令的顺序有什么区别吗?谢谢!从偏移量中删除“VP”并添加一个空格修复了这个问题。好的,这是一个很难解决的问题,所以我真的很高兴它一开始就起作用了!
Offs_str = ['OFFS' num2str(Offs)];