function WriteRaw(obj,message) if obj.RecordCommands fid = fopen('CommandLog.log','a'); fprintf(fid,'%s | %s | WRITE | %s',datetime('now','Format','yyyy-MM-dd HH:mm:ss.SSS'),pad(obj.DeviceName,10),message); fclose(fid); end % just writes the message straight to the session write(obj.Session,message); end
时间: 2024-02-14 19:35:57 浏览: 49
这是一个 MATLAB 中的函数,它用于向仪器发送原始的命令字符串。在这个函数中,输入参数 `obj` 是一个对象,`message` 是要发送的命令字符串。函数的实现是将命令字符串直接写入到仪器的会话中,以发送该命令。需要注意的是,函数还包含其他的功能,如记录命令日志等。
具体来说,函数的第一部分是一个条件语句,判断当前是否需要记录命令日志。如果 `obj.RecordCommands` 等于 true,则表示需要记录日志,函数会将命令字符串写入到文件 `"CommandLog.log"` 中。文件名和路径可以根据实际需要进行修改。文件写入完成后,函数会关闭文件。
第二部分是发送命令字符串。函数调用了 `write` 函数,将命令字符串写入仪器的会话中,以发送该命令。需要注意的是,这里的 `write` 函数是仪器连接接口提供的函数,不同的接口可能实现不同,具体实现可以根据实际情况进行查看。
相关问题
function res = ReadRaw(obj) %读取Session返回的数据 % start by reading one byte res = read(obj.Session,1); % read all the other bytes from the queue res = [res read(obj.Session)]; % if we are logging, write the response query to the log if obj.RecordCommands fid = fopen('CommandLog.log','a'); fprintf(fid,'%s | %s | READ | %s',datetime('now','Format','yyyy-MM-dd HH:mm:ss.SSS'),pad(obj.DeviceName,10),res); fclose(fid); end end
这是一个 MATLAB 对象中的方法,主要功能是从一个与设备连接的会话中读取返回的数据。以下是该函数的详细解释:
输入参数:
- `obj`:该函数所在的 MATLAB 对象
输出参数:
- `res`:读取到的返回数据,以字节数组的形式返回
该函数的具体实现步骤如下:
1. 从会话中读取一个字节,并将其赋值给 `res`
2. 从会话中读取所有剩余的字节,并将它们添加到 `res` 后面,形成完整的返回数据
3. 如果该 MATLAB 对象的属性 `RecordCommands` 为真,表示需要将读取返回数据的操作记录到日志中,那么就将该操作的信息写入到日志文件中
需要注意的是,该方法中涉及到的 `read` 函数是从 MATLAB 中的 Instrument Control Toolbox 中引入的函数,用于从会话中读取数据。另外,该方法中的 `datetime` 和 `pad` 函数也都是 MATLAB 中的内置函数。
阅读全文