05-18-2022 02:54 AM
gomagomaと申します。
初めて投稿させていただきました。Labviewおよびプログラミングの超初心者です。
①内容:LabviewにてRS485シリアル通信を用いた測定器からのデータ読み出し不具合
②環境:windows10 Pro + Labview2019
RS485モジュール:NI製 USB to RS-485モジュール
制御機器:東邦電子製 TTM214 (温度調節器)2線式(150Ω終端済み)。
PC側COM4に接続。
③接続確認1:
・windowsデバイスマネージャにてCOM4に接続を確認。
・制御先TTM214が2線式の為、windowsのデバイスマネージャのCOM4の伝送方式を2線式方式に変更。
・NI MAXにて、「デバイスとインターフェース」よりCOM4の設定状態とポート設定を確認。
ポートバインド→COM4 、VISAリソース名→ASRL4:INSTR、ボーレート9600、データビット8
パリティ なし、ストップビット 2、フロー制御 なし
Advanced項目にて COM4 →Tranceiver Mode :2wire Autoを確認。
④接続確認2
東邦電子製プロトコル接続確認ソフト(ComSamp3)起動し動作確認実施。
読み出し結果:正常に表示温度読みだしできました。
書き込み結果:正常に設定温度を書き込みできました。
以上より、ハード的には通信可能であることを確認できました。
⑤Labview2019プログラム状況
ブロックダイアグラムとフロントパネルの状況を添付ファイル並びにプログラムを添付します。
また、NI I/O Traceにて状況を示します。
プログラム内容:「アドレス01の温度PV1の値を読む」
送信コマンドは下記になります。
STX01RPV1ETXBCCを送信する為、アスキ―変換し、
→02H30H31H52H50H56H31H03H65H
(機器メーカにコマンドに関しては上記アスキーデータで間違いないと確認頂きました。)
NI製USB to RS-485モジュールのデータ転送インジケータはグリーン点滅をし送信しているようですが、
測定器TTM214の反応が有りません。
この時のNI I/O Traceの結果も添付ファイルに示します。
今のところ手詰まりになってしまいました。
コメント頂きたくよろしくお願い致します。
状況説明する為長文になり、申し訳ありません。
06-09-2022 01:01 AM - 編集済み 06-09-2022 01:02 AM
すみません、投稿頂いたのにスレッドの中段にあり、気づくのが遅れました。
「ASCIIまたはHexでの送受信」が気になりました。
https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019MGcSAM&l=ja-JP
頂いたVIだと、文字列が標準表記になっているので、上記資料を確認頂き、16進に変更頂くなど、お試し頂くとどうでしょう。
ASCIIで送るべき?それともHex?メーカーからはASCIIで送るよう回答がありましたか?
06-09-2022 09:49 AM
関数でデータを変換するよりも文字列を16進表示または¥コード表示にして直接入力してしまった方が早いでしょうね。配列データで02 30 31 52...など用意するのは少し手間な気がします。
(私もなぜか気付いてませんでした。すみませんでした。。。)