車関係の製品を開発製造している会社に勤めてます。

元々は日系企業で大手日系メーカーさんにOEM供給してましたが

中国では日系メーカが壊滅的で、うちの会社も中国資本に売られてしまいました。

今は、中華メーカーがほぼ全部(´・ω・`)

 

中国あるあるなのですけど、無茶振りがすごいです…

日本でも某Hさんなんかは、かなり無茶を言いますけど、比じゃないです。

まぁこんな感じでバタバタしております(´・ω・`)

 

今回は、CAN通信で突発対応が必要になりました。

CANとは、車両等の機器間を相互に通信するをネットワークみたいなもの。

※車だけじゃなくって、船とか飛行機とか列車とかでも使われてます

比較的低速ですが、色々と便利で、ほとんどの車で使用されてると思います。

 

うちで生産するときに、製品の制御や機能検査でCANを使う必要があり

検査機等では、簡易的なCAN通信モジュールを利用してます。

実物はこんな感じですね。

COM通信をCANに変換して製品とやり取りをするモジュールです。

製品開発時に使うような厳密な時間制御やエラー処理のシミュレートなどはできませんが

ちょっとしたやり取りでは非常に重宝してます。

COM通信ができる機器であれば、なにを使っても制御出来てお手軽。

 

ある製品シリーズで量産から試作まで数機種しているのですけど全部このCAN。

理由は、今まで色々な機種で使っていたのでそのまま流用できたから

もう10年以上使っているんじゃないかなぁ…

わが社が日系だったころに選定されたものです。

 

そして次の新機種で、このCANが変更になりました。

通常のCANから、CAN FDとかいうのに変わるらしいです。

CAN FDは、CANと同居できるけど、その逆は無理です

テスト生産の2週間前にこの話を聞きました

しかも、同じシリーズの製品で!

いつから変わっていたのよ!俺、聞いてないよ(;´Д`)

マジか…大至急CAN FD対応にしなければ…連絡遅すぎ…

まさか身内から無茶振りされるとはorz

まったくの新規設計の製品だったら事前に情報がくるけど、

ちょい変更のシリーズ製品で通信I/Fが変わるとか予想外ですわ(;´Д`)

 

急いで探して、中国国内で比較的安価で入手しやすいのが、この会社の製品

現物はこんな感じ(実際に生産で使うのはこの互換品でもっと安いやつ)

でも、COM制御できず提供されるドライバとAPIを使うしかない

そして、現行機種と新機種の検査治具類を共通する必要もあって

検査ソフトの大改造が必要に(涙

さらに問題があって検査機が古いのもあって、開発環境はVB6なんですよ。

そうなんです。32Bitアプリケーションですorz

 

制御APIは、PCAN-Basicっていうらしい…ドキュメントをダウンロード

幸いにも32Bit環境のAPIも提供されていたので、なんとかなりそうなのですが

問題は、VB6用の定義ファイルが存在していない…

.NET環境のものはサンプルに用意されていたのだけども

これをVB6用に再定義するのが (´-ω-`)メンドイ

 

とか思いつつ、メーカーのフォーラムを覗いてみたら

https://forum.peak-system.com/viewtopic.php?t=1235

なんと、公式の中の人が作ってくれていたのを発見!

これは助かるわ\(^o^)/

不具合があったり足りてない部分がありましたけど、ちょい修正で使えます。

ここまで来れば、あとはなんとかなりますが…

単純なCOM通信から、APIによる制御に変わるので凄い面倒

結局、大改造が必要で、CAN部分は全部書き換え。

あと、古いCAN232が大量に余ることになってしまいました(^^;