11-21-2014 03:27 AM
ご協力お願いします。
DIAdemというアプリケーションでどんなことができるのかわからないため、ここで質問させてください。
ファイルから読み取ったデータをいろいろと解析できるようですが、下記のような解析はできるのでしょうか?
①ファイルAのデータはアナログ入力のデータが複数チャンネル
②ファイルBのデータはCANの受信ログ
③ファイルAのアナログ値が閾値を超えた時間を探索
④ファイルAの閾値を超えた時間から1秒以内に
特定のシグナルを持ったCAN信号を受信しているかファイルBから探す?
DIAdemの説明など資料読みましたが難しくてよくわかりませんでした。
やりたいことのポイントとしては
⇒2つ以上のファイルを同時に読み込む
⇒ファイル内のデータで閾値を超えたところを探索する
※閾値はDIAdemアプリで自由に設定できるのでしょうか・・・
⇒閾値を超えた時間から任意の時間幅(開始から5秒の時点で閾値を超えたとしたら、そこからさらに1秒など)
別ファイルの同じ時間帯のデータで自分のほしいデータがあるのか探索する。
※さらに1秒やほしいデータはDIAdemアプリで自由に設定できるのでしょうか・・・
ご教授願えると大変助かります。
解決済! 解決策の投稿を見る。
11-30-2014 07:15 AM
sMaSaToさん、こんにちは。
>⇒2つ以上のファイルを同時に読み込む
DIAdemはさまざまのファイルの読み込みに適しているので、異なる種類のファイルを同時に読み込むのは問題ありません。
共和電業のホームページでのファイル読み込みのチュートリアルがあります。
http://www.kyowa-ei.com/jpn/product/special/ni_diadem/tutorial/video_navi_01/index.html
このほかにもチュートリアルがありますので、よろしければご覧ください。
http://www.kyowa-ei.com/jpn/product/special/ni_diadem/tutorial/index.html
デフォルトでDIAdemが対応していないファイル形式のファイルを読み込む際には、ファイル形式に適した「DataPlugin」という物が必要になります。
このDataPluginを利用することで、様々なファイルをDIAdemに取り込めます。
DataPluginはこちらから検索できます。
http://www.ni.com/downloads/dataplugins/ja/
>⇒ファイル内のデータで閾値を超えたところを探索する
>※閾値はDIAdemアプリで自由に設定できるのでしょうか・・・
>⇒閾値を超えた時間から任意の時間幅(開始から5秒の時点で閾値を超えたとしたら、そこからさらに1秒など
>別ファイルの同じ時間帯のデータで自分のほしいデータがあるのか探索する。
>※さらに1秒やほしいデータはDIAdemアプリで自由に設定できるのでしょうか・・・
上記のことはできるはずです。
例としましては、しきい値を超えた点以降のデータを一度切り取って別のデータセットとして扱い、それを検索することならできるはずです。
DIAdemで高度な動作をさせたり、複雑な作業を自動化する、などのことをするのにはVBScriptが使えます。
DIAdemに含まれている様々なサンプルから、希望の動作を含むものを見つけて、それを基に工夫すれば実現できると思います。
11-30-2014 06:05 PM
ご連絡いただき誠にありがとうございます。
チュートリアル等は確認でいています。また、複数のファイルを読み込むことができることも確認できています。
ただ、VBScriptが使えることは知っているのですが、使い方を知りません。
使い方がわかる資料はないでしょうか。
チュートリアルに書いてあるのであれば、どこに書いてあるのか教えていただけないでしょうか。
閾値を超えたところを探すというのができると回答いただいていますが、
どのように行うのでしょうか。
分析方法の中に閾値を超える位置を探すという手法が見つけられないのですが
どこにあるのでしょうか。
DIAdemにサンプルが含まれていると回答いただいていますが、
サンプルはどこにあるのでしょうか?
12-01-2014 06:33 PM
質問ありがとうございます。
DIAdemでのVBScriptの使い方はある程度はDIAdemのヘルプにあります。
DIAdemヘルプの「概要」→「シークエンスの自動化」、もしくは「基本」→「DIAdem SCRIPT」または「スクリプトについての全般情報」をご覧ください。
また、「手順」→「スクリプトを作成する」では、特定の動作をさせるためのVBScriptでの手順を紹介しています。
DIAdemヘルプのオンラインのものはこちらからご覧ください。
DIAdem 2012ヘルプ (http://zone.ni.com/reference/ja-XX/help/370859K-0112/)
基本的なシークエンスの自動化は下記の資料にあります。
Automate Your Processes in NI DIAdem (http://www.ni.com/white-paper/13974/en/)
VBScriptのリファレンスとしては、下記の資料もありますので、ご覧ください。
VBScript Language Directory (http://zone.ni.com/reference/en-XX/help/370859J-01/vbs/general/vbs_overview/)
閾値を超えたところを探す動作に関しましては、下記のサンプルや上記の資料に該当するものがあるはずです。
私もDIAdemでの経験は浅いので、詳しく案内できるわけでもないのですが、他にも似たようなことをしている前例があるはずです。
DIAdemに含まれているサンプルは、DIAdemヘルプの「サンプル」の中にあります。
データマイニングや、データの編集あたりのサンプルをご覧に頂ければ関連性のあるサンプルがあるかと思われます。
コミュニティーでつくられているものでしたらオンラインから検索できます。
NI Developer Community (https://decibel.ni.com/content/community/zone)
補足として、CANデータを他のデータと同期する資料もありました。
Synchronizing In-Vehicle CAN Traffic with Other Data Using DIAdem (http://www.ni.com/white-paper/12082/en/)
12-02-2014 06:32 PM
ご連絡ありがとうございます。
DIAdemの標準の機能からでは、わたしのやりたい解析ができない、サンプルは無いことがわかりました。
何か別の方法を探してみたいと思います。
ついでで申し訳ありませんが質問です。
DIAdemのVIEWに2Dグラフを表示した後、グラフ上のどこかをクリックすると
カーソルが出現します。このカーソルを非表示にすることはできないでしょうか。
カーソルのタイプを選択するボタンをクリックしたり、グラフ上の線を全部削除するなどしても
どうしてもカーソルを非表示にすることができません。
方法として見つけることができたのはエリアごと全削除して、
再度エリア作成からやり直すしかできませんでした。
カーソルを非表示にする簡単な機能が無いとは思えないのですが、どのようにしたらできるのでしょうか。
ご協力お願いします。
02-11-2015 10:29 PM
DIAdemで信号チャンネルのしきい値を超えたところを探すにはChnFind()を使用します。
ReturnValue = ChnFind(FormulaTxt, [ChnFindStartIdx])
オンラインヘルプのキーワードにChnFindを入力してみてください。
ChnFindのサンプルコードにありますように、条件式は文字列で指定します。
返り値はインデックスで返ってきます。
Dim objChannel
Dim threshold
Dim index
threshold = 20
Set objChannel = Data.GetChannel("[1]/Speed")
index = ChnFind("Ch(""" & objChannel.GetReference(eRefTypeIndexName) & """)>" & CStr(threshold), 1)
ここから1秒などはサンプリングレートからインデックスを計算してください。
時間等間隔のデータでない場合は時間チャンネルでChnFindを使用します。
他にChnFindReverse()とPNo()があります。
DIAdem VIEWのカーソルは非表示にはできません。
VIEWはカーソルの使用を目的にしていますので、カーソルが不要の場合はカーソル機能がないREPORTをご使用ください。
どうしてもVIEWでカーソルを非表示にしたいということであれば、「座標情報」でX-Cursor1とY-Cursor1にプロット範囲外の値を入力してEnterを押してください。
02-12-2015 01:56 AM
ご連絡いただき誠にありがとうございます。
DIAdemのスクリプトにてChnFind()を使用しての
エッジ検出等、総合検証スクリプトを作成してみたいと思います。
また、DIAdemのVIEWはカーソルの使用を目的としているとの回答ありがとうございます。
各機能の目的について、しっかりと理解できていないようなので改めて確認したいと思います。
ご連絡ありがとうございました。