我继承了一些用于通过 GPIB 连接对 XYZ 平台进行编程的 MATLAB 代码。为了使其与 Python 中的一些现有代码更兼容,我需要以某种方式对其进行翻译,例如使用 PyVISA 包。我真的很想得到一些帮助!
所以,到目前为止我所做的只是基本的东西,即
from visa import *
stage = instrument("GPIB::2")
由此我可以使用识别命令并正确获取设备的 ID:
stage.write("*IDN?")
那么,知道如何将以下 MATLAB 转换为适当的 PyVISA 命令吗?我最大的问题是我真的不知道如何翻译语法......
classdef cascade12000b < handle
properties(Constant)
GPIB_ADDRESS = 28;
DEVICE_TAG = 'Cascade 12000B Probe Station';
DEVICE_ID = 2;
end
properties
gpib_conn;
end
methods
function [obj] = cascade12000b()
obj.open();
end
function [x, y, z] = get_position(obj)
[r] = obj.exec_command(sprintf(':MOV:ABS? %d', cascade12000b.DEVICE_ID));
tmp = sscanf(r, '%d %d %d');
x = tmp(1);
y = tmp(2);
z = tmp(3);
end
function [] = move_absolute(obj, x, y)
[~, ~, z] = obj.get_position();
obj.exec_command(sprintf(':MOV:ABS %d %d %d %d', cascade12000b.DEVICE_ID, x, y, z));
end
function [] = move_relative(obj, dx, dy)
obj.exec_command(sprintf(':MOV:REL %d %d %d %d', cascade12000b.DEVICE_ID, dx, dy, 0));
end