【計測】LabVIEW相談室【制御】
LabVIEWのスレがなかったので立てました。 色々と情報交換しましょう。 日本ナショナルインスツルメンツ http://www.ni.com/products/ja/ >>68 ありがとうございます。ピン配置表を見てもラインとポートの意味が今までよく分かっておりませんでしたが >0ポート目の 0ch目=P0.0がDIO 0chになります。 とお教えいただいたことで、やっとわかりました。本当にありがとうございます >ユニポーラてことは、google先生によればA相とB相の位相が >ずれた状態でそれぞれデジタル出力させるって理解でよい? はい、位相のずれたパルスを順々に出力させていきます。 単純な動作ですのでとりあえず今ある6220でやってみますが…、ちょっと手ごわいんですね。 せっかくですので0,1パターンを使った方法、やってみます >>68 おかげさまで少しずつDAQアシストの使い方がわかってきてDAQ経由でパルスが出せるようになりました。ありがとうございます。 現時点ではVIで手動で1、0を切り替え、パルスを送っておりますが 何とか自動でバイナリの組み合わせで送り、自動で回転するように仕組んでおるところです シーケンスを使い、例えば 0101/1001/1010/0110 を繰り返すようなものを作ればモーターは回ってくれるのではないかと… LabVIEW8.0でDataSocket使ってOPC鯖にアクセスしたいのですが複数のタグを開くことってできるでしょか? URL選択を使って1項目づつなら読めるんだけどタグが50ぐらいあるからまとめて開きたいのですが・・・ >72 温度計?だけで10個とかあるらしいのです その他にも圧力計?とか流量計とかバルブとかポンプとか それらを1画面で監視したいらしいです LabVIEW使わないといけないのは確定らしいけどLabVIEW初心者なのでよく分かってませんが・・・ せめてもう少し日本語のドキュメントがあればorz >>73 日本語のドキュメントはセミナーでたっぷりもらえます。 つーか、セミナーで儲ける為にドキュメントを公開していないんジャマイカ。 タグって複数chまとめて定義できたと記憶してたけど(間違ってたらごめん) NIは1年間に製品が大量に出るから、その日本語化に対応できてない気がしますよ。 >74、75 なるほど、可能なようなのでもう少しやりかたを探してみます だめそうならセミナー受講をお願いしてみよう レスどうもでした 配列の現在の指標番号値はどうすれば得られますか? また、現在入力中の位置はわかりますか?(指標0、5行表示で上から2番めなら2を得る方法です) すみません、LabVIEWからOracleにアクセスする方法ってありますか? ヘルプを見たところデータベースコネクティビティツールキットというのを買えと言うことらしいのですがOO4Oとかで接続できないかなと思っています ちなみにLabVIEW8.2です >>78 データベースコネクティビティツールキットを買ってODBC経由でOracleに接続。 >79 データベースコネクティビティツールキットを買わないと無理でつか? なんかいろいろやってたらOracleにOO4Oでアクセスできました えらいめんどくさい事になったけど・・・ ttp://tune.ache-bang.com/~vg/modules/up/img/2063.jpg よく分からないあぷろだだけどageて見ました できれば表とかに出力したかったけど取りあえず 別のviにある制御器とかに直接アクセスすることはできますか? 同じプロジェクト内なら交互にアクセスできないものなのでしょうか? >>84 同じvi上に全てを配置するとごちゃごちゃしすぎるので複数に分割できないものかと思ったのです。 グローバルを使えばどのviからでもアクセスできますが、同じvi上に配置する数が減ることはないので・・・ 他の言語では出来ることもあるので、出来るんではないかと思ったんですけど無理なのかなぁ? 表示部分の分割は、なやましいですね。 タブを使ってもブロックエディタはごちゃごちゃしてますし、、、 >>84 グローバル変数を使えば、たしかにどのviからもアクセスはできますが。 グローバル変数を使うと、メモリを無駄遣いしがちなので、>>83 の用途なら LabVIEW8.0以降ならシェア変数使うのが吉でしょうな。 ただ、シェア変数も開発途上の仕組みなので、ある程度クラスタとか 配列単位で定義したほうが動きがよいようにオモ。 動作の軽さから言ったらVI Serverが一番いいけど、VI Serverは プログラミングがめんどくさい。 たしかに全てのインターフェースを同一viに展開するとごちゃごちゃ しますね。 制御器とか表示器をまとめてクラスタにすることで、プログラム 上はある程度すっきりはするでしょうが。 すみません、labviewでスペクトラム包絡ってどうやって求めるのでしょうか? >>88 http://forums.ni.com/ でspectrum envelopeで検索するといくつかヒットするので…どうですかね? >>88 NI discussion forumで似たスレを読んだ私が来ましたよ。 スペクトラムエンベロープは、いまんとこそのものずばりはLabVIEW 上に存在しないです。 どーしても必要な場合は、ヒルベルト変換のVIを作って自分で作る しかない罠。すげー勉強にはなるだろうけど。 したのURLにそれっぽいテスト中のヒルベルト変換のVIが転がってる模様。 2757kbのやつ。 試したことないのであとは自己責任でよろしく。 http://forums.ni.com/ni/board/message?board.id=170&message.id=59640&query.id=317499#M59640 あとはもしMATLABとか、ほかの数値解析プログラム環境を持ってて、 そっちにスペクトラムエンベロープが入ってるなら、 (MATLABに入ってたかどうかは知らないけど)、 そっち側でいったんソース書いてDLL化してLabVIEW側で呼ぶってのも手よ。 仕事で急遽覚えることになったのですが プログラミング自体初めてで何が何やらです 基礎知識すらない私に誰か 最初に勉強するべきことを教えてください >>91 プログラミングで必要な機能を 下記書籍で調べながらやれば、何とかなるかもしれませんよ。 ttp://www.amazon.co.jp/gp/product/4627846312/sr=8-2/qid=1163071021/ref=sr_1_2/503-3759609-4836758?ie=UTF8&s=books 通常のヘルプが使いにくいのですよね・・・ >>91 この辺もよろしければどうぞ。 ttp://www.amazon.co.jp/gp/product/475614585X/ref=pd_bxgy_b_img_b/250-9874374-7684237 >>92 +この本から先は、やりたいことによって使う関数がかなり変わります。 したがって、やりたいことが出てきたら、それに関連する サンプルプログラムを、技術サポートとか、Discussion Forum (ttp://forums.ni.com/ni/board?board.id=1170) で紹介してもらうのをおすすめします。 >>91 時期と開催場所が上手く合えばNIの無料セミナー 「LabVIEWって何?」 (タイトル↑で合ってたかな?) に行ってみては? お金が都合つけてもらえれば有料の初級コースに行く手も あるけど、そっちは内容知らないので。 一番最初の初級コース、3日間のだっけ、だったら、93で書いた本と、 かなり、内容かぶってます。 有料のほうが練習問題が多くて、集中して一気に学べますが。 >>91 ヴァージョン古いけど、この辺は参考にならないかな? ttp://www.ocs-lv.co.jp/LabVIEW/ 質問なんですが、誰かLabVIEWのOCR関数がどういうアルゴリズムなのか分かりませんか? 4000円で買えるStudentEditionってどんなもんなの? >>98 マニュアル付きで、たしか企業が買うと50万ぐらいするソフトがはいってる。 学生証無いと買えない。 スマソ、LabVIEWではないのだが、教えて欲しい。 2chの1-5vをAD変換してくれる計測器を探している。 ExcelかVBからデータを読み出したいのでPCのI/Fが ついているものが良い(Etherとか232C)。 測定器メーカーから入手した測定器ドライバのインストールの 方法が解りません教えて下さい。 計測器ドライバファインダで見つかるドライバはそのままインストール出来たのですが 見つからないドライバーをメーカから落としたドライバをインストールする方法が解りません。 よろしくお願いいたします。 >>102 すいません、制御器パレットには追加されてました。 インストール済みにリストとされないので無効なままかと思ってしまいました。 LabVIEW閉じた時にLabVIEWが固まったように見える現象って知ってる人います? タスクバーにLabVIEWは表示されてるけどクリックしても何しても動かない。 数分放置してたらスタートアップ画面が表示されるんだけど・・・ ちなみにLabVIEW8.2でアクティブ化済みでつ LEGO MINDSTORMS NXT 買った人居る? ttp://www.legoeducation.jp/mindstorms/products/index.html ヴァージョン7.1使ってます。質問させてください。 m行n列の表にそれぞれデータが入っています。 その表に、行の値と列の値を入力すると、そこの値以外は グレー表示になる・・って可能でしょうか? 例えば、3行3列の表に1〜9の数字が入っているとします。 そこに行→0、列→0と指定してやると、そこに入っている値 (ここでは1)だけが黒く表示され、後の値はグレー表示になる。 っていう具合です。 >>101 LabVIEWと一緒に使うなら、DAQカード1枚で済みます。 LabVIEWとの互換がどーでもよければ、キーエンスのロガーとか で終わり。 >>106 プロパティノードに任意の番号の行と列の背景色設定をする プロパティが無ければ無理。てゆか無いと思う。 >>106 色が変わるのは指定したセルの文字?それとも背景? まぁ、どちらにしても、やろうと思えばできるが。 質問です。7使ってるんですが、「表」表示器(文字列の2次元配列)の 全セルのサイズって一気に変えられないんですか? 適当にマウスあてて引き伸ばしてみたら、一行ずつとか一列ずつとかしか サイズが変わってくれなくて、全部のセルサイズを変えられないんです。 内容が内容だけにni.comで検索しても見つからないし… ただの配列表示器だとスクロールバーがつけられなくて 不便なんです。 すみません教えて下さい。 あるボタンの色を、コードにより変更したい場合、プロパティーノードのColors[4]に値を入力 してやれば良いようなのですが、カラーボックスと接続すると怒られます。 どういった部品を使って入力すれば良いのしょうか。 >>110 Colors[4]ってなってれば配列ですか。 ボタンの色って、押したとき変わるから複数必要になるので、 配列になってるのでは?と、試さずにカキコ >109 基本的に表やリストのセルサイズは、1行または1列ずつしか変更できません。 無理やりやろうとすれば、プロパティノードのアクティブセルを使って、 使用する行と列の数分ループを回し、セルサイズをプログラムで個々に設定してあげるしかないです。 >110 プロパティノードのColors[4]で右クリック、作成→制御器or表示器を作ってあげると、 どんなパラメータを入力すればわかりますよ。 ちなみにColors[4]は、クラスタ1次元配列です。 みなさん参考書何使われてます? refnum, バリアントなどあまりヘルプ見ても分からずじまいでして Report Generation を使ってるのですが New Report の display alerts? を保存の前に変更したいのだけどどうすれば できるの教えてください。 最初から(New Report で)Trueだと存在するファイルを開くとダイアログが表示 されてしまうので都合が悪いのです。 Dispose Report で save changes? をTrueにしてもNew Report の display alerts? がFalseだとダイアログが表示されません。 というか、Excelの終了時に変更があるファイルだとうダイアログは表示されません。 >>114 条件判断等でなんとかなりそうです・・・ でも途中でdisplay alerts?を変更可能なら方法を知りたいです。 かなり初歩的な質問なんですけど サブVIつくるのと(そして読み出すのと) EXE形式での吐き出しってどうするんでしょうか? オンラインヘルプみても意味わからなかったんです。 LabVIEW7.1です。 すみません。誰か教えてください。 ただいま、PCI6251及びCB68LPを用いてサーボモータを制御しようと考えています。 そこで質問なんですが、デジタルの出力、つまりパルスの波形をオシロで見るにはどこを見てやればいいのでしょうか? DGNDは何となくわかるんですが、もう一方がわかりません。 電気回路をほとんどやったことがない素人ですがお願いします。 コードでイベントを生成したいのですがどうすれば実現できますか? やりたいことは、配置してあるボタンをコードで押したことにしたいのです。 値(Signl)は書き込みできないので、イベントの登録とかでできるのでしょうか? ファイルパスを入れて、そのファイルが存在するかどうかの ブールを吐きたいんですがどうすればいいのでしょうか? >>119 情報vi使えばできると思われる(使ったことない) whileループの中に電源へのコマンド"S+(n×0.01)Eなど"を組み込めるのでしょうか? 自己解決してしまった(T-T 機器のコマンドに(UP0~4)ってのを組み込むことでできましたorz。 LabViewで、伝達関数1/(s+1)のステップ応答を表示させるプログラムを作りたいと考えているのですが、どなたかわかる人いらっしゃいませんか? コントロールパレットにあるtransfer functionを使えばいいと思っているのですが、うまくいきません。 LabVIEWにてオラクルデータベース接続に関する質問なのですが 現在読み出しは出来ているものの、書き込み(追加も含む)が出来ません。 何が原因なのかわからないので、何か資料等ありませんでしょうか? 書き込み権限とは?? 初めて書き込みしたので良くわかりません^^; LabVIEWプログラミングの設計時(特に下流)に図(フロー)とか書く? 何で書く? ステートチャート?アクティビティ図?フローチャート?DFD? 正直、LabVIEWにしっくりくるのって無いような気がしてる。 最近、7から8.2にUpGしたんですけど、 プログラムコード(白い画面)を消して配布する方法が 見つからなくなりました。 どうやればいいのですか? LabVIEW8.0でExpress表にデータを表示すようにしているんですが、 データが多くなると手動でスクロールしなければならずとても不便なのですが、 自動で値を追いかけるようスクロールさせるにはどうしたらいいでしょうか? プロパティノードを使えばい出来るらしいのですがどう使えばいいのかわかりません。 >>135 【ファイル】→【VIプロパティ】→【保護】でロックorパスワード保護でどうかな? >>136 @ 表に入れるデータ数(行数のみ)を求める(配列サイズの関数を使用すればOK) A プロパティノード(読み込み)を作成して【行数】を選択 B もうひとつプロパティノード(書き込み)を作成して【指標の値】を選択 C クラスタの【バンドル】を用意して、@-A(←引き算関数使ってね)で求めた値をクラスタ上に、数値定数"0"を作成してクラスタ下にそれぞれ入力 D Cで作成したクラスタをBのプロパティに入力して完成 ってか、レスでLabVIEWは説明しづらい・・・ 137です 書き忘れたけど、作成するプロパティノードは全部表のプロパティね 表で【右クリック】→【作成】→【プロパティノード】で作成してください >>137 遅くなってすみません おかげさまで自動スクロールできるようになりました ありがとうございました >>139 いえいえ ってかやっぱレスでは説明がむずかすぃーねLabVIEWって香具師は・・・ 実際に見せながらじゃないと説明しづらいよな ディスカッションフォーラムでもviとか画像とか添付して説明してるし >>141 最近レスってる140です G言語のプログラムを説明すること自体が無理なんだよね だって絵を文章で伝えるようなもんだもん ところで話はかわるけど、ここに来てる人ってアライアンスの人が多いのかな? オレは最近来たばっかだけどさ ・・・と言ってるオレもアライアンスだけどw 136ですが私は学生ですね。今年の4月に始めたばかりです LabVIEWを講義に取り入れている大学もあるらしいですが、まだまだ学生の利用者は少ないみたいですし、 企業ではアライアンスパートナーに依頼するでしょうから、やはりアライアンスの方が多いんじゃないでしょうか 142です 何回も「○○です」って言うのめんどくせーのでコテハンつけました >>143 オレも大学でLabVIEWをやっててこの業界に入ったんだよね(143さんもこの業界へ進む予定なのかな?) 過去レスの回答みてるとやっぱLabVIEW詳しそうな人が答えているからアライアンスの人は来てそう また分からないことがあればオレの分かる範囲でなら教えられるんでいつでも聞いてくださいな 一応これでも認定プログラマなんで この業界に進めるほど熟練してはいないので、まだあまり考えてはいないですね セミナー関係はほとんど受けてませんし、トレーニングは個人で受けるにはちょっと割高ですし 最初に「LabVIEW ってなに?」ぐらい受けとけばよかったかなと後悔してます とまあこんな感じで必要最小限の知識しか持っていないので、何かあったらまた聞かせていただきます 180chのA/Dを14bit以上でなるだけ高速に数時間サンプリングしたいんですが、 どういう機器をつかえばいいでしょうか。 また、周波数解析を製品毎に添付することになりましたが、 印刷などは、LabViewから可能でしょうか。 >>145 たぶん145さんなら「LabVIEWってなに?」を受けなくても大丈夫だと思うよ それに会社に入ってから色々と学んでいくものだから 「LabVIEWは線をつないでプログラムを作るんだあ」くらいのことがわかっていれば十分です! >>146 オレもNI製品については詳しくないですが・・・ 高速でサンプリングということだけど実際どのくらいの速度(何Hz?)で収録するのでしょうか? 印刷というのはグラフや表とかの印刷ですか? いまのところ最悪1KHz程度ですが、できれば10KHzほど出したいです。 ただデータを安定して高速に長時間収集しつつ、フィルタやらFFT, 波形判定処理を走らせたいと思っています。 印刷は、OLEなどができれば、エクセルに埋め込みますが、可能でしょうか。 >>148 できれば10KHzでの収録とのことですがサンプリング的には問題ないと思います おそらくこの辺の製品が妥当かと・・・↓ ttp://sine.ni.com/nips/cds/view/p/lang/ja/nid/201760 180chだとボードの枚数が多くなってPCに入らないかも・・・ フィルタやFFTを収録中にかけることはできるけど プログラムの作り方によっては処理が追いつかない場合があるのでなんとも言えないです 印刷の件ですがActiveXを使うことができるのでExcelに埋め込むことはできます しかしかなり処理は遅いです・・・ おそらく波形の判定結果なんかをあらかじめ作ったフォーマットに埋め込むって感じだと思いますが LabVIEWのGUIにも表があるのでそれを使うことも可能ですよ 長文でスマソ・・・ 上のサイトの1.25 MS/秒(シングルチャンネル)は、どういう意味でしょうか。 ぱっとみ、1.25μsec/CHかと思いましたが... >>150 たしか1ch使用時の最大サンプル数だった気がします つまり最大で1秒間に1.25Mサンプル数(1,250,000個)のデータが取得できるということですね 1.25μsec/ch(つまりは1.25MHz)と捉えても同じことです 複数チャンネルになると1.25MS/秒よりも若干遅くなると思うので要注意ッス! >>146 つーかここで聞く内容でもない NIのフォーラムかもしくはNIに電話で済む内容 営業呼んで来ればなお良い おそらくDAQとSCXIの組み合わせになるだろうから、 トレーニングコース初級+データ収録、可能なら中級も受けるといい 音響解析かなんか知らんが、だいぶノイズに敏感な測定に見えるから 機器の設置・接続方法もNIに相談した方がいい >>150 1ch計測時の最大時間分解能 4ch計測のときは四分の一に性能が落ちる。 A/D変換機は高いからマルチプレクサ使って切り替えることで 4ch、8ch計測を可能にしてるんだと >>149 >印刷の件ですがActiveXを使うことができるのでExcelに埋め込むことはできます >しかしかなり処理は遅いです・・・ 別売のExcelツールでセルに書込処理が遅いってこと? どのくらいの処理速度を遅いって言ってるのかは判断出来ないけど。 1/20ぐらいまでは速度が改善できるようです。 >>153 へえ、Excelツールキットっていうのがあるんだ オレはActiveXでの方法しかわからなかった・・・ ちなみに前オレが実際にExcel書き込みの処理を作ったときは 10列50行くらいのデータをプロットすると5秒くらいかかった オレ的には処理が遅いと判断しましたけど、みなさんはどうかな? >>154 多分Office用レポート生成ツールキットのことではないでしょうか? ttp://sine.ni.com/nips/cds/view/p/lang/ja/nid/5769 使っているところを見たことがありますがかなり簡単にoffice製品が制御できてましたよ 価格が高かったので私は持っていませんが >>154 環境にかなり左右されるという結果が得られたけど Pentium M 2.00 GHz メモリー 512 MBで 1セルあたり6.5msでした。 因みに、Delphiでも試したらほぼ同じ速度だった。 早い、遅いは置いておいてエンドユーザーが納得できる速度ではありました。 まぁ、コードも示さず同じってのはあれだけど、自分の知りうる方法で同じだったからそれ以上は 追求もしなかった・・・ あと、連続するエリア(矩形領域)なら処理が1回で済む。当然速度はセル数による。 どんな印刷を期待してるのかよーわからんのでなんともいえんが LabVIEWから普通に印刷できんかったっけ?グラフぐらいは >>155 情報dクスです こんなのがあったんですね >>156 詳細情報dクスです なんかみた感じだと結構早そうですね ってか、そもそも質問主の>>146 はレス見てるのかな? 二次元配列から、条件に適合する配列要素をつまみ出す作業をしたいのですが、うまくいきません。 N行2列の二次元配列AをForループにつっこんで、その要素A_i2がa<A_i2<bを満たす行 A_i=(A_i1, A_i2)だけを 抜き取って配列を作りたいのですが、抜き取りはできるのですが、条件を満たさない行が(0, 0)というゴミ行にな って残ります。このゴミを残さずに条件を満たさない行を削除したいのです。 いろいろな方法を試していますが、どの方法もゴミ行が残ってしまいます。 どーしたらよいのでしょうか?誰か教えてください。 >>159 抜き出したのを新しい配列にセットして戻してやれば? 元配列 -> 抜き出した配列 抽出後 抜き出した配列 -> 元配列 >>160 ありがとうございます。 問題は、抜き出した配列に削除した要素が残る(0で埋められる)ことなんです。 指標配列や配列から削除などのルーチンで悪戦苦闘していたのですが、白紙に戻して、FORループ、ケースストラクチャ、 シフトレジスタ、配列連結追加などの機能で実現できました。 除外データを0で残してよい(配列のサイズは変わらない)のであれば、指標配列で高速に実行可能ですが、除外データを 本当に除外したい(配列サイズは縮小する)場合、直接役に立つルーチンはないみたいです。結局自分で作らなければ 実現できず、速度も遅くなってしまうみたいです。 前に利用したとき(Ver. 5当時)も、LabVIEWって意外にできないことが多いって思ったけど、その感想は変わりませんです。 その当時はイベントストラクチャがないことで手間がかかった記憶があります。今はVer. 7でやってますが、イベントストラク チャができて、昔の苦労が嘘のよう。 今回は、LabViewに空データ出力(Null)という概念が欠けていることが原因だと思っています。 除外データに対しては、入力端子に空データを出力することでレジスタをさわらないようにできればいいのに、LabViewは 入力がない場合にレジスタに0を書き込んでしまうようです。 シフトレジスタと配列連結追加を用いて、除外データに対しては配列レジスタを保存する機能をプログラムして、これを 回避しました。 なんかうぷろだにスクリーンショットで画像晒してと頼みたくなったが 解決してるみたいなのでいいや、 おめでd >>163 ありがとうございます。 やろうとしていたことは、 http://www.kasais.net/LabVIEW/Tips/Tips.htm にあるような2次元配列の間引き処理に近いことでした。 >>161 に書いたように、一応はできたのですが、結局これは速度の点で問題があり、使いませんでした。 指標配列を用いて、0-fillデータつきのサイズ不変の配列をつくり、高速ソートした後に集まった0-fillデータ 部分をごっそり捨てるという方法が速度的に有利なので、そちらで行きました。 あ、すでに解決していましたか・・・>>159 ちなみに配列作成の速度順位は、 1位:For、Whileループによる指標付けの配列作成 2位:あらかじめ使用する数の配列を用意しての配列置換 3位:配列連結(特にループ内での配列の連結は激遅!) って感じです 大量のデータやバイト数の大きいデータを扱うときは注意した方がいいですね ブール定数がTのときに文字列「○」、Fで「×」に変換したいのですが どのうようにすればよいでしょうか? Concatenate Stringsで数値だけをファイルに格納してたんですが ブールの結果を格納することになって手間取ってます。 >>165 >3位:配列連結(特にループ内での配列の連結は激遅!) 先週まさにこれではまった。 >>166 選択で文字列の○と×をTとFに割り当て >>166 下の三角形の関数は比較系の関数にあります [○]、[×]は文字列定数ね レスで書くのはこれが限界・・・orz TRUE [○]=====|\ __________ | \ | T | F | ----------| ? \ ^^^^^^^^ | /=============[文字列出力] | / [×]=====| / FALSE read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる