メールマガジン・新着情報一覧
- TOP
- メールマガジン・新着情報一覧
- E-0094. WinWerth の測定プログラムで外部プログラムを実行 — Y.I
2020.07.22
E-0094. WinWerth の測定プログラムで外部プログラムを実行 — Y.I
◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇ WinWerth の測定プログラムで外部プログラムを実行 発行:エスオーエル株式会社 https://www.sol-j.co.jp/ 連載「測定の新常識!?SOLがお伝えするノウハウ!」 2020年7月22日号 VOL.094 平素は格別のお引き立てを賜り、厚く御礼申し上げます。 X線CTスキャンによる精密測定やアプリケーション開発情報などをテーマに、 無料にてメールマガジンを配信いたしております。 ◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇ こんにちは。営業技術 Y.I です。 三次元測定機 (CMM) を担当しております。 Werth 社の装置は、装置の制御も寸法の解析も、 WinWerth というソフトウェアを使用します。 このソフトウェアは見た目の割にとても巨大ですが、 お客様の測定業務を常にあるべき姿にできるか、というと、 さすがにそれは無理です。 例えば、寸法測定結果をもとに統計解析したい、 グラフで管理図などをすぐ可視化したい、 測定終了を音楽で知らせて欲しい、etc... そのようなとき、WinWerth の測定プログラムで 「外部プログラム実行」 させる方法を知っておくと便利です。 ------ ◆ 外部プログラム実行 SYSTEM / EXECUTE, [command], [flug] --- [command] 実行するコマンドを DMIS の文字列で指定する。('シングルクォートで囲む') [flug] 0 => 非同期 (終了を待たない) 1 => 同期 (終了するまで制御が返らない) --- 測定プログラムのファイル (.dms) をテキストとして開いて、 実行したい箇所に、上の 1 行を追記します。 大抵の用途では、最後 (ENDFIL の 1 行上) に、 非同期 (flug=0) で使うことになると思います。 例を紹介します。 --- 例 1 自分で作った Excel マクロで処理する。 (結果のファイルを読み込み、統計処理したいときなど) 予めマクロが作ってあり、結果のファイルを指定すれば、 必要な計算ができるようになっているとします。 測定終了と同時に実行されれば、 画面で結果をすぐに見られて便利ですね。 (WinWerth DMIS コード) SYSTEM / EXECUTE, 'wscript C:\tool\a.vbs', 0 Excel のマクロを起動と同時に実行するために、 VBScript を使用しています。(a.vbs) wscript (または cscript) と書く必要があることに注意してください。 Windows のエクスプローラと異なり、.vbs を開くプログラムは 自動で探すことはありません。 (a.vbs の例) Option Explicit On Error Resume Next Dim app Set app = CreateObject("Excel.Application") app.Visible = True app.Workbooks.Open "C:\tool\Book1.xlsm" app.Run "Macro1" app.Quit ただ、結果のファイル名を WinWerth から取得する方法は 分かりませんので、更新日時が最新の .txt ファイルを開くことになると思います。 --- 例 2 音楽を鳴らす。 SYSTEM / EXECUTE, 'powershell -c while(1){(New-Object Media.SoundPlayer "C:\tool\a.wav").PlaySync();}', 0 a.wav が PowerShell のウィンドウを閉じるまで再生されます。 デジタル出力する .exe を作って、例 1 の方法メロディ IC を 再生する方が、現場の流儀かも知れません。 ------ 私が大学生のときに初めて「測定」に触れてから今まで、 大事にしているものがあります。それは、 測定から結果が見えるまでの時間は、短いに越したことはない ということです。 理想的には、測定結果が良いのか悪いのか、リアルタイムに 画面に表示されるべきです。 測定が終わりサンプルを片付けた後に、再測定の必要に気付いたり、 解析に時間がかかるため必要なタイミングで 測定を実施できなかったり、よくあることだと思います。 日々の業務改善にご活用ください。 最後までお読み頂き、ありがとうございました。 -- Y.I