1 頑張ってみてください。
Scilabで通信を行う場合、段取りが必要になります。
判らなければ、問合せてください。
シリアルのCOMポートを開くサンプルコードを掲載しておきます。
ここから考えてみてください。
// trh - catch制御構文(指定したCOMポート番号がない場合に対応) err_flg = 0; // COMポートエラーの場合、err_flg = 1 となる。 try h_com = openserial(com_Port,"9600,n,8,1"); catch err_flg = 1; messagebox(["異なるCOMポート番号が選択されました。" "制御パネルを終了します。"],"シリアル通信接続エラー","error"); close(); end
以下はCOMポートを閉じるときのサンプルコードです。
closeserial(h_com);
観て分かるように、非常に簡単で一行で完結しています。
VBAで書くと、非常に多くのモジュールが必要になります。
それはあまりにも生産性が悪い。
Pythonでもシリアル通信用のライブラリが用意されているようです。
おそらくそちらのコードも同じだと思います。
自分のところでは、GUIに埋め込んでしまい、Windowの画面操作でデータ収集できるようにしています。
ScilabでGUI作成に支障がないバージョンは2023.1.0になります。
こちらを使って、GUIbuilderをインストールすることになります。
作成したGUI画面は以下の通りです。
シリアル通信の接続、切断は画面タイトルの下側にある緑色のボタンで行っています。
Scilabのコードで作成しています。
読みやすくするために、1行のコマンドを複数行に分割しています。
その場合で、このパネルをscilabで書くと、7000行ぐらいになっています。
ここまでのコーディングができれば、業務改善につながると思います。
以下の条件で情報システム部門に以下の条件で交渉してみてはいかがでしょうか?
- 社内のネットワークに接続しない。
- 計測用PCトシテ独立して利用する。
- 外部のインターネットには接続しない。
計測用のアプリを開発しながら業務改善をおこない、測定解析業務に利用する前提であれば、否定する理由はないと考えます。
その時、直属の上司や部門長の理解は得てください。
個人の意見ではなく、部署や部門の意見として提案すれば、改善の推進力にもなってきます。
2 計測画面の開発について
EXCEL/VBAでシリアル通信を目指しているぐらいですから、ご自分でなんとかできると考えています。
どちらかと言えば、ほかの業務もあり、工数の捻出ができないようなお悩みがあるかもしれません。
おそらく、商用で販売可能な立派なソフトが必要なわけではないと思います。
そのような場合、ご相談ください。
仕様を伺い、代行で作成いたします。