Sequence Maker V1.70で追加された新機能

## はじめに
Sequence MakerはExcelから測定器を制御可能にするアドインです。2024年12月にSequence MakerのV1.70がリリースされました。今回はV1.70で追加された新機能について解説したいと思います。なお、Sequence Makerについての詳細は以下の記事を参照ください。

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

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

## リリースノート
Sequence Makerのリリースノートは以下のサイトに公開されています。

https://www.hioki.co.jp/jp/support/versionup/detail/?downloadid=1438

それによると以下の機能が追加されています。

### V1.70 2024/12
- 専用コマンドの追加（#SENDBIN, #POLLINBIT?, #POLLINBYTE?, #CAMERA?, #CAMERAFILE?, #SPLITDELIMITER）
- APIの追加（SendBinary, GetContecDigitalIoDeviceName, GetCameraDeviceName）
- 仮想通信インターフェイスの対応
- 分割処理の改善
- 停止処理の改善
- その他軽微な修正

## 専用コマンドの追加
| コマンド | 解説 |
|:-|:-|
|#SPLITDELIMITER(区切り文字)|区切り文字を設定します。<br>一時的に区切り文字を変更したい場合に使用します。<br>「,」「#」「%」を区切り文字にする場合は#SPLITDELIMITER(,#%)のように指定します。<br>シーケンスが終了すると通常の設定に戻ります。|
|#SENDBIN(コマンド)|バイナリ形式のコマンドの送信のみ行います。受信動作は行いません。<br>コマンドは16進数形式で1バイトずつコンマで区切って指定します。|
|#POLLINBIT?(ビット番号,値)|CONTECデジタル入出力ユニットの指定ビットから入力したデータが指定の値になるまで繰り返しチェックします。<br>入力と入力の間は送信前ウェイト時間分のウェイトが入ります。|
|#POLLINBYTE?(ポート番号,値, ...)|CONTECデジタル入出力ユニットの指定ポートから入力したデータが指定の値になるまで繰り返しチェックします。<br>値は最大8個まで指定可能です。<br>入力と入力の間は送信前ウェイト時間分のウェイトが入ります。|
|#CAMERA?<br>#CAMERA?(サイズ)|カメラの画像をワークシートに貼り付けます。<br>サイズを指定すると画像サイズを調整できます。<br>詳細設定でカメラを有効にしておく必要があります。|
|#CAMERAFILE?<br>#CAMERAFILE?(ファイル名)|カメラの画像をファイルに保存します。<br>出力フォルダーは「ドキュメント\Sequence Maker」です。<br>ファイル名を指定できます。<br>詳細設定でカメラを有効にしておく必要があります。|

（https://sequencemaker.hioki.com/manual/ja/#command　より引用）

## カメラが使えるようになった
Sequence Makerにカメラ機能が追加されました。詳細設定の画面にカメラオプションが追加されています。使用するカメラの選択と、プレビュー画面が表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3821782/309a91c2-14aa-63b3-a417-d2ca49ef5b36.png)

使い方も簡単です。画像を表示したいセルに#CAMERA?と書いておけばOKです。他にもファイルとして保存したり、サイズを指定したりできますが、別記事でまとめたいと思います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3821782/dc2a4be4-0e1c-5b3b-dfc8-b34746f8fb92.png)

### 2024/12/06追記
https://qiita.com/sequencemaker/items/516491c2665f0e939738

## 仮想インターフェイスが追加された
インターフェイスの選択に「仮想」というのが追加されました。これは、実際の測定器では無く、Sequence Maker内の仮想的な測定器と通信するためのものです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3821782/d1a3e726-920d-a312-b234-338bcf1158aa.png)

「仮想」を選んでおくと、実際の測定器が無くてもシーケンスを開始できます。用途としては、
- 計測器の実機が無い状態でもテスト的な用途でシーケンスを実行する
- CONTECのデジタル入出力ユニットだけを使う

といったところでしょうか。
ちなみに仮想インターフェイスに*IDN?を送ると、ちゃんと応答が返ってきます！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3821782/c9d6b3e5-090f-4a09-f0ba-624fd3041987.png)

あと、自分で好きな応答を定義することもできます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3821782/c4918c60-59e8-d4e7-c1ac-5088310a976e.png)

### 2024/12/07追記
https://qiita.com/sequencemaker/items/c202cd2fe124fe5f1072

## 区切り文字を指定することができるようになった
Sequence Makerでは、応答データに対して、区切り文字で分割してセルに表示する機能がありました。ただし、区切り文字は「,」「;」「/」の3種類固定でした。V1.70では、任意の区切り文字6種類が設定できるようになりました。また、#SPLITDELIMITER(区切り文字)コマンドを使用して、シーケンスの途中で区切り文字を変更したりすることもできるようになりました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3821782/ddd84b04-2db4-352b-21d7-4a50a0a13dc0.png)

## 停止ボタンを押した時に処理を実行できるようになった
今までは停止ボタンを押すと即座にシーケンスが止まり、それ以降は何も処理されませんでした。実はこれだと、例えば高圧発生制御をするようなシーケンスを組んだ時に、発生器が高電圧を発生したままの危険な状態で停止してしまうことになります。V1.70では、Excelのワークシートのセルに#FINALと書いておけば、停止ボタンを押したときに特別にそこからシーケンスを実行してくれるので、:STOPコマンドなどを送って発生を停止することができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3821782/a0436b9d-d555-2650-61f6-7b1ca6bbdc07.png)

使い方としては、こんな感じ。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3821782/dda1addd-af61-e6fd-660f-e685ff6e2ab2.png)

シーケンスを開始して、いろいろ測定などしている最中に「停止」ボタンを押すと、#FINALにジャンプして、最後に「:STOP」のコマンドを送信してくれる、というわけです。これで安全に高圧を発生できるぜ⚡⚡

## CONTECのデジタル入出力ユニットでポーリングができるようになった
#POLLINBIT?(ビット番号,値)コマンドと#POLLINBYTE?(ポート番号,値, ...)コマンドが追加になりました。これにより、入力信号が1になるまで待つとか、逆に0になるまで待つとかといった処理が簡単にできます。例えば、測定中に1（HI）になる信号線を監視すれば、測定状態か測定完了状態かを判断することができるので、測定が確実に終わってから測定値を取る、みたいなことが簡単にできるようになります。

## バイナリ形式でコマンドを送信できるようになった
#SENDBIN(コマンド)コマンドが追加になりました。機器によっては、コマンドを送信する際に、前後に<STX>や<ETX>を付加する必要があります（結構特殊ですが）。<STX>は16進数の0x02、<ETX>は16進数の0x03です。例えば

```
<STX>TESTCMD<ETX>
```
と送りたい場合は、こんな感じに書けばOK。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3821782/d5b6c61b-a488-dd80-3b7a-94cf8a11f129.png)




## バージョンアップ方法
Sequence Makerのバージョンアップ方法は以下の記事を参照してください。

https://qiita.com/sequencemaker/items/690c3b25186a208eda25

:::note warn
注意
Excelが起動していると、Sequence Makerのインストールができません。
Excelを終了してからインストールしましょう。
:::

## まとめ
今回はV1.70で追加された機能について、ざっと紹介してみました。各機能についての詳細は別記事で紹介できたらと思います。私としてはカメラ機能と仮想インターフェイス機能が気に入っています。