04-06-2024 07:02 AM
モーターの回転を制御するviと、スライドテーブルの障害物を感知するViまでは別々に
作りました。問題はこれらの2つのループを連動させながらスライドテーブルに取り付けられている障害物
センサーが発動した場合にモーターの回転方向を変えながらViを終了するまで障害物センサー間を
連続往復運転するViを作りたいのですが、2つのViを連動させる所で行き詰まっております。
打開策をご教示頂けませんでしょうか。
詳細は添付ファイルを参照
04-09-2024 08:26 AM
並列ループ間で情報をやり取りするには、共有データ(ローカル変数、VIグローバルなど)を介するか、通信経路(キュー、ユーザイベント、チャンネルワイヤなど)を使う方法があります。
ビギナーに理解しやすいのは共有データですが、この先性能や機能を拡張する予定があるなら通信がお勧めです。
イベントストラクチャがあるのでセンサー状態をユーザイベントで送る例を添付します。LabVIEW2020のVIで、実機でのテストはできていないので動かない場合は状況を教えてください。
ところで、CW/CCW/PAUSEボタンが「放されるまでスイッチ」動作になっていますが、これだと命令が2回(押したときと放したとき)Writeされますよ。もしかしてJOG動作(押している間動いて放すと止まる)させたかったのでしょうか?
04-09-2024 09:06 AM
ご丁寧なコメント有難う御座います。
仰る通り”押している間動いて放すと止まる”をしたかった
のです。
添付頂いたViですが開け様とすると添付ファイルに示す
エラーが発生します。
回避策をご教示頂けませんでしょうか。
また、添付頂いた
action_stateというのはどの様に使えば良いの
でしょうか。
以上 宜しくお願い致します。
04-09-2024 08:13 PM
action_state.ctl はタイプ定義にしたカスタム制御器です。
oriental_moter_testrun6.vi と同じフォルダに置いてください。
04-09-2024 09:17 PM
分かりました
有難う御座います。
私には敷居が高いですが一つ一つ
Viの動作を確認しまがら今日1日
Viを眺めてみます。
04-14-2024 06:44 PM
おはよう御座います。
お蔭様でなんとか動作を理解する所
まできました。
後は、ボタンを押している間だけモータが
動く様に改造したいのですが、上手くいきません。
スタートコマンドを送信するとストップコマンドを
送るまでモーターは回転し続けます。
ボタンを離した時に停止コマンドが出せる
と良いのですが。
この様に改造したいのでが、その方法があれば
ご教示頂けませんでしょうか。
04-14-2024 07:13 PM
スイッチ動作のイベントはボタンをONしたときとOFFしたときに発生するので、そのときのボタンの論理に従ってコマンドを変えればいいです。
04-15-2024 07:13 AM
夜分失礼します。
お蔭様でボタンを押している時だけ
モータが動く様に改修できました。
アドバイス感謝致します。