ストリームグラバーのパラメーター#
この項では、ストリームグラバーに関連するパラメーターについて説明します。
General Parameters#
Access Mode#
イメージ AccessMode parameterは、現在のアプリケーションがデバイスに対して持っているアクセスモードを示します。
Control: アプリケーションはデバイスに対するコントロールアクセスを持っています。他のアプリケーションも引き続きデバイスを モニター することができ、コントロールの取得やデバイスへの排他的アクセスの要求を行うことができます。Exclusive: アプリケーションはデバイスに対する排他的アクセスを持っています。他のアプリケーションがデバイスを コントロールまたはモニター することはできません。Monitor: アプリケーションはデバイスに対する モニタリングアクセス、つまり読み取り専用アクセスを持っています。NotInitialized: デバイスへのアクセスが初期化されていません。
このパラメーターは読み取り専用です。
Auto Packet Size#
設定するピクセルのカラーコンポーネントを指定するには、 AutoPacketSize parameterを使用して、イーサネット経由で転送されるデータパケットのサイズを最適化します。
parameterが trueに設定されている場合、カメラはパケットサイズを自動的にネゴシエーションし、可能な限り最大のパケットサイズを検出します。
現在のパケットサイズを取得するには、 GevSCPSPacketSize パラメータ。
大きなパケットを使用すると、画像転送のオーバーヘッドが減少します。最大パケットサイズは、ネットワークハードウェアとその設定によって異なります。
Maximum Buffer Size#
設定するピクセルのカラーコンポーネントを指定するには、 MaxBufferSize parameterを使用して、画像取り込みに使用されるバッファの最大サイズ(バイト単位)を指定します。
グラブ開始前に、グラブアプリケーションにより、このパラメーターを設定する必要があります。
Maximum Number of Buffers#
設定するピクセルのカラーコンポーネントを指定するには、 MaxNumBuffer parameterを使用して、画像取り込みに同時に使用できるバッファの最大数を指定します。
Maximum Transfer Size#
設定するピクセルのカラーコンポーネントを指定するには、 MaxTransferSize parameterを使用して、USBデータ転送の最大サイズ(バイト単位)を指定します。デフォルト値はほとんどのアプリケーションに適しています。CPU負荷を軽減するには、値を増やします。
アプリケーションがイメージストリームを受信できない場合、USBホストアダプタードライバーは値を小さくする必要があります。最大値はオペレーティングシステムによって異なります。
Num Max Queued URBs#
設定するピクセルのカラーコンポーネントを指定するには、 NumMaxQueuedUrbs parameterを使用して、同時にキューに登録するUSBリクエストブロック(URB)の最大数を指定します。
この値を大きくすると、安定性が向上し、ジッターを低減できますが、ホストコンピューター上でより多くのリソースが必要になります。
「Failed to probe and lock buffer=0xe2010130」や「Failed to submit transfer status=0xe2100001」などのシステムメモリー不足に関するエラーメッセージが表示される場合に、この値を小さくすると有効なことがあります。
Receive Thread Priority Override#
設定するピクセルのカラーコンポーネントを指定するには、 ReceiveThreadPriorityOverride parameterを使用して、受信ストリームパケットを受信するスレッドにカスタム優先度の割り当てを有効にします。これは、 ソケットドライバ が使用されます。
優先度を割り当てるには、 ReceiveThreadPriority パラメータ。
Receive Thread Priority#
設定するピクセルのカラーコンポーネントを指定するには、 ReceiveThreadPriority parameterを使用して受信スレッドのスレッド優先度を設定します。これは、 ソケットドライバ が使用されます。
優先度を割り当てるには、 ReceiveThreadPriorityOverride パラメータを次のように設定する必要があります: true.
Socket Buffer Size#
設定するピクセルのカラーコンポーネントを指定するには、 SocketBufferSize parameterを使用してソケットバッファサイズをキロバイト単位で設定します。これは、 ソケットドライバ が使用されます。
Status#
イメージ Status parameterは、ストリームグラバーの現在のステータスを示します。
Closed: ストリームグラバーが閉じられています。Locked: ストリームグラバーがロックされています。NotInitialized: ストリームグラバーが初期化されていません。Open: ストリームグラバーが開いています。
このパラメーターは読み取り専用です。
転送ループスレッドの優先度#
設定するピクセルのカラーコンポーネントを指定するには、 TransferLoopThreadPriority parameterは、ストリームインターフェースからのUSBリクエストを処理するスレッドの優先度を指定します。
pylonには、USBトランスポート層に属する2つのスレッドがあります。1つは画像URB(USB要求ブロック)用で、もう1つはイベントURB用です。トランスポート層は、URBをxHCIドライバーにエンキューし、配信されたURBのバスをポーリングします。
両方のスレッドの優先度は、 TransferLoopThreadPriority パラメータ。
Windowsでは、デフォルトで、パラメーターが次の値に設定されています。
- 25(ホストアプリケーションが管理者権限で実行されている場合)。
- 15以下(ホストアプリケーションが管理者権限なしで実行されている場合)。
LinuxおよびmacOSでは、デフォルトのパラメーター値とパラメーター値の範囲が異なる場合があります。
転送ループの優先度は、常にグラブエンジンスレッドの優先度(InternalGrabEngineThreadPriority parameter)およびグラブループスレッドの優先度(GrabLoopThreadPriority parameter)よりも高くする必要があります。
詳細については、「pylon APIドキュメント」の「アプリケーションの高パフォーマンス設定」セクションを参照してください。
GigEビジョンドライバーのタイプ#
設定するピクセルのカラーコンポーネントを指定するには、 Type parameterは、ホストアプリケーションのGigE Visionドライバタイプを設定します。
WindowsFilterDriver: ホストアプリケーションは pylon GigE Vision Filter Driver.WindowsPerformanceDriver(pylonバージョン7.1で非推奨となりました):ホストアプリケーションは pylon GigE Vision Performance Driver.SocketDriver: ホストアプリケーションは pylon GigE Vision Socket Driver.RDMADriver: ホストアプリケーションは pylon RDMA Driver.NoDriverAvailable: 適切なドライバがインストールされていません。ドライバタイプを設定できません。
ドライバータイプの詳細については、「ドライバー」を参照してください。
タイプ:ソケットドライバーが使用可能#
イメージ TypeIsSocketDriverAvailable parameterは、 pylon GigE Vision Socket Driver が現在利用可能(1)か、利用不可(0)かを示します。
タイプ:Windowsフィルタードライバーが使用可能#
イメージ TypeIsWindowsFilterDriverAvailable parameterは、 pylon GigE Vision Filter Driver が現在利用可能(1)か、利用不可(0)かを示します。
タイプ:Windows Intelパフォーマンスドライバーが使用可能#
イメージ TypeIsWindowsIntelPerformanceDriverAvailable parameterは、 pylon GigE Vision Performance Driver が現在利用可能(1)か、利用不可(0)かを示します。
パケット再送信機能パラメーター#
パケット再送信メカニズム(GigE Visionのみ)は、欠落しているデータパケットを検出して再送信することで、ネットワークパフォーマンスを最適化します。
pylon GigE Vision Filter DriverおよびSocket Driverには、高度で堅牢なパケット再送信メカニズムがあります。
これにより、微調整が可能になります。また、最大要求数に達するまで、連続して再送信要求を送信できます。
ドライバーがパケット(リーダー、ペイロード、またはトレーラーパケットなど)が欠落していることを検出すると、指定された時間待機します。指定された時間内にパケットが到着しない場合、ドライバーは1つ以上の再送信要求を送信し、失われたパケットを取得しようとすることがあります。
ペイロードパケットの連続範囲が欠落している場合、ドライバーは、欠落しているパケットの範囲に対して、1つの「バッチ再送信要求」を自動的に送信します。さらに、ドライバーは、失われたと見なされた再送信要求について、再送信要求を自動的に送信する場合があります。
Enable Resends#
設定するピクセルのカラーコンポーネントを指定するには、 EnableResend parameterは、現在選択されている タイプのGigE Visionドライバのパケット再送メカニズムを有効または無効にします。.
Packet Timeout#
設定するピクセルのカラーコンポーネントを指定するには、 PacketTimeout parameterは、再送リクエストを開始する前に、フィルタドライバが次に予期されるパケットを待機する時間(ミリ秒)を指定します。
このパラメーターがパケット間遅延よりも長い時間間隔に設定されていることを確認します。
Frame Retention#
設定するピクセルのカラーコンポーネントを指定するには、 FrameRetention parameterは、フレームのすべてのパケットを受信するまでの最大時間(ミリ秒)を指定します。Timerは最初のパケットを受信したときに開始されます。指定された時間内に転送が完了しない場合、対応するフレームは「Failed」ステータスで配信されます。
Maximum Number of Resend Requests#
設定するピクセルのカラーコンポーネントを指定するには、 MaximumNumberResendRequests parameterは、欠落したパケットあたりの最大再送リクエスト数を指定します。
Firewall Traversal間隔#
設定するピクセルのカラーコンポーネントを指定するには、 FirewallTraversalInterval GigE Visionパケットがファイアウォールによってブロックされるのを防ぐためのパラメータ。
このパラメーターは、ストリームグラバーとイベントグラバーの両方で使用できます。つまり、GigE Vision Streaming Protocol(GVSP)パケットとMessage Channel Source Port(MCSP)パケットを処理します。両方のタイプのパケットに対して個別に設定する必要があります。詳細については、次のコードサンプルを参照してください。
有効の場合、グラバーは、ファイアウォールによるブロックを防止するトラフィックカンバセーションをシミュレートする特定のパケットを送信します。
デフォルトでは、ストリーミングセッション中に、GVSPパケットの場合は10秒ごと、MCSPパケットの場合は30秒ごとにパケットが送信されます。
このパラメーターをミリ秒単位で設定して、ファイアウォールに合わせて最適化できます。
カメラの FirewallTraversalInterval パラメータがゼロに設定されている場合、Firewall Traversal機能は無効とみなされます。
ストリーム宛先パラメーター#
次のパラメーター(GigE Visionのみ)を使用すると、グラブされたデータをストリームグラバーから送信する場所を設定できます。
ストリームグラバーは、ストリームデータを1つの特定のデバイスまたはネットワーク内の複数のデバイスに送信できます。
トランスミッションタイプ#
設定するピクセルのカラーコンポーネントを指定するには、 TransmissionType ネットワーク内でストリームデータがどのように転送されるかを定義するパラメータ。パラメータには次の値を設定できます:
-
Unicast(デフォルト):ストリームデータは、 単一の ローカルネットワーク内のデバイス、通常はカメラのGigEネットワークアダプターに送信されます( 送信先アドレスを参照)。他のデバイスはストリームデータを受信できません。 -
LimitedBroadcast:ストリームデータは すべて ローカルネットワーク内のデバイス(255.255.255.255)に送信されます(ストリームデータの受信を希望していない場合でも送信されます)。大規模なローカルネットワークでは、これにより大量のネットワーク帯域幅が消費されます。この送信タイプを使用するには、 制御および監視アプリケーション. -
SubnetDirectedBroadcasting:ストリームデータは すべて を設定する必要があります。カメラと同じ サブネット 内にあるデバイス(ストリームデータの受信を希望していない場合でも)に送信されます。サブネットが小規模な場合、これによりネットワーク帯域幅を節約できる可能性があります。サブネット外のデバイスはストリームデータを受信できないため、この送信タイプはセキュリティ目的などに役立ちます。サブネット指定ブロードキャストの場合、ストリームグラバーはサブネットブロードキャストアドレスを使用します。サブネットブロードキャストアドレスは、カメラのIPアドレスとカメラのサブネットマスクのビット補数の間でビット単位のORを実行することによって取得されます(「宛先アドレス」を参照)。この送信タイプを使用するには、制御および監視アプリケーションを設定する必要があります。
情報
- カメラのIPアドレスとサブネットマスクを設定するには、pylon IP Configuratorを使用します。
- IPアドレス、サブネットマスク、サブネットブロードキャストアドレスの詳細については、Online IP Subnet Calculatorウェブサイトをご覧ください。
-
Multicast:ストリームデータは 選択された ローカルネットワーク内のデバイス。データは受信を希望しているデバイスにのみ送信されるため、ネットワーク帯域幅が節約されます。また、データを送信するデバイスを正確に指定することもできます。マルチキャストを使用するには、 ストリーム送信先アドレス をマルチキャストグループアドレス(224.0.0.0〜239.255.255.255)に設定する必要があります。また、 制御および監視アプリケーションを設定する必要があります。その後、pylon APIが自動的にマルチキャストグループの作成と管理を行い、他のデバイスが参加できるようにします。 -
UseCameraConfig:ストリーム送信構成がカメラから読み取られます。このオプションは、 監視アプリケーション.
制御および監視アプリケーション#
リミテッドブロードキャスト、サブネット指定ブロードキャスト、またはマルチキャストを使用する場合、通常は1台のカメラから複数の宛先に画像データストリームを送信します。
これを実現するには、1つの制御アプリケーションと1つ以上の監視アプリケーションを設定する必要があります。
- 制御アプリケーションでは、画像取得を開始および停止します。カメラの設定を変更することもできます。
- 監視アプリケーションでは、ストリームデータを受信します。監視アプリケーションは、カメラを読み取り専用モードで開きます。つまり、画像取得を開始および停止したり、カメラ設定を変更したりすることはできません。
試験目的で、pylon Viewerの1つのインスタンスを制御アプリケーションとして使用し、pylon Viewerの別のインスタンスを監視アプリケーションとして使用できます。
pylon Viewerの異なるインスタンスをアプリケーションの制御および監視として使用するには、次の手順を実行します。
- pylon Viewerを起動し、GigEデバイスを開きます。
- 次の手順に従って、pylon Viewerの別のインスタンスを開始します。これは監視アプリケーションとして機能します。
- Windows:pylon Viewerを起動します。pylon ViewerのDevicesペインで、手順1で開いたGigEデバイスを右クリックしてから、Open Device … > Monitor Modeの順にクリックします。
- Linux: を設定する場合にのみ使用してください。コマンドラインで次のように入力します:
/opt/pylon5/bin/PylonViewerApp -m - macOS: を設定する場合にのみ使用してください。コマンドラインで次のように入力します:
./Applications/pylon Viewer.app/Contents/MacOS/pylon Viewer -m
情報
制御アプリケーションと監視アプリケーションのセットアップの詳細については、「pylon APIドキュメント」の「GigEマルチキャスト/ブロードキャスト」セクションを参照してください。
Destination Address#
イメージ DestinationAddr パラメータは、ストリームグラバーがすべてのストリームデータを送信するIPアドレスを示します。
パラメータの値とアクセスモードは以下に依存します: TransmissionType parameter値:
| TransmissionTypeパラメーター値 | DestinationAddrパラメーター値 | DestinationAddrアクセスモード |
|---|---|---|
Unicast | GigEカメラネットワークアダプターのIPアドレス | 読み取り専用 |
LimitedBroadcast | 255.255.255.255 | 読み取り専用 |
SubnetDirectedBroadcasting | (カメラのIPアドレス)またはそうでない(カメラのサブネットマスク) | 読み取り専用 |
Multicast | デフォルト:239.0.0.1 許容範囲:224.0.0.0~239.255.255.255a | 読み取り/書き込み |
-
この範囲の一部のアドレスは予約されています。不明な場合は、239.255.0.0~239.255.255.255のアドレスを使用します。この範囲は、ローカルで管理されるアドレス空間としてRFC 2365により割り当てられます。
Destination Port#
イメージ DestinationPort parameterは、ストリームグラバーがすべてのストリームデータを送信するポートを示します。
パラメーターが0に設定されている場合、pylonは自動的に未使用のポートを選択します。
詳細については、「pylon APIドキュメント」の「送信先ポートの選択」セクションを参照してください。
統計パラメーター#
pylon APIには、カメラが正しく設定されているかどうか、ハードウェアコンポーネントが適切かどうか、システムのパフォーマンスを確認できる統計パラメーターが用意されています。
カメラのスタートアップ時には、すべての統計パラメーターが0に設定されています。画像を継続的に取得している間、パラメーターは継続的に更新され、失われた画像や不完全にグラブされたバッファーなどについて情報が提供されます。
Buffer Underrun Count#
イメージ Statistic_Buffer_Underrun_Count parameterは、キュー内にバッファがなかったためにドロップされたフレーム数をカウントします。
パラメーター値は、イメージが受信されると増加しますが、キューに入っている空きバッファーがドライバー入力キューにないため、フレームが失われます。
Failed Buffer Count#
イメージ Statistic_Failed_Buffer_Count parameterは、ステータス「failed」で返されたバッファ、つまり不完全に取得されたバッファの数をカウントします。
不完全にグラブされたバッファーのエラーコードは、GigEカメラでは0xE1000014、USB 3.0カメラでは0xE2000212です。
Failed Packet Count#
イメージ Statistic_Failed_Packet_Count parameterは、ストリームグラバーによって正常に受信されたものの、カメラによって「failed」として報告されたパケットをカウントします。
パケットが「失敗」と報告される最も一般的な理由は、パケット再送要求がカメラで満たされなかったことです。これは、要求されたデータがカメラのメモリー内の新しい画像データによってすでに上書きされている場合などに発生します。
Failed Packet Countは、すべての再送要求が失敗したために失われたと見なされるパケットをカウントしません。この場合、Failed Buffer Countは増加しますが、Failed Packet Countは増加しません。
Last Block ID#
イメージ Statistic_Last_Block_Id parameterは、最後に取得されたブロックIDを示します。
Last Failed Buffer Status#
イメージ Statistic_Last_Failed_Buffer_Status パラメータは、最後に失敗したバッファのステータスコードを示します。
Last Failed Buffer Status Text#
イメージ Statistic_Last_Failed_Buffer_Status_Text parameterは、読み取りまたは書き込み操作の最後のエラー ステータスを示します。
Missed Frame Count#
イメージ Statistic_Missed_Frame_Count parameterは、カメラの内蔵フレームバッファがすでに一杯だったために取得されたもののスキップされたフレーム数をカウントします。
多くのBaslerカメラは、完全なフレームを複数保存できるフレームバッファーを搭載しています。Missed Frame Countが多い場合は、ホストコントローラーがカメラの帯域幅をサポートしていないことを示しています。つまり、ホストコントローラーは、時間内に取得した画像を取り込みません。これにより、カメラは内部フレームバッファーに画像をバッファーするようになります。内部フレームバッファーがいっぱいになると、カメラは新しく取得したセンサーデータをスキップし始めます。
Resend Packet Count#
イメージ Statistic_Resend_Packet_Count parameterは、再送要求によって要求されたパケット数をカウントします。
情報
Filter Driverを使用していて、ドライバーがフレームの「リーダー」、つまりフレームの先頭を示すパケットを受信していない場合、フレーム全体が無視されます。再送要求は送信されず、統計パラメーターは増加しません。これは、「リーダー」パケットが失われた場合、フレーム全体が通知なしに失われることを意味します。Baslerは、Frame Counterチャンクを確認して、失われたフレームを検出することをおすすめします。
Resend Request Count#
イメージ Statistic_Resend_Request_Count parameterは、送信されたパケット再送要求の数をカウントします。
ドライバータイプとストリームグラバーの設定によっては、ストリームグラバーは1つの欠落したパケットに対して複数の要求を送信するか、複数のパケットに対して1つの要求を送信することがあります。したがって、Resend Request CountとResend Packet Countは異なる場合があります。
Resynchronization Count#
イメージ Statistic_Resynchronization_Count parameterは、ストリームの再同期回数をカウントします。
ストリーミングプロセス内でホストの同期が解除されると、再同期が開始され、カメラの内部バッファーがフラッシュされます。
特定のシーケンスのIDを持つストリームパケットを要求すると、ホストの同期が解除されることがありますが、デバイスは別のシーケンスを持つパケットを送信します。これは、カメラとホストの間の接続に障害がある場合に起こることがあります。ホストが同期していないと、大量の画像が失われます。
ホストの再同期は、USB 3.0およびUSB3 Vision仕様で最も重大なエラー事例と見なされます。
合計バッファー数#
GigEカメラの場合、 Statistic_Total_Buffer_Count parameterは、「success」または「failed」ステータスで返されたバッファの数、つまり、正常または不十分に取得されたすべてのバッファの数をカウントします。USBカメラなどの他のカメラでは、処理されたバッファの数がカウントされます。
不完全にグラブされたバッファーのエラーコードは、GigEカメラでは0xE1000014、USB 3.0カメラでは0xE2000212です。
合計パケット数#
イメージ Statistic_Total_Packet_Count parameterは、「failed」として報告されたパケットを含め、受信したすべてのパケットをカウントします。 Failed Packet Count.
サンプルコード#
// ** General Parameters **
// Access Mode
AccessModeEnums accessMode = camera.GetStreamGrabberParams().AccessMode.GetValue();
// Auto Packet Size
camera.GetStreamGrabberParams().AutoPacketSize.SetValue(true);
// Maximum Buffer Size
camera.GetStreamGrabberParams().MaxBufferSize.SetValue(131072);
// Maximum Number of Buffers
camera.GetStreamGrabberParams().MaxNumBuffer.SetValue(16);
// Maximum Transfer Size
camera.GetStreamGrabberParams().MaxTransferSize.SetValue(1048568);
// Num Max Queued Urbs
camera.GetStreamGrabberParams().NumMaxQueuedUrbs.SetValue(64);
// Receive Thread Priority Override
camera.GetStreamGrabberParams().ReceiveThreadPriorityOverride.SetValue(true);
// Receive Thread Priority
camera.GetStreamGrabberParams().ReceiveThreadPriority.SetValue(15);
// Socket Buffer Size (socket driver only)
camera.GetStreamGrabberParams().SocketBufferSize.SetValue(2048);
// Status
StatusEnums streamGrabberStatus = camera.GetStreamGrabberParams().Status.GetValue();
// Transfer Loop Thread Priority
camera.GetStreamGrabberParams().TransferLoopThreadPriority.SetValue(15);
// Type of GigE Vision Filter Driver
camera.GetStreamGrabberParams().Type.SetValue(Type_WindowsIntelPerformanceDriver);
// Type: Socket Driver Available
int64_t i = camera.GetStreamGrabberParams().TypeIsWindowsIntelPerformanceDriverAvailable.GetValue();
// Type: Windows Filter Driver Available
int64_t i = camera.GetStreamGrabberParams().TypeIsWindowsFilterDriverAvailable.GetValue();
// Type: Windows Intel Performance Driver Available
int64_t i = camera.GetStreamGrabberParams().TypeIsSocketDriverAvailable.GetValue();
// ** Packet Resend Mechanism Parameters **
// Enable Resends
camera.GetStreamGrabberParams().EnableResend.SetValue(true);
// Packet Timeout
camera.GetStreamGrabberParams().PacketTimeout.SetValue(40);
// Frame Retention
camera.GetStreamGrabberParams().FrameRetention.SetValue(200);
// Maximum Number of Resend Requests
camera.GetStreamGrabberParams().MaximumNumberResendRequests.SetValue(25);
// Firewall Traversal Interval
camera.GetStreamGrabberParams().FirewallTraversalInterval.SetValue(10000);
camera.GetEventGrabberParams().FirewallTraversalInterval.SetValue(30000);
// ** Stream Destination Parameters **
// Transmission Type
camera.GetStreamGrabberParams().TransmissionType.SetValue(TransmissionType_Unicast);
// Destination Address
GenICam::gcstring destinationAddr = camera.GetStreamGrabberParams().DestinationAddr.GetValue();
// Destination Port
camera.GetStreamGrabberParams().DestinationPort.SetValue(0);
// ** Statistics Parameters **
// Buffer Underrun Count
int64_t bufferUnderrunCount = camera.GetStreamGrabberParams().Statistic_Buffer_Underrun_Count.GetValue();
// Failed Buffer Count
int64_t failedBufferCount = camera.GetStreamGrabberParams().Statistic_Failed_Buffer_Count.GetValue();
// Failed Packet Count
int64_t failedPacketCount = camera.GetStreamGrabberParams().Statistic_Failed_Packet_Count.GetValue();
// Last Block ID
int64_t lastBlockId = camera.GetStreamGrabberParams().Statistic_Last_Block_Id.GetValue();
// Last Failed Buffer Status
int64_t lastFailedBufferStatus = camera.GetStreamGrabberParams().Statistic_Last_Failed_Buffer_Status.GetValue();
// Last Failed Buffer Status Text
GenICam::gcstring lastFailedBufferStatusText = camera.GetStreamGrabberParams().Statistic_Last_Failed_Buffer_Status_Text.GetValue();
// Missed Frame Count
int64_t missedFrameCount = camera.GetStreamGrabberParams().Statistic_Missed_Frame_Count.GetValue();
// Resend Request Count
int64_t resendRequestCount = camera.GetStreamGrabberParams().Statistic_Resend_Request_Count.GetValue();
// Resend Packet Count
int64_t resendPacketCount = camera.GetStreamGrabberParams().Statistic_Resend_Packet_Count.GetValue();
// Resynchronization Count
int64_t resynchronizationCount = camera.GetStreamGrabberParams().Statistic_Resynchronization_Count.GetValue();
// Total Buffer Count
int64_t totalBufferCount = camera.GetStreamGrabberParams().Statistic_Total_Buffer_Count.GetValue();
// Total Packet Count
int64_t totalPacketCount = camera.GetStreamGrabberParams().Statistic_Total_Packet_Count.GetValue();
// ** General Parameters **
// Access Mode
string accessMode = camera.Parameters[PLStream.AccessMode].GetValue();
// Auto Packet Size
camera.Parameters[PLStream.AutoPacketSize].SetValue(true);
// Maximum Buffer Size
camera.Parameters[PLStream.MaxBufferSize].SetValue(131072);
// Maximum Number of Buffers
camera.Parameters[PLStream.MaxNumBuffer].SetValue(16);
// Maximum Transfer Size
camera.Parameters[PLStream.MaxTransferSize].SetValue(1048568);
// Num Max Queued Urbs
camera.Parameters[PLStream.NumMaxQueuedUrbs].SetValue(64);
// Receive Thread Priority Override
camera.Parameters[PLStream.ReceiveThreadPriorityOverride].SetValue(true);
// Receive Thread Priority
camera.Parameters[PLStream.ReceiveThreadPriority].SetValue(15);
// Socket Buffer Size (socket driver only)
camera.Parameters[PLStream.SocketBufferSize].SetValue(2048);
// Status
string streamGrabberStatus = camera.Parameters[PLStream.Status].GetValue();
// Transfer Loop Thread Priority
camera.Parameters[PLStream.TransferLoopThreadPriority].SetValue(15);
// Type of GigE Vision Filter Driver
camera.Parameters[PLStream.Type].SetValue(PLStream.Type.WindowsIntelPerformanceDriver);
// Type: Socket Driver Available
Int64 performanceDriverAvailable = camera.Parameters[PLStream.TypeIsWindowsIntelPerformanceDriverAvailable].GetValue();
// Type: Windows Filter Driver Available
Int64 filterDriverAvailable = camera.Parameters[PLStream.TypeIsWindowsFilterDriverAvailable].GetValue();
// Type: Windows Intel Performance Driver Available
Int64 socketDriverAvailable = camera.Parameters[PLStream.TypeIsSocketDriverAvailable].GetValue();
// ** Packet Resend Mechanism Parameters **
// Enable Resends
camera.Parameters[PLStream.EnableResend].SetValue(true);
// Packet Timeout
camera.Parameters[PLStream.PacketTimeout].SetValue(40);
// Frame Retention
camera.Parameters[PLStream.FrameRetention].SetValue(200);
// Maximum Number of Resend Requests
camera.Parameters[PLStream.MaximumNumberResendRequests].SetValue(25);
// Firewall Traversal Interval
camera.Parameters[PLStream.FirewallTraversalInterval].SetValue(10000);
camera.Parameters[PLEventGrabber.FirewallTraversalInterval].SetValue(30000);
// ** Stream Destination Parameters **
// Transmission Type
camera.Parameters[PLStream.TransmissionType].SetValue(PLStream.TransmissionType.Unicast);
// Destination Address
string destinationAddr = camera.Parameters[PLStream.DestinationAddr].GetValue();
// Destination Port
camera.Parameters[PLStream.DestinationPort].SetValue(0);
// ** Statistics Parameters **
// Buffer Underrun Count
Int64 bufferUnderrunCount = camera.Parameters[PLStream.Statistic_Buffer_Underrun_Count].GetValue();
// Failed Buffer Count
Int64 failedBufferCount = camera.Parameters[PLStream.Statistic_Total_Buffer_Count].GetValue();
// Failed Packet Count
Int64 failedPacketCount = camera.Parameters[PLStream.Statistic_Failed_Packet_Count].GetValue();
// Last Block ID
Int64 lastBlockId = camera.Parameters[PLStream.Statistic_Last_Block_Id].GetValue();
// Last Failed Buffer Status
Int64 lastFailedBufferStatus = camera.Parameters[PLStream.Statistic_Last_Failed_Buffer_Status].GetValue();
// Last Failed Buffer Status Text
string lastFailedBufferStatusText = camera.Parameters[PLStream.Statistic_Last_Failed_Buffer_Status_Text].GetValue();
// Missed Frame Count
Int64 missedFrameCount = camera.Parameters[PLStream.Statistic_Missed_Frame_Count].GetValue();
// Resend Packet Count
Int64 resendPacketCount = camera.Parameters[PLStream.Statistic_Resend_Packet_Count].GetValue();
// Resend Request Count
Int64 resendRequestCount = camera.Parameters[PLStream.Statistic_Resend_Request_Count].GetValue();
// Resynchronization Count
Int64 resynchronizationCount = camera.Parameters[PLStream.Statistic_Resynchronization_Count].GetValue();
// Total Buffer Count
Int64 totalBufferCount = camera.Parameters[PLStream.Statistic_Total_Buffer_Count].GetValue();
// Total Packet Count
Int64 totalPacketCount = camera.Parameters[PLStream.Statistic_Total_Packet_Count].GetValue();
このサンプルコードは、C++およびC#言語でのみ使用できます。
pylon Viewerを使用して、パラメーターを簡単に設定することもできます。