あるセンサーのデータをCAN通信でリアルタイムに取得する場合どうしたらよいでしょうか.
私は現在,CANreal(参考:http://esd.eu/en/content/canreal)という直接CANをモニタリングできるツールを用いてセンサーのデータ取得を行っています.具体的にはセンサーとCANrealはRS232Cで接続しており,CANrealはPCとUSB接続し,専用アプリケーションソフトで画面上にCANデータを表示させています.画面の挙動としては,センサーの前に物をかざすと,16進数のデータが次々に流れてくるといった感じです(センサーの前に何もない場合は,データは流れてきません).しかしながら,このツールではデータを.txtとしてロギングして後で解析しなければならないため,リアルタイムで物理値として表示させることができません.そこで,センサーをシリアルUSB変換ケーブルに繋いで直接PCでデータを取得したいのですが,可能でしょうか.センサーからのデータ出力フォーマットは分かっており(DLCが8byte等)ますが,その他,通信プロトコル等は問い合わせなければ私も分からない状況です.現状ではCANrealと同じように16進数のデータが次々に流れてくる状況をVisual Studioのコンソール画面で再現するのが目先の目標です.
質問をまとめます.
・現状でCANデータをコンソール画面に表示することは可能でしょうか.
・その場合,どのようにプログラムを書けば良いでしょうか(取得したいCANのIDを指定も含めて).
・現状で不可能な場合,どうすればよいのかアドバイスを頂きたいです.
当方,普段はMATLABを使用しており,C++等にはあまり詳しくありません(基礎的な文法がわかる程度).宜しくお願い致します.
RS232CのCAN通信(C++)
Re: RS232CのCAN通信(C++)
CAN関係なく、RS232C通信をパソコンのプログラムで行えるかという質問でよろしいですかね?
それなら、答えは「出来ます」ですね。
例えば.NET Frameworkを用いて
.NET Framework 2.0 コア機能解説 ~ 第 2 回 シリアルポートのサポート ~
またはWin32APIを用いて
RS232C シリアル通信
それなら、答えは「出来ます」ですね。
例えば.NET Frameworkを用いて
.NET Framework 2.0 コア機能解説 ~ 第 2 回 シリアルポートのサポート ~
またはWin32APIを用いて
RS232C シリアル通信
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 13年前
- 住所: 東海地方
- 連絡を取る:
Re: RS232CのCAN通信(C++)
リアルタイム性次第では取りこぼしが出るかもしれません。
あとパソコンのRS232C自体が完全準拠ではないので、CAN通信で使っているRS-232C規格によっては受信さえ出来ないかもしれません。
http://www.ys-labo.com/pc/2007/070408%20PC_PS232C.html
あとパソコンのRS232C自体が完全準拠ではないので、CAN通信で使っているRS-232C規格によっては受信さえ出来ないかもしれません。
http://www.ys-labo.com/pc/2007/070408%20PC_PS232C.html
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
-
- 記事: 2
- 登録日時: 10年前
Re: RS232CのCAN通信(C++)
みなさま,回答有り難うございます.
サイトを参考にしつつ試してみたいと思います.
また,質問させて頂くことになるかも知れませんが
その際は宜しくお願い致します.
サイトを参考にしつつ試してみたいと思います.
また,質問させて頂くことになるかも知れませんが
その際は宜しくお願い致します.