From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

NI製品ディスカッション

キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

LabVIEWで対話型のCUIプログラムを制御する方法について

解決済み
解決策を見る

お世話になっております。

 

Windows7 32bit LabVIEW2016 プロフェッショナル開発システムで対話型のCUIプログラムを制御する方法を調べております。

外部プログラムを実行する時はシステム実行.viを使いますが、実行することは出来てもその後の制御は出来ないという認識です。

本件では実行した対話型のCUIプログラムを自動的に制御することを目的としていますので、Pythonでいうとpexpectの機能が必要と考えております。

LabVIEWでPythonのpexpectのような機能を実現する方法はありますでしょうか。

 

お手数おかけしますが、ご教示ください。

よろしくお願い致します。

0 件の賞賛
メッセージ1/3
2,791件の閲覧回数
解決策
トピック作成者take_1033が受理

たぶんこの辺りかと思います。

 

Solved: How to pass input to a DOS executable that is running in parallel to a VI - Discussion Forum...

Open G LibraryのPipeを使うとのことです。標準関数ではありませんが如何でしょう。一応Windows 7でも動作するようです。

 

NI Tools Networkに公開されていないようで、VI Package Managerでは見つかりませんでした。以下のフォーラムに添付されている「oglib_pipe-1.0-1.ogp」をダウンロードしてインストールしてください。インストールにはVI Package Managerが必要です。

 

Solved: Controlling the STDIN STDOUT of a legacy application in LabVIEW - Discussion Forums - Nation...

 

添付されていたVIがそのままでは動かなかったので修正したものを添付します。ご参考にして頂けると幸いです。

0 件の賞賛
メッセージ2/3
2,694件の閲覧回数

TAKASU様

 

ご回答ありがとうございます。

私の環境にoglib_pipe-1.0-1.ogpをインストールし、添付して頂いたVIを実行致しました。

cmd.exeが実行され、その入出力をLabVIEWでハンドルできるようですので、expect機能を実現できそうです。

ご対応いただきありがとうございました。

0 件の賞賛
メッセージ3/3
2,653件の閲覧回数