空燃比計「Sokken PLR-7 AFR ANALYZER」をPCと接続し、リアルタイムでA/F(空燃比)値を取得したいと考え、まずはLAN接続による通信を試してみました。
結論から言えば、LAN経由での通信は一部のネットワーク設定が原因でうまくいかず、今回は断念することになりました。
■ LANでの接続を試みた理由
PLR-7にはLANポートがあり、PCと直接LANケーブルで接続できる構造になっているため、USBやRS-232Cよりも高速かつ安定した通信が期待できると考えました。
加えて、今後複数の機器とネットワーク経由で統合的に管理する構成も検討していたため、LAN接続は最初に試す価値があると思ったのです。
■ まずはpingで接続確認
PLR-7のIPアドレスが「192.168.1.142」であることを確認し、Windowsのコマンドプロンプトから以下のようにpingを試しました。
nginxコピーする編集するping 192.168.1.142
しかし、結果はすべてタイムアウト。4パケットすべてが失われ、PLR-7に接続できていないことが分かりました。
■ IPアドレスのセグメント不一致が原因
PC側のIPアドレスを確認したところ、「10.xxx.xxx.xxx」というアドレスが割り当てられていました。
PLR-7の「192.168.1.xxx」とは異なるネットワークセグメントにあるため、物理的には接続されていても、IPレベルでは通信できない状態でした。
本来であれば、PC側のIPアドレスを手動で「192.168.1.xxx」の範囲に変更すれば通信できる可能性はありました。
しかし、今回は業務ネットワークとの兼ね合いもあり、PCのIP設定を変更することが難しかったため、LANでの接続はひとまず見送ることにしました。
■ 今後の方針:USB(シリアル)接続での対応へ
LAN接続は一旦保留とし、代わりにUSB経由でのシリアル通信でPLR-7からのデータ取得に取り組むことにしました。
USB接続であれば、PLR-7は「USB Serial Port(COMポート)」として認識され、Windowsアプリから比較的容易に通信が可能です。
このあとの記事では、PLR-7とPCをUSBで接続し、C#でWindowsフォームアプリを作成して、リアルタイムにA/F値を取得・表示・ログ保存するまでの手順を紹介していきます。
■ まとめ
- PLR-7とPCのLAN接続を試みたが、IPアドレスのネットワークが一致しておらず通信できなかった
- PCのIPを変更すれば解決可能だったが、今回は変更できない環境だったため断念
- USB接続でのシリアル通信に切り替え、Windowsアプリ開発へ移行
LAN通信に限らず、ネットワーク設定の重要性を改めて感じる出来事でした。
もし同じような状況で悩んでいる方がいらっしゃれば、PCと機器のIPアドレスが同じネットワーク内にあるかどうかを、まずは確認されることをおすすめします。