콘텐츠로 건너뛰기
STAGING SERVER
DEVELOPMENT SERVER

Transport Layer Parameters#

pylon API에서 "전송 계층(Transport Layer)"이라는 용어는 GigE나 Camera Link 같은 물리적 인터페이스를 지칭하는 데 사용됩니다.

pylon API는 다음과 같은 여러 전송 계층에 대한 접근을 제공합니다.

  • GigE Vision 프로토콜을 사용하는 기가비트 이더넷(Gigabit Ethernet) 카메라용 PylonGigE
  • USB3 Vision 규격 호환 카메라용 PylonUsb
  • CL 직렬 인터페이스를 사용하는 Camera Link 카메라용 PylonCLSer (카메라 구성으로만 제한됨; Linux 및 macOS 플랫폼에서는 사용할 수 없음)

이 항목에서는 전송 계층과 관련된 파라미터에 대해 설명합니다.

General Parameters#

Command Duplication Enable#

다음을 사용하십시오. CommandDuplicationEnable 모든 명령 전송 및 확인 응답 수신을 두 번 수행하도록 활성화하는 파라미터입니다. 이 옵션은 네트워크 문제가 발생한 경우에만 활성화해야 합니다.

GenDC Streaming Mode#

이 GenDCStreamingMode 장치의 스트리밍 형식을 설정하는 파라미터로, 즉 이미지 획득 시 장치가 기존 이미지 페이로드(payload)를 출력할지 혹은 GenDC 컨테이너를 출력할지 결정합니다.

  • Off: 데이터가 네이티브 형식으로 스트리밍됩니다 (예: 기존 GigE Vision 또는 USB 3.0 Vision 이미지 페이로드).
  • On: 데이터가 GenDC 형식으로 스트리밍됩니다. 즉, 카메라는 전송 인터페이스(GigE, USB 3.0, CoaXPress 등)와 무관하게 데이터와 해당 데이터를 해석하는 데 필요한 메타데이터를 함께 묶은 자체 설명형 GenDC 컨테이너를 전송합니다.
  • Automatic: 현재 구성 및 기능에 따라 장치가 가장 적절한 스트리밍 동작을 자동으로 선택합니다.

GenDC Streaming Status#

이 GenDC Streaming Status parameter는 현재 장치의 스트리밍 포맷을 나타냅니다:

  • Off: 데이터가 네이티브 포맷으로 스트리밍됩니다(예: 클래식 GigE Vision 또는 USB3 Vision 이미지 페이로드). Gen DC Streaming Mode parameter가 다음과 같이 설정되어 있습니다: Off.
  • On: 데이터가 GenDC 포맷으로 스트리밍됩니다. 다음 GenDCStreamingMode 로 설정된 경우 On.

이 파라미터는 읽기 전용입니다.

GEV Streaming Mode#

이 GevStreamingMode parameter는 GigE Vision 카메라의 이미지 데이터를 스트리밍하는 데 사용되는 스트리밍 프로토콜을 나타냅니다:

  • GVSP: GVSP 스트리밍 프로토콜이 사용됩니다.
  • GVRSP: GVRSP 스트리밍 프로토콜이 사용됩니다.

Heartbeat Timeout#

이 HeartbeatTimeout parameter는 다음을 지정합니다: heartbeat timeout 호스트 측에서.

이 parameter는 다음의 동등한 항목입니다. GevHeartbeatTimeout parameter는 카메라 측에서 heartbeat timeout을 설정합니다.

이 HeartbeatTimeout 및 GevHeartbeatTimeout parameter는 자동으로 동기화됩니다. 하나의 parameter를 변경하면 다른 하나도 그에 따라 변경됩니다.

Maximum Retry Count Read#

다음을 사용하십시오. MaxRetryCountRead parameter는 읽기 작업의 시간 초과 후 읽기 작업에 대한 최대 재시도 횟수를 지정하는 데 사용됩니다.

Maximum Retry Count Write#

다음을 사용하십시오. MaxRetryCountWrite parameter는 읽기 작업의 시간 초과 후 쓰기 작업에 대한 최대 재시도 횟수를 지정하는 데 사용됩니다.

Migration Mode Enable#

다음을 사용하십시오. MigrationModeEnable parameter는 특정 SFNC 1.x 노드 이름을 SFNC 2.x 노드 이름으로 매핑하는 것을 활성화합니다. 이를 통해 서로 다른 SFNC (Standard Features Naming Convention) 버전과 호환되는 카메라 장치용 코드를 작성할 수 있습니다.

자세한 내용은 pylon API Documentation의 Migrating Existing Code for Using SFNC 2.x-Based Camera Devices 섹션을 참조하십시오.

Read Timeout#

다음을 사용하십시오. ReadTimeout parameter는 밀리초 단위의 읽기 액세스 시간 초과 값을 지정하는 데 사용됩니다.

GigE Vision Control Protocol 명령 실행에 예상보다 시간이 오래 걸리는 경우 값을 조정하는 것이 유용할 수 있습니다.

Write Timeout#

다음을 사용하십시오. WriteTimeout parameter는 밀리초 단위의 쓰기 액세스 시간 초과 값을 지정하는 데 사용됩니다.

GigE Vision Control Protocol 명령 실행에 예상보다 시간이 오래 걸리는 경우 값을 조정하는 것이 유용할 수 있습니다.

Statistics Parameters#

Last Error Status#

이 Statistic_Last_Error_Status parameter는 읽기 또는 쓰기 작업의 마지막 오류 상태를 나타냅니다.

Last Error Status Text#

이 Statistic_Last_Error_Status_Text parameter는 마지막으로 실패한 버퍼의 상태 코드를 나타냅니다.

Read Operations Failed Count#

이 Statistic_Read_Operations_Failed_Count parameter는 실패한 읽기 작업의 횟수를 계산합니다.

Read Pipe Reset Count#

이 Statistic_Read_Pipe_Reset_Count parameter는 읽기 파이프 재설정 횟수를 계산합니다.

Read Write Timeout Count#

이 StatisticReadWriteTimeoutCount parameter는 장치로부터 응답을 기다리는 동안 읽기 및 쓰기 작업 중에 발생한 시간 초과 횟수를 계산합니다.

Write Operations Failed Count#

이 Statistic_Write_Operations_Failed_Count parameter는 실패한 쓰기 작업의 횟수를 계산합니다.

Write Pipe Reset Count#

이 Statistic_Write_Pipe_Reset_Count parameter는 write pipe 리셋 횟수를 카운트합니다.

샘플 코드#

// ** General Parameters **
// Command Duplication Enable
camera.GetTLParams().CommandDuplicationEnable.SetValue(true);
// Heartbeat Timeout
camera.GetTLParams().HeartbeatTimeout.SetValue(3000);
// Maximum Retry Count Read
camera.GetTLParams().MaxRetryCountRead.SetValue(2);
// Maximum Retry Count Write
camera.GetTLParams().MaxRetryCountWrite.SetValue(2);
// Migration Mode Enable
camera.GetTLParams().MigrationModeEnable.SetValue(true);
// Read Timeout
camera.GetTLParams().ReadTimeout.SetValue(500);
// Write Timeout
camera.GetTLParams().WriteTimeout.SetValue(500);
// ** Statistics Parameters **
// Last Error Status
int64_t lastErrorStatus = camera.GetTLParams().Statistic_Last_Error_Status.GetValue();
// Last Error Status Text
GenICam::gcstring lastErrorStatusText = camera.GetTLParams().Statistic_Last_Error_Status_Text.GetValue();
// Read Operations Failed Count
int64_t readOperationsFailedCount = camera.GetTLParams().Statistic_Read_Operations_Failed_Count.GetValue();
// Read Pipe Reset Count
int64_t readPipeResetCount = camera.GetTLParams().Statistic_Read_Pipe_Reset_Count.GetValue();
// Read Write Timeout Count
int64_t writePipeResetCount = camera.GetTLParams().StatisticReadWriteTimeoutCount.GetValue();
// Write Operations Failed Count
int64_t writeOperationsFailedCount = camera.GetTLParams().Statistic_Write_Operations_Failed_Count.GetValue();
// Write Pipe Reset Count
int64_t writePipeResetCount = camera.GetTLParams().Statistic_Write_Pipe_Reset_Count.GetValue();
// ** General Parameters **
// Command Duplication Enable
camera.Parameters[PLTransportLayer.CommandDuplicationEnable].SetValue(true);
// Heartbeat Timeout
camera.Parameters[PLTransportLayer.HeartbeatTimeout].SetValue(3000);
// Maximum Retry Count Read
camera.Parameters[PLTransportLayer.MaxRetryCountRead].SetValue(2);
// Maximum Retry Count Write
camera.Parameters[PLTransportLayer.MaxRetryCountWrite].SetValue(2);
// Migration Mode Enable
camera.Parameters[PLTransportLayer.MigrationModeEnable].SetValue(true);
// Read Timeout
camera.Parameters[PLTransportLayer.ReadTimeout].SetValue(500);
// Write Timeout
camera.Parameters[PLTransportLayer.WriteTimeout].SetValue(500);
// ** Statistics Parameters **
// Last Error Status
Int64 lastErrorStatus = camera.Parameters[PLTransportLayer.Statistic_Last_Error_Status].GetValue();
// Last Error Status Text
string lastErrorStatusText = camera.Parameters[PLTransportLayer.Statistic_Last_Error_Status_Text].GetValue();
// Read Operations Failed Count
Int64 readOperationsFailedCount = camera.Parameters[PLTransportLayer.Statistic_Read_Operations_Failed_Count].GetValue();
// Read Pipe Reset Count
Int64 readPipeResetCount = camera.Parameters[PLTransportLayer.Statistic_Read_Pipe_Reset_Count].GetValue();
// Read Write Timeout Count
Int64 writePipeResetCount = camera.Parameters[PLTransportLayer.StatisticReadWriteTimeoutCount].GetValue();
// Write Operations Failed Count
Int64 writeOperationsFailedCount = camera.Parameters[PLTransportLayer.Statistic_Write_Operations_Failed_Count].GetValue();
// Write Pipe Reset Count
Int64 writePipeResetCount = camera.Parameters[PLTransportLayer.Statistic_Write_Pipe_Reset_Count].GetValue();

또한 pylon Viewer를 사용하여 파라미터를 손쉽게 설정할 수 있습니다.