ホーム
サポート
LabVIEW NXG Web Module: WebアプリケーションをRTターゲット上で動作させる
LabVIEW NXG Web Module: WebアプリケーションをRTターゲット上で動作させる
更新しました Apr 27, 2021
環境
環境は、この記事で説明するソリューションで動作することが確認されている製品を示しています。このソリューションは、他の同様の製品またはアプリケーションにも適用される場合があります。
ハードウェア
cRIO-9057
ソフトウェア
LabVIEW NXG Web Module
LabVIEW
本資料ではLabVIEWで作成したWebサービスとLabVIEW NXG Web Moduleで作成したWebアプリケーションの、双方をRTターゲット上にサーバとして立ち上げる手順を紹介します。立ち上がったサーバは同じローカルネットワークに存在する外部クライアントからアクセスが可能となります。Githubにアップロードされているサンプルプログラム(
Call LabVIEW Web Service
)を例に用います。
LabVIEWでWebサービスを作成する
RTターゲットに下記ソフトウェアがインストールされていることを確認します。
NI System Configuration
NI System Configuration network support
NI Web-based Configuration and Monitoring
WebVI Examples for LabVIEW NXG Web Module
からソースコードをダウンロードし保存します。
ZIPファイルを解凍し
"<Download>\webvi-examples-master\webvi-examples-master\CallLabVIEWWebService\WebService\WebService.lvproj"
を開きます。
プロジェクトを右クリックし [新規] → [ターゲットとデバイス…] からお使いのRTターゲットを追加します。
プロジェクトにもともと存在しているRTターゲット(cRIO-9068)の配下にあるRT Web Serviceを、新規追加したRTターゲットの配下にドラッグ&ドロップします。
RT Web Serviceを右クリック → [アプリケーションWebサーバ] → [パブリッシュ] からWebサービスをパブリッシュします。
Webサービスが正常に起動していることを確認します。
RT Web Service > Webリソース >
ParametricCurve.vi
(GET) を右クリック → [メソッドURLを表示…] → [URLをコピー] します。
コピーしたURLを開発PCの任意のブラウザに入力します。以下のように値が表示されていればWebサービスは正常に起動しています。
LabVIEW NXG Web ModuleでWebアプリケーションを作成する
「手順3」で解凍したフォルダの
"<Download>\webvi-examples-master\webvi-examples-master\CallLabVIEWWebService\CallLabVIEWWebService.lvproject"
をLabVIEW NXG Web Moduleで開きます。
index.gvi の ダイアグラムを開き、「手順7」で取得したURLを下図のケースストラクチャの文字列定数に入力します。
Webアプリケーションが前述のWebサービスと通信ができることを確認します。[実行]ボタンの右のプルダウンを開き[ブラウザで実行]をクリックします。ブラウザが立ち上がり、Webアプリケーションのフロントパネルが表示されれば通信が確立しています。
cRIO上でWebアプリケーションを実行するには、Webアプリケーションをビルドする必要があります。WebApp.gcompを開き[ビルド]ボタンをクリックします。ビルド完了後、[出力ディレクトリ]に表示されたパスをクリックし、出力されたフォルダを確認します。
ビルドで出力されたフォルダを開発PCからcRIOの
"/var/local/natinst/www"
にコピーします。
cRIOへファイル転送を行うには、予め
WebDAV
や
FTP
を有効にしておく必要があります。
ファイルを転送の際、エラー0x8000FFFやエラー-363516が発生してしまった場合、
chmodコマンド
を使用してコピー先のディレクトリに書き込み権限を付与する必要があります。
開発PCの任意のブラウザに
"http://<cRIOのIP address>:<HTTP port>/<ビルドで出力されたフォルダの名前>/<ビルドしたgviwebプログラム名>.html"
と入力します。無事Webアプリケーションのフロントパネルが表示されれば完了です。
上記手順により、WebサービスとWebアプリケーションの双方をcRIO上でサーバーとして起動させ、同じローカルネットワークに存在している外部クライアントからリモートアクセスすることが可能となりました。以下は実用例のイメージ図です。
関連リンク
LabVIEW NXG Web Moduleとは
LabVIEW NXG Web Moduleを使用してWebアプリケーションを開発する方法
Using a Web Application with a CompactRIO Device
その他のサポートオプション
NIコミュニティに聞く
ディスカッションフォーラムで他のユーザーとコラボレーション
NIコミュニティでソリューションを検索する
エンジニアからのサポートをリクエストする
有効なサービス契約が必要な場合があり、サポートオプションは国によって異なります。
サービスリクエストを開く
サポートサービスの購入または更新
Was this information helpful?
Helpful
Not Helpful