なかのにっき

最新版はこちら。 突っ込みは各日付の BBS エントリのほか、 メール (nakano@st.seikei.ac.jp) や フォーム からどうぞ。 なおスパム除けのため、BBS 機能には 緩い認証を入れて います。 検索エンジンから来た方は、エンジンの方のキャッシュを見るか、 下の簡易検索を試してみてください。


hns - 日記自動生成システム - Version 2.19.5

先月 2025年01月
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Namazu for hns による簡易全文検索
詳しくは 詳細指定/ヘルプを参照して下さい
検索式:

2025年01月07日(火) [n年日記]

#12 日記再開の感想

日記に書いてみるとやることが多いな…1 件ずつの時間はそれほどでもないんだが。

#11 VP

U-タイトシールが到着したので実験棚へ。みつからないので UGD-1S のスペアをひとつ発注。

#10 要旨チェック

がんばる。

#9 人事関連

書類を整えて送付。

#8 SCPI 実験関連

ヤマト科学東京西営業所の南さんから連絡、見積もらったのでまず DMM を 1 台発注。

#7 中三卒業準備委員会

買い物の件で中高事務原口さん、先方の業者さんとやりとり。

#6 プログラミング C II

最終課題を CP に展開。

#5 某案件

次々 LINE に参加いただきつつあるのでそれぞれ対応。

#4 N2・高圧ガス

年末不在だったときの納品伝票にサインして空きをお持ちいただく。

CRIS の高圧ガス管理について連絡、設定変更をしていただく。これもやらねば。

#3 液体窒素課金表

価格が変わってアップデートしたものがうまく動いていない、との連絡をいただいて対応。 残量の価格がアレなため。

#2 学園始動

冬休みのあいだの到着品を検品、その後いろいろ検収したり伝票チェックしていただいたり。

#1 皮膚科

10 時にネット予約にアクセスし、7 番がとれたので受診へ。
コメント [全部読む/投稿する]

2025年01月06日(月) [n年日記]

#6 プログラミング C II

最終課題案をつくって鈴木先生へ。

#5 JVSS 案件

部会の今年度 報告・次年度計画と予算をつくって関係のみなさんにメール。

#4 中三卒業準備委員会

依頼していた業者さんからメールがきたので返信。うーん。

#3 某案件

みなさんにいろいろ連絡。 大学の自席に携帯の電波が入らないのがいたい。

#2 レポート採点

すすめる。EEexp B 班をクリア。

#1 日記

いやちょっと再開してみようかなと。
コメント [全部読む/投稿する]

2025年01月05日() [n年日記]

#3 レポート採点

すすめるがあまりすすまない。

#2 SCPI 実験関連

OWON はヤマト科学さんが代理店のようなので web フォームから見積依頼。 営業所単位での連絡を受けてくれるメールアドレスがあればいいと思うんだが。

#1 某案件

午前にご訪問。いろいろ済ませて 14 時ころ大学へ。
コメント [全部読む/投稿する]

2025年01月04日() [n年日記]

#4 某案件

びっくり。ひとまず秘密日記へ。

#3 実験対応

E さんが成膜の仕込みにきてて、色々対応。

#2 卒論修論予稿

到着分については折り返し。

#1 レポート採点

EE 実験の C 班をおわらす。しかし進みがわるい。
コメント [全部読む/投稿する]

2025年01月03日(金) [n年日記]

#2 Jupyter Notebook の起動時フォルダ変更

データドライブに変更したかったので。
  1. 「スタート」メニューの Jupyter Notebook アイコンを右クリック→その他→ファイルの場所を開く
  2. エクスプローラから JN アイコンを右クリック→プロパティを選択
  3. 「リンク先」の %USERPROFILE% になっているところを --notebook-dir="D:\JPYNB" に変更
  4. 作業フォルダーも %USERPROFILE% から D:\JPYNB に変更
で実行したらそのようになった。 こちら に同様の記述がある。

#1 Python Serial で SCPI

とりあえず電源だけで動かしてみるの巻。

Jupyter のルートフォルダ確認:

import os
print(f"{os.getcws()}")
でわかる。自分は C:\Users\nakano だった。

jupyter → .py:

参考こちら
jupyter nbconvert --to python .\hoge.jpynb

というわけでひとまずできたもの:

#!/usr/bin/env python
# coding: utf-8

# In[1]:
import serial
import time
import sys
import matplotlib.pyplot as plt


# In[2]:
class Spe:
    def __init__(self, port):
        try:
            self.spe = serial.Serial(port, 115200, timeout=None)
        except:
            print(f"{port} の機器を認識できません")
            self.spe.close()
            sys.exit()
        self.spe.write('*idn?\r\n'.encode())
        line = self.spe.readline()
        idArray = line.decode().rstrip().split(',')
        print(f"{idArray[1]} is ready\n")
        self.setV(0.0)
        self.setI(0.0)
        self.setVL(5.0)
        self.setIL(0.1)
    def __del__(self):
        self.outOff()
        self.setV(0.0)
        self.setI(0.0)
        self.setVL(5.0)
        self.setIL(0.1)
        self.spe.close()
    def setVL(self, vlimit):
        self.spe.write(f"VOLT:LIM {vlimit}\r\n".encode())
    def setV(self, voltage):
        self.spe.write(f"VOLT {voltage}\r\n".encode())
    def setIL(self, climit):
        self.spe.write(f"CURR:LIM {climit}\r\n".encode())
    def setI(self, current):
        self.spe.write(f"CURR {current}\r\n".encode())
    def outOn(self):
        self.spe.write('OUTP ON\r\n'.encode())
    def outOff(self):
        self.spe.write('OUTP OFF\r\n'.encode())
    def getV(self):
        self.spe.write("MEAS:VOLT?\r\n".encode())
        line = self.spe.readline()
        return float(line.decode().rstrip())
    def getI(self):
        self.spe.write("MEAS:CURR?\r\n".encode())
        line = self.spe.readline()
        return float(line.decode().rstrip())


# In[3]:
spe6102 = Spe("COM4")
spe6102.setVL(12.0)
spe6102.setIL(0.5)


# In[4]:
spe6102.setV(12)
spe6102.outOn()
voltage_data = []
current_data = []
for n in range(11):
    current = 0.01 * n
    spe6102.setI(current)
    time.sleep(1.5)
    voltage = spe6102.getV()
    current = spe6102.getI()
    voltage_data.append(voltage)
    current_data.append(current)
    print(f"{voltage},{current}")
spe6102.outOff()
del spe6102


# In[5]:
plt.figure(figsize=(8,6))
plt.plot(voltage_data, current_data, marker = 'o', linestyle = '', label = '100 ohm')
plt.xlabel('Voltage [V]')
plt.ylabel('Current [A]')
plot.savefig('SerialTest.jpg')
plt.show()
ChatGPT さんに添削してもらったら、del spe6102 するんじゃなくて
with Spe("COM4") as spe6102:
    ....
するほうがええで、と教えてもらった。まあそうだけど、このあと複数の機器を使うことになるので、今回は一応このままに。

こんなグラフができた。つないだのは 100Ω の抵抗。

わりと出力が指定とはばらつくな…まあ電流の小さいところだからしょうがない?

ChatGPT(o4) とのセッション:

いつもの。
コメント [全部読む/投稿する]

以上、5 日分です。
タイトル一覧
カテゴリ分類
book
dept
issp
labo
paper
snap
stock
vsj
Powered by hns-2.19.5, HyperNikkiSystem Project

中野武雄 (NAKANO, Takeo) <nakano@st.seikei.ac.jp> Since 1999-10-07
RSS feed, 更新時刻, LIRS エントリ, アクセス制御 (解説)

中野のホームページへ