メールマガジン・新着情報一覧
- 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

