09-10-2022 09:45 PM
LINXを用いてaruduinoからPWM信号を発生するVIをサンプルVIに
少し修正を加えて作成しました。
起動するとFIG1のエラーが発生し止まってしまいます。
エラーBOXのContinueをクリックすると正常に動作をはじめます。何が原因でエラーが発生しているのでしょうか。
また、エラーが出なくなる対策をご教示頂けませんでしょうか。
VIを添付します。
また、LINXはTOOL=>MakerHub=>LINXの中にFirmware Wizardがある見たいなのですが、私の場合、TOOL=>Hobbyistの中に
Firmware wizardが存在しています。
これはLINXのインストールが上手く行われていないのでしょうか。
以上、宜しくお願いします。
09-11-2022 07:07 PM
09-11-2022 11:52 PM
お返事有難う御座います。
ファームウェアーというのはFirmware Wizardの事でしょうか。
もしそうだとしたら、アップデートの方法をお教え頂けませんか。
以上、宜しくお願いします。
09-16-2022 01:49 AM
こちらの資料に案内があるようですので、これに倣って作業頂くといかがでしょう。
LabVIEWとArduinoの通信 - NI https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019TmpSAE&l=ja-JP
09-16-2022 02:16 AM
ご教示有難う御座います。
これやってみたんですが、結局同じエラーが出続けて
いるんです。
さっぱりお手上げ状態です。
09-17-2022 09:07 PM
5003のエラーということであれば、タイムアウトの設定周りも怪しそうなので、試してみてください。
LINXとArduinoの接続(エラー5003)
http://yuukiwogousei.blog.fc2.com/blog-entry-112.html
Re: Linx for Labview 2020 Error 5003
https://forums.ni.com/t5/Hobbyist-Toolkit/Linx-for-Labview-2020-Error-5003/m-p/4076092#M106
09-18-2022 07:19 AM
ご教示有難う御座います。
下記、試してみました。
タイムアウトの変更はVI上では出来るのですが、ファイルを上書きしてもタイムアウト値は変更前に戻ってしまいます。上書きの方法が良くないのでしょうか。
LINXとArduinoの接続(エラー5003)
09-18-2022 09:57 AM
添付ファイルの方法も試してみました。
ですが、結果は同じで5003のエラーがでます。
エラーの出方は出る時と出ない時があります。
サンプルプログラムを起動してエラーがでると
いうのはなんとも理解ができません。
サンプルプログラム名は「LINX - PWM 1 Channel」で
す。そのままVIを起動しただけです。
これはバグなんでしょうか?
根本的な解決方法はないのでしょうか?
09-18-2022 11:03 AM
エラー5003の出方ですが、VIを初回実行した時にはエラーはでません。添付FIG1のA部を押して、隣のボタン(繰り返し実行)を押すとエラーがでます。
VIを終了し、再度VIをロードし実行するとエラーはまた
出なくなります。
どうやら赤のA部のボタンを押すとLINXがCLOSEされて
いない状態でVIが停止し、この状態で繰り返し実行を押すとLINXがCLOSEされていない状態でINITIALIZEしようとするのでエラーが出ている様な気がします。
(ストップボタンで中断し、VIを再開した場合にはエラーはでない)
A部のボタンを押すと、VIを再読み込みし直さない
とVIはちゃんと動かないモノなのでしょうか。
09-18-2022 07:58 PM
横から失礼します。
>エラー5003の出方ですが、VIを初回実行した時にはエラーはでません。
それで良いと思いますが、何か問題がありますか?
>どうやら赤のA部のボタンを押すとLINXがCLOSEされていない状態でVIが停止し、この状態で繰り返し実行を押すとLINXがCLOSEされていない状態でINITIALIZEしようとするのでエラーが出ている様な気がします。
PDFに「A部」の記載がありませんが中断ボタンのことならば、おっしゃる通りです。
>A部のボタンを押すと、VIを再読み込みし直さないとVIはちゃんと動かないモノなのでしょうか。
そうです。ono0523さんの考察の通りです。
ハードウェアのOpen-Run-Closeモデルでは、Run中に中断ボタンで止めてはいけません。OpenしたリソースはCloseしないと次は正常動作しないのが普通で、仮に動いたとしてもメモリリークの原因になります。VIを一旦閉じるとLabVIWが自動的にリソースを開放します。
また、制御プログラムは必ず安全状態に戻して(たとえば出力を0にして、すべてのリソースを開放)から止めるようにするのが鉄則です。
また、連続実行ボタンも使うべきではありません。ハードウェア(ドライバ)によっては、リソース開放に少し時間がかかる場合があります。LabVIEWは速いのでClose-Openをゼロ時間でコールすると開放が間に合わず重複Openと同じ現象が起こるかもしれません。
あと、制御器の初期値を変更するには「現在の値をデフォルト設定にする」操作をしないと値は保存されません。