Sequence MakerでKEYSIGHT 34401Aを制御する

## はじめに
Sequence MakerはExcelから測定器を制御可能にするアドインです。この記事ではSequence Makerでどこの誤家庭にもあるKeysightの34401Aデジタル・マルチメータを制御してみます。Sequence Makerで34401Aを制御する基本は以下の記事を参照ください。

https://qiita.com/sequencemaker/items/8e6a370ab0a793a06a3b

:::note warn
***お断り***
本記事の内容はSequence Maker開発元の公式見解ではなく、あくまでも個人が趣味の範囲内で執筆しているものです。記事の内容について開発元へ問い合わせることはお控えください。ご質問・要望などは各記事のコメント欄へお願いいたします。
:::

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3821782/46a33ddf-592c-64ea-313d-39b94fabdb84.png)

（https://www.keysight.com/jp/ja/product/34401A/digital-multimeter-6-digit.html より引用）

## 34401Aの通信コマンドを調べる
34401Aの通信コマンドはユーザーズガイドに載っています。「34401A ユーザーズガイド」などで検索すればすぐに見つかると思います。
https://www.keysight.com/jp/ja/assets/9018-05612/user-manuals/9018-05612.pdf

今回は第6章に載っているアプリケーションプログラムをSequence Makerで実行してみます。

## MEASURE?コマンドを使用したシングル測定

>以下の例では、MEASURE?コマンドを使って1回のAC電流測定を行います。これは、マルチメーターを測定用にプログラムする一番簡単な方法です。ただし、MEASURE?コマンドにはあまり柔軟性がありません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3821782/c1445740-daa7-fcb4-dd22-98fe65c12823.png)

（34401Aユーザーズガイドより引用）

Sequence Makerで書いて実行するとこんな感じになります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3821782/5aa09648-1b82-58e0-ec23-19fa074e58a5.png)

コマンドを書くだけで測定値が取れました！

せっかくなので20回くらい測定してみましょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3821782/0c9c5a46-48da-4e22-9b8e-e01ee2175452.png)

C#やPythonでプログラミングする場合は繰り返しの処理をforループなどで回すと思いますが、Sequence Makerの場合はExcelのセルをコピペしてしまった方が早いので、同じコマンドをただただ並べています。
また、Excelなのでグラフ化も速攻でできます。グラフを先に作っておけば、測定しながらリアルタイムで描画も可能です。

## CONFigureコマンドを使用した演算機能
>以下の例では、CONFigureコマンドをdBm演算機能で使用します。CONFigureコマンドは、MEASURE?コマンドに比べてプログラミングに多少柔軟性があります。このため、マルチメータの構成を「段階的」に変更できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3821782/b6777d90-4865-5b1d-4949-2de1f76edd1a.png)

（34401Aユーザーズガイドより引用）

Sequence Makerで書いて実行するとこんな感じになります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3821782/c6df889e-6cbe-3f46-8bde-603017ed0cb5.png)

<details><summary>コピペ用</summary>

```
*RST
*CLS
CALC:DBM:REF 50
CONF:VOLT:AC 1,0.001
DET:BAND 200
TRIG:SOUR IMM
CALC:FUNC DBM
CALC:STAT ON
READ?
```
</details>


コマンドをそのまま並べて書くだけです。
もちろん、READ?を並べて書けば繰り返し測定も可能です。

## おまけ
以下のように書くと・・・34401Aのディスプレイで「SEQUENCE MAKER」の文字がスクロール表示されます！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3821782/2fabaeb8-81a8-669a-cdbe-7cb4f7204858.png)

<details><summary>コピペ用</summary>

```
DISP:TEXT '           S'
DISP:TEXT '          SE'
DISP:TEXT '         SEQ'
DISP:TEXT '        SEQU'
DISP:TEXT '       SEQUE'
DISP:TEXT '      SEQUEN'
DISP:TEXT '     SEQUENC'
DISP:TEXT '    SEQUENCE'
DISP:TEXT '   SEQUENCE '
DISP:TEXT '  SEQUENCE M'
DISP:TEXT ' SEQUENCE MA'
DISP:TEXT 'SEQUENCE MAK'
DISP:TEXT 'EQUENCE MAKE'
DISP:TEXT 'QUENCE MAKER'
DISP:TEXT 'UENCE MAKER'
DISP:TEXT 'ENCE MAKER'
DISP:TEXT 'NCE MAKER'
DISP:TEXT 'CE MAKER'
DISP:TEXT 'E MAKER'
DISP:TEXT ' MAKER'
DISP:TEXT 'MAKER'
DISP:TEXT 'AKER'
DISP:TEXT 'KER'
DISP:TEXT 'ER'
DISP:TEXT 'R'
DISP:TEXT ''
```
</details>

:::note
そのまま動かすと速すぎるので、送信前ウェイトを0.5秒くらい入れるとよさげです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3821782/7bc0f66b-916b-1ee8-af21-d9fe293851ec.png)

:::

## まとめ
今回はSequence MakerでKEYSIGHT 34401Aを制御してみました。サンプルのコマンドが載っていると、設定や測定の仕方がわかって良いですね。それにしてもサンプルに載っているBASICのコードは懐かしさを感じます。昔はPC-98でよく打ち込んでいたものです。5インチサイズのフロッピーとかぺらっぺらでしたよね。おっと、昔話はここまでだ。