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