車関係の製品を開発製造している会社に勤めてます。
元々は日系企業で大手日系メーカーさんに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が大量に余ることになってしまいました(^^;