RS232CのCAN通信(C++)

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
KillerQueen
記事: 2
登録日時: 10年前

RS232CのCAN通信(C++)

#1

投稿記事 by KillerQueen » 10年前

あるセンサーのデータを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++等にはあまり詳しくありません(基礎的な文法がわかる程度).宜しくお願い致します.

beatle
記事: 1281
登録日時: 12年前
住所: 埼玉
連絡を取る:

Re: RS232CのCAN通信(C++)

#2

投稿記事 by beatle » 10年前

CAN関係なく、RS232C通信をパソコンのプログラムで行えるかという質問でよろしいですかね?
それなら、答えは「出来ます」ですね。

例えば.NET Frameworkを用いて
.NET Framework 2.0 コア機能解説 ~ 第 2 回 シリアルポートのサポート ~

またはWin32APIを用いて
RS232C シリアル通信

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: RS232CのCAN通信(C++)

#3

投稿記事 by softya(ソフト屋) » 10年前

リアルタイム性次第では取りこぼしが出るかもしれません。
あとパソコンのRS232C自体が完全準拠ではないので、CAN通信で使っているRS-232C規格によっては受信さえ出来ないかもしれません。
http://www.ys-labo.com/pc/2007/070408%20PC_PS232C.html
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

KillerQueen
記事: 2
登録日時: 10年前

Re: RS232CのCAN通信(C++)

#4

投稿記事 by KillerQueen » 10年前

みなさま,回答有り難うございます.
サイトを参考にしつつ試してみたいと思います.
また,質問させて頂くことになるかも知れませんが
その際は宜しくお願い致します.

閉鎖

“C言語何でも質問掲示板” へ戻る