如何设置查询仪器块参数在适当的格式吗?
6视图(30天)
显示旧的评论
你好,
我想远程控制Keysight直流电子负载N3300A通过GPIB接口的仿真软件,并使用从倪GPIB-USB-HS +板连接仪器与我的电脑。万博1manbetx我想设置仪器在1.25 CC模式和水槽的电流,然后将测量的当前数据发送回我的仿真软件模型。万博1manbetx没有问题,我和发送控制命令通过测试和测量工具或运行在Matlab脚本中,这里是Matlab中的命令代币:
C1 =通用接口总线(ni的0 3);%董事会指数= 0,地址= 3
fopen (C1);
C1。EOSMode =“读写”;
C1。EOSCharCode =“低频”;
流(C1,“陈2”);%使用通道2
流(C1,输入了);
流(C1, FUNC咕咕叫的);%设置CC模式
流(C1,咕咕叫:响了分钟);%设置较小的电流范围
流(C1,“咕咕叫1.25”);%将电流设置为1.25
流(C1,“输入”);
流(C1,“量:咕咕叫呢?”);% mearsure输入电流
CurData = fscanf (C1)
文件关闭(C1);
删除(C1);
清楚C1;
CurVal = str2double (CurData);
因此我使用相同的设置和命令查询仪器块在仿真软件,但是没有仪器的响应。万博1manbetx
我不确定我在块中设置的参数是正确的格式的,这是我的设置:
参数
Block Sample Time: 1
硬件配置
Timeout: 10
Buffer Size: 512
Interface: GPIB
Board Vendor: National Instruments
Board index: 0
Primary Address: 3
Secondary Address: 0
仪器初始化
Send string: 'CHAN 2 ; INPUT OFF ; FUNC CURR ; CURR:RANG MIN ; CURR 1.25 ; :INPUT ON'
*I had also tried selecting Execute function, but not sure if I have to type
流
或
流(“陈2;输入;FUNC咕咕叫;咕咕叫:响了最小;咕咕叫1.25;:输入”)
。
查询
Query command: 'MEAS:CURR?'
Data format: ASCII
ASCII format string: '%c' (I'd also tried '%1.3f')
Byte order: Little Endian
选中“删除任何额外字节从输入缓冲区”
后最初反应:对新数据重复查询
此外,因为我可以通过Matlab脚本获取仪器数据并将其存储在工作区,有没有方法来运行一个m文件在每个时间步在仿真软件?万博1manbetx
我想测量数据导入仿真软件模型和应用模型Destop实时进行实时处理。万博1manbetx
然而,我不能命令写入Matlab功能块,因为它存在一个错误”
通用接口总线的类不支持代码生成。万博1manbetx
”,也不知道回调可以自动运行脚本在每一个时间步。
任何提示设置查询仪器或导入数据块从m文件将不胜感激!
问候,
乔安妮
0评论
答案(2)
Jan Houska
2021年4月18日
嗨,乔安妮,
你不能使用
通用接口总线
桌面实时对象模型在外部模万博1manbetx式,因为它不支持代码生成。万博1manbetx然而,你仍然可以使用对象与桌面实时仿真软件在正常模式。万博1manbetx要做到这一点,请把
实时同步
阻止到你的模型和运行模型模拟将来发布选项卡(相对于桌面实时选项卡)。
祝你好运,简
安德烈Ursache
2021年4月29日
Joanne,
如果你使用MATLAB中的gpib代码的功能块,因为它不支持代码生成你需要声明通用接口总线(gpib相关函数的使用,即fopen,等等)与编码器。万博1manbetx外在(
//www.tianjin-qmedu.com/help/万博1manbetxsimulink/function-definition.html
)。在MATLAB功能块设置/获取gbib属性值也需要使用设置和获取功能,而不是点符号。
另一个选择是调用MATLAB函数通过一种解释MATLAB函数块(
//www.tianjin-qmedu.com/help/万博1manbetxsimulink/slref/interpretedmatlabfunction.html
)。
故障排除的行为你看到查询仪器块,考虑接触MathWorks支持。万博1manbetx
安德烈