023 ファンクション・ジェネレータをコントロールするPythonスクリプト雛形

2022/03/30

紹介/スクリプト

t f B! P L

前の投稿 022 Pythonでselfを使ってクラスを定義するで,Pythonスクリプトで測定機器のクラスを作成するための,

  • コンストラクタ__init__メンバ関数
  • self
の説明を行いました.
今回は,実際に,PyVISAパッケージを使ってコントロールするための,ファンクション・ジェネレータのクラスの雛形を紹介しようと思います.
class FuncGen:
    #---------------- コンストラクタ
    def __init__(self):
        self.visaresource = "VISARESOURCE"
    #---------------- 測定機器との接続
    def open_instrument(self):
        rm = pyvisa.ResourceManager()
        self.inst = rm.open_resource(self.visaresource)
    #---------------- writeラッパー関数
    def write(self, command):
        self.inst.write(command)
    #---------------- queryラッパー関数
    def query(self, command):
        return self.inst.query(command)
    #---------------- 電圧設定のラッパー関数
    def set_voltage(self, volt):
        command = ":SOUR:VOLT:LEV:IMM:AMPL %gVPP" % (volt)
        self.write(command)
    #---------------- 周波数取得のラッパー関数
    def get_freq(self):
        command = ":SOUR:FREQ?"
        return float(self.query(command))

雛形なので,個別の説明は行いません.
Pythonスクリプトでクラスを定義する際の,全体的な流れをイメージしてもらえばと思います.

上記のクラスの定義では,
    writeラッパー関数
    queryラッパー関数
の2個のラッパー関数を(わざわざ)定義しています.これには理由があります.
(電圧設定のラッパー関数も,周波数取得のラッパー関数も,この2個のラッパー関数を使っています)

次の投稿では,この2個のラッパー関数を(わざわざ)定義する理由について紹介する予定です.

このブログを検索

自己紹介

C++やC#を使って数値解析プログラムの開発を長年行ってきました.
今は,Pythonを使った自動処理システムの開発をメインに行っています.

QooQ