NI製品ディスカッション

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

0かどうかの判定方法

解決済み
解決策を見る

・フロントパネル上に置いた2つの数値制御器から、浮動小数点XとYを入力させる。

・XからYを引いた結果をフロントパネル上の数値表示器に出力する。

・XをYで割った結果をフロントパネル上の別の数値表示器に出力する。

・Y=0の場合は、フロントパネル上のLEDを点灯させて、ゼロ除算の警告を行う。

 

箇条書き3つ目までは難なくこなせます。しかし、4つ目の警告の作成がスクリーンショットの時点でどうしてもわかりません。

恐れ入りますが、ご教授いただけますでしょうか。何卒よろしくお願いいたします。

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

何が「わからない」ですか?

「y」制御器からのワイヤが「0に等しい?」関数の入力につながらないということですか?

0 件の賞賛
メッセージ3/12
1,647件の閲覧回数

はい、その通りです。

 

しかし、「比較」の「等しい?」と「数値定数」に0を入力したものの二つをワイヤで結んだら解決しました。

 

ご返信いただきありがとうございました。

0 件の賞賛
メッセージ4/12
1,634件の閲覧回数

Dear, FrankenChino

 

I’m csti22042. Thank you for replying.

0 件の賞賛
メッセージ5/12
1,633件の閲覧回数

 ご質問失礼します。現在以下を販売している自動販売機をシミュレーションをするVIを作成しております。

 

・キャンディー1個:0.80ドル

・ポテトチップ1袋:0.60ドル

・チューイングガム1個:0.40ドル

 

投入された合計金額が、購入商品の合計より多いか、あるいは等しいかをチェックするプログラムです。不足金があれば警告灯を点灯させ、残りの必要額を表示させ、購入するのに十分な金額が自販機に投入されたらおつりが表示されるようにしました。

 

できれば不足しているときは「おつり」は表示させずに(あるいは0表示)、投入金額が十分であったら「必要な残りの金額」は表示させないようにしたいです。しかし、「関数→比較」を用いても不足しているときは「おつり」が、投入金額が十分であったら「必要な残りの金額」が実行されて、それぞれ負の値で表示されます。

 

スクリーンショットのプログラムは間違いなのでしょうか。お手数をおかけしますが、ご教授いただければ幸いです。

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

すべてをダウンロード
0 件の賞賛
メッセージ6/12
1,608件の閲覧回数

Hi csti,

 

when you want to write Japanese you should stick with the Japanese regional board.

Otherwise think about using English when writing questions…

 


@csti22042 wrote:

Is the screenshot program wrong? I apologize for the inconvenience, but I would appreciate it if you could teach me.


Yes, it's wrong!

You completely avoided to "THINK DATAFLOW!" by placing (while) loops around your indicators. It doesn't make any sense to have loops depended from values generated before the loop!

 

Step back and read the LabVIEW help on "DATAFLOW". Then I recommend to take the Basics course (aka Core1)…

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 件の賞賛
メッセージ7/12
1,594件の閲覧回数

Thank you for teaching.

I understand it's wrong.

 

I study ''while loop'' again.

0 件の賞賛
メッセージ8/12
1,588件の閲覧回数
解決策
トピック作成者csti22042が受理

プログラミングの実習でしょうか・・・
とりあえず、お金と購入商品の数を入力してから1回実行することにして、2つのWhileループは削除してください(ループ内のコードは消さないように)。

 

比較関数から出力されているブールによって条件分岐させます。ヘルプで「ケースストラクチャ」または「選択」関数を調べてみてください。

 

あと、前回と違う質問をするときは新しく「トピックを開始」するのがマナーだと思います。

メッセージ9/12
1,558件の閲覧回数

お忙しい中、ご回答ありがとうございます。

 

先ほど削除し、選択関数に切り替えました。すると実行できました。

誠にありがとうございます。

 

大変恐縮ではございますが、「トピックを開始」とは何の事をおっしゃっておられるのか、ご教授いただければ幸いです。

初心者のため、無知であることをお詫び申し上げます。

 

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

0 件の賞賛
メッセージ10/12
1,536件の閲覧回数