[Archive] LabVIEW Café

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

NIが提供する新しい遠隔監視ツール 「SystemLink」を学ぼう

こんにちは。NIの尾崎です。

 

「現場担当者が携帯やタブレット、PC等からシステムの状態を確認できるようにしたい。」
「気軽に携帯やタブレットなどの複数端末からシステムの制御を行いたい。」
「遠隔にあるシステムのステータスを気軽に確認したい。」
「NIのハードはもちろん、PLCからのデータも一括で管理したい。」

 

このような要望をお持ちの方、

本記事でご紹介するSystemLink が業務改善にお役に立てるかもしれません。

 

SystemLink​ソフトウェア​とは、
​接続​デバイス、​ソフトウェア、​および​データ​を​Web​ベース​で​一元​管理​する​インタフェース​を​提供​する​こと​で、​操作​の​効率​と​生産​性​を​確実​に​向上​させる​製品​です。

・・・

 

ざっくりとはわかるけど、具体的に何がどう出来るのか よくわからない方が多いのではないでしょうか。

私はそうでした。

そこで今回はSystemLinkの機能の中でも軸となる 、遠隔でのデータ監視 + 制御方法についてご紹介させて頂きます。

 

 

SystemLinkでのデータ受け渡し方法は大きく分けるの3つ存在します。
1.Webモジュールを使う
2.SystemLink Serverを使う
3.SystemLink Cloudを使う(←このブログでご紹介する内容)

 

どの方法も全体像は同じで、下図のように クライアント、中間サーバー、実行VI の3つのパートに分かれます。 

3つの違いは、中間サーバが異なる点で、基本的にはプログラムの作り方や共有方法手順に そこまで大きな差はありません。

 

1.png

プログラム構築 + 設定を行うと、自身で作成したLabVIEWのフロントパネルや、以下のような画面(ダッシュボード)を
ネットワークに接続されている端末やPCから見たり、値を入力することが出来るようになります。

 

ただ単にデータを見るだけではなく、入力も可能になるため、端末側から値を入力することで、
遠隔の装置に対して制御を行うこともできます。

 

2.png

シンプルな例として、以下に社内で撮影した動画をご紹介します。

NIのCompactRIOに熱電対を接続して、オフィスの温度を収録し、SystemLink Cloud上にデータを上げ、

PC、タブレット端末などから温度データをモニタリングしています。

システム構成図:

hozaki_0-1576216469171.png

動画:

温度モニタリング6.gif

どのようなプログラムの構築と設定を行えば上記の内容が出来るのか、

実際に尾崎の環境でテストをしてみましたので、詳細を知りたい方は以下をご覧ください。

 

ご案内するのはSystemLink Cloudを使う方法です。

 

ステップ1:SystemLinkのインストール
SystemLink Suite:
https://www.ni.com/ja-jp/support/downloads/software-products/download.systemlink.html#304205


上のリンクから最新版のSystemLinkドライバをダウンロード。
互換性に注意。

 

ステップ2:SystemLink API を使用してタグ作成

LabVIEWからSystemLink Cloud上にデータをあげる為、タグの作成、タグへのデータ書き込みを行います。
※いくつか存在する方法のうちの1つです。

 

以下の図のようなブロックダイアグラムの内容で、Cloudへのアクセスや、タグの作成とデータの書き込み/読み込みを行います。

3.png

フロントパネル(ユーザが使う画面)は以下です↓

4.png

 

 

SystemLink Cloud(https://www.systemlinkcloud.com/)で生成したAPI KeyとSystemLink Cloud のURLを

Open Configuration API.viに入れることで、SystemLink Cloud への通信が確立できます。
※SystemLink Cloud へアクセスするにはSystemLink Cloud の購入が必要。

Open Configuration API.vi
Server URLの入力値に、https://api.systemlinkcloud.com を入力
API KeyにCloud上から取得したKeyを入力

5.png

 

SystemLink CloudからAPI Keyを生成するまでに、4クリックほど。
難しい設定は特にありません。

6.png

 

Cloud上に上げたいタグをOpen Tag.viで作成。
Pathの部分にTag名を入力(好きな名前でOK)
Data Typeは、現在 数値、文字列、ブール、タイムスタンプなどが選択可能になっています。

Open Tag.vi

7.png

 

作成したタグに対して、データ書き込み/読み取りを行える関数が以下2つです。

8.png

最後の2つの関数はタグのクローズと、SystemLink Cloudへの接続を閉じる処理をしています。

 

また、Whileループ(繰り返し実行する為の灰色の四角)の真ん中にある以下の関数は 基本関数発生器」

という関数で、指定したの波形タイプ、周波数、振幅の波形を生成しているだけです。

 

9.png

 

以上の内容で構築したプログラムを実行すると、Cloud上にタグが作成されます。

クラウド上では、下図のようにタグを見ることができます。

 

10.png

 

このように作成したタグに対して、いろんな箇所からデータのアクセスが行えるようになっています。

 

ステップ3:ダッシュボード作成

例えば、プログラミング不要なダッシュボードを作成してみます。

 

Dashboard.gif

 

下図、ダッシュボード構築画面の説明

11.png

 

ドラッグ&ドロップの操作のみで以下ダッシュボードがつくれました!

12.png

 

ステップ4:リンク取得

このダッシュボードをネットワークのある環境で見れるように、公開範囲を定めたうえでアクセスリンクを取得します。

13.png

 

「Copy Link」 で取得したリンクから、どこからでもダッシュボードで構築した画面に

アクセスすることが出来るようになります。

 

ステップ5:別端末からリンクを開く

以下の動画は、同じPC上でVIとDashboardの画面を実行していますが、左側にあるDashboardは

ネットワークに繋がっている端末からも リンクを開いて、監視+制御することが可能です。

もちろん、皆さんが持っているケータイからでも可能です!

 

RunVI1.gif

 

以上が一通りの流れとなります。

少しでもイメージはつけていただけましたか?

 

ここで紹介している内容は一部の機能で、他にもCloudやサーバを利用した 収録データの保存や、

ネットワークに繋がっているOPCサーバとの通信など、できることに幅のあるツールです。

 

様々な面で使えるシチュエーションがあると思いますので、お気軽にお問い合わせください。

 

メッセージ1/11
6,384件の閲覧回数

2年前のNIWEEKで初めて見たSystemLinkですが、なにかできそうだがよくわからない。
資料を読んでも実感が沸かない・・・。

と思っていましたが、この記事を読んでようやくわかりました。

ありがとうございます。

0 件の賞賛
メッセージ2/11
5,312件の閲覧回数

こんにちは 永井です

昨年ご紹介頂いてからやっとですが、SystemLinkに取り掛かっています

 

DashBoard上ではimageも表示できるようですが、LabVIEW OpenTag.viのdatatypeに何を指定すればよいでしょうか。また、LabVIEWでのピクチャーも表示させたいのですが可能でしょうか

 

是非とも「SystemLink」を学ぼう その2をお願いします。

 

 

0 件の賞賛
メッセージ3/11
5,276件の閲覧回数

msongiさん

Dashboardの"Image"は、画像のURLソースを文字列で指定します。

例えば直接URLを打ち込むと以下のようになります。

 

image.PNG

 

一方でTagベースでは、文字列タグを使用してURLを指定します。LabVIEW NXGの例で申し訳ありませんが、

このプログラムをindexを変えながら実行すると、リアルタイムでDashboard上の画像が変化します。

Snippet.png

URLdemo.gif直接画像ファイルを指定するためには、SystemLink CloudのFile機能が使えないかと思っていますが、

うまくパスを参照できず詰まっています。とりあえずここまでのところで参考になれば幸いです。

Certified LabVIEW Developer
There are only two ways to tell somebody thanks: Kudos and Marked Solutions

GCentral
メッセージ4/11
5,255件の閲覧回数

>ymiyahara様

そう思っていただけると、書いた甲斐があります!

こちらこそ、大変嬉しいコメントありがとうございます。

メッセージ5/11
5,232件の閲覧回数

>永井様、

コメントありがとうございます。

「SystemLink」を学ぼう その2、是非検討させていただきます。

0 件の賞賛
メッセージ6/11
5,230件の閲覧回数

Emboar_Dymaxさん

DashBordの”image"出力方法の詳しくご説明頂き理解出来ましたご。大変助かりました。

 

次々にやりたいことが膨らんできてGPS軌跡やMarker表示について試行中です

0 件の賞賛
メッセージ7/11
5,187件の閲覧回数

次々にやりたいことが膨らんできてGPS軌跡やMarker表示について試行中です

 

・Map表示のMapCenterはタグ付けして、JSON配列を表す文字列にて表示出来ました
 https://www.ni.com/documentation/ja/systemlink/latest/data/data-types-tag-data/

 

・始点・終点・現在位置の3つで表記したいと思っています
 Markerを使うのかなと思っていますが、各々のマーカ色や形を変える方法が分かりません
 また、各々のマーカへ位置情報を与えたいのですが、タグを使ってJSON配列を表す文字列を渡すのかなと持っていますが、その方法が分かりません
 
・軌跡表示を鎖線表示したいと思っています
 Merkerを何千点と定義して結べばよいとは思いますが、もっとスマートな方法があれば思っています

 

どなたか参考URLなどありましたらご教示願えると助かります

0 件の賞賛
メッセージ8/11
5,186件の閲覧回数

マーカー個々の色を変更する機能は、現時点では実装されていないようです。
色々探してみましたが、見つかりませんでした。

 

マーカーの位置情報については、"Values are bindings"にチェックを入れると、
マーカーのValueにタグが利用できるようになります。

 

map.PNG

 

MapCenterと同様のJSON文字列でOKでした。

 

code.PNG

 

 

Certified LabVIEW Developer
There are only two ways to tell somebody thanks: Kudos and Marked Solutions

GCentral
0 件の賞賛
メッセージ9/11
5,170件の閲覧回数

Emboar_Dymaxさん

 

ありがとうございます

JSON文字列で実施してみました

1.サンプルmapでMarker4を追加定義して直接JSON文字列書込み

2.一旦、実行時にエラー発生のメッセージでますが無視

3.SystemLink側のMap実行し、Marker4表示確認

4.Marker4=Tag Marker4 で定義

5.LabVIEWにて実行

6.SystemLink側のMap実行 Marker4への軌跡とマーカが消失

となりました

もし、正確な緯度・軽度を指定しないと、バインディング機能が働かないのであれば、少し残念ですね

Lost Marker.png

 

0 件の賞賛
メッセージ10/11
5,155件の閲覧回数