
産業用カメラの規格GenICamについて
GenICamについて、自分の理解をまとめておきます。
GenICamは大きくGen API、Gen TL、SNFCの3つの機能から構成されています。詳しくは、本家EMVA、産業用カメラメーカのBasler、mengineerさんのブログなどを見てください。
GigEカメラの場合、ホスト(パソコンとか)から、GigE Vision規格で決められたフォーマットに従って例えば「アドレス○○に△△の値を書き込む」 という指令をUDP経由でカメラに送ります。一方で、「露光時間を設定するアドレス」は各カメラで異なります。どの設定パラメータをどのアドレスに割り当てるかについては、統一ルール(規格)が無く、またアドレスを変更しない事をメーカが保証しているわけではありません。
GenICamは、このパラメータとアドレスを対応付けるための仕組みです。GenICam対応のカメラはXML形式のパラメータとアドレスの対応表を出力する事ができます。ホストはこのXMLファイルをパースすることで、パラメータとアドレスのタイプ関係を知る事ができます。アドレスが変わってもXMLファイルを再度ダウンロードすれば良いのでカメラ仕様変更があってもホスト側のソフトを変更する必要がありません。
GenICam素晴らしい仕組みですね。
仕組みは素晴らしいのですが、無償配布されるサンプルパーサーが、Windows用とLinux用のバイナリ配布のみなのですよね…。ソースコードの公開が無いという問題があります。GigEカメラが接続されるホストがWindowsでもLinuxでも無いということは、ある話なので他のOS(Androidなど)のサポートやソースコードの公開をお願いしたいところです。
emvaのGenICamぺージ: https://www.emva.org/standards-technology/genicam/
イラストは
イラストは妻に描いてもらいました。良かったら妻のnoteも見に行ってください。
最後まで読んでいただきありがとうございます。