콘텐츠로 바로 가기
STAGING SERVER
DEVELOPMENT SERVER

Precision Time Protocol#

Precision Time Protocol (PTP) 카메라 기능을 사용하면 동일 네트워크 내에서 여러 대의 GigE 카메라를 동기화할 수 있습니다.

이 프로토콜은 IEEE 1588 표준에 정의되어 있습니다. Basler 카메라는 PTP 버전 2라고도 하는 IEEE 1588-2008을 지원합니다.

정보

PTP 동기화의 정밀도는 네트워크 하드웨어 및 설정에 크게 좌우됩니다. 최고의 정밀도를 얻으려면 고품질 네트워크 하드웨어를 선택하고, PTP 지원 네트워크 스위치를 사용하며, GPS 수신기가 포함된 외장 PTP 클록 장치를 네트워크에 추가하십시오.

기능 사용#

PTP를 사용하는 이유#

Precision Time Protocol (PTP) 기능을 사용하면 사용 가능한 경우 카메라에서 다음과 같은 기능을 활용할 수 있습니다.

작동 방식#

PTP를 통해 여러 장치(예: 카메라)는 네트워크에서 가장 정확한 클록인 마스터 클록(또는 베스트 마스터 클록)과 자동으로 동기화됩니다.

이 프로토콜을 통해 네트워크 내의 시스템은 다음 작업을 수행할 수 있습니다.

  • 동기화(Synchronize): 마스터 클록과 동기화하여, 즉 로컬 클록을 마스터 클록의 시간과 최대한 정확하게 일치시킵니다.
  • 동주기화(Syntonize): 마스터 클록과 동주기화하여, 즉 로컬 클록의 주파수를 마스터 클록의 주파수에 맞게 조정합니다. 두 장치에서 1초의 길이를 최대한 동일하게 유지해야 합니다.

마스터 클록은 여러 기준에 따라 결정됩니다. 우선순위가 가장 높은 기준은 장치의 Priority 1 설정입니다.

Timestamp 동기화#

Precision Time Protocol(IEEE 1588)의 기본 개념은 PTP 메시지 교환을 기반으로 합니다. 이러한 메시지를 통해 슬레이브 클록은 다음을 동기화할 수 있습니다. 타임스탬프 값은 마스터 클록의 Timestamp 값과 동기화됩니다. Basler 카메라의 경우 이는 다음을 의미합니다. TimestampLatchValue 파라미터 값이 최대한 동일해집니다. 정밀도는 네트워크 하드웨어 및 설정에 따라 크게 달라집니다.

네트워크의 어떤 장치도 협정 세계시(예: TAI 또는 UTC)에 동기화되어 있지 않은 경우, 네트워크는 임의 타임스케일 모드(ARB)로 작동합니다. 이 모드에서는 절대 시간에 묶여 있지 않기 때문에 에포크(Epoch)가 임의로 지정됩니다. 타임스케일은 상대적이며 이 네트워크 내에서만 유효합니다.

정보

  • IEEE 1588은 시간 정보를 저장하고 전송하기 위해 80비트 Timestamp를 정의합니다. GigE Vision은 64비트 Timestamp를 사용하므로, PTP Timestamp는 GigE Vision의 64비트 Timestamp에 매핑됩니다.
  • 다른 PTP 지원 장치가 없는 네트워크에서 작동하는 PTP 지원 장치는 로컬 클록을 제어하지 않습니다. 로컬 클록의 정밀도는 PTP를 지원하지 않는 장치와 동일합니다.
  • Precision Time Protocol에 대한 자세한 내용은 Synchronous and in Real Time: Multi-Camera Applications in the GigE Network 백서를 참조하십시오.

PTP 클록 동기화 활성화#

카메라 전원을 켤 때 PTP는 항상 비활성화되어 있습니다. PTP를 사용하려면 활성화해야 합니다.

PTP를 활성화하려면:

  1. 외부 장치(예: GPS 수신기)를 마스터 클록으로 사용하려면 해당 외부 장치를 마스터 클록으로 구성하십시오.
    Basler에서는 ANNOUNCE 간격을 2초, SYNC 간격을 0.5초로 설정할 것을 권장합니다.
  2. PTP를 통해 동기화하려는 모든 카메라가 올바르게 구성되었는지 확인하십시오.
  3. PTP를 통해 동기화하려는 모든 카메라에서 다음을 설정하십시오. GevIEEE1588 파라메터 true.
  4. 모든 PTP 네트워크 장치가 충분히 동기화될 때까지 대기하십시오. 네트워크 설정에 따라 이 과정에는 몇 초 또는 몇 분이 소요될 수 있습니다.
    PTP 클록 동기화 상태를 확인하여 장치 동기화 완료 시점을 파악할 수 있습니다.

이제 PTP 지원 카메라 기능을 사용할 수 있습니다.

정보

ace Classic/U/L 카메라에서는 PTP 클록 동기화를 활성화하면 카메라의 내부 틱 주파수가 125 MHz(= 8 ns 틱 지속 시간)에서 1 GHz(= 1 ns 틱 지속 시간)로 변경됩니다. Inter-packet Delay 및 Frame Transmission Delay 파라미터 값은 자동으로 조정됩니다.
다른 카메라의 경우 틱 주파수는 항상 1 GHz입니다.

PTP 클록 동기화 구성#

카메라 모델에 따라 다음과 같은 설정을 사용할 수 있습니다.

Priority 1#

PTP가 활성화된 네트워크에서는 여러 기준에 따라 마스터 클럭이 결정됩니다. 가장 중요한 기준은 장치의 Priority 1 설정입니다. Priority 1 설정 값이 가장 낮은 네트워크 장치가 마스터 클럭이 됩니다.

On ace 및 dart M 카메라의 경우, Priority 1 설정을 변경하여 카메라가 마스터 클럭이 되도록 강제하거나 마스터 클럭이 되는 것을 방지할 수 있습니다. 이를 위해 BslPtpPriority1 파라미터를 0(최우선순위)에서 255(최하위 우선순위) 사이의 값으로 설정하십시오.

다른 카메라의 경우, Priority 1 설정은 128로 사전 설정되어 있으며 변경할 수 없습니다.

정보

마스터 클럭 기준에 대한 자세한 내용은 IEEE 1588-2008 사양의 7.6.2.2항을 참조하십시오.

PTP 지연 메커니즘#

지연 측정 메커니즘은 네트워크 내에서 PTP 지연 측정 메시지가 송수신되는 방식을 정의합니다. PTP 표준에서는 엔드투엔드(E2E, "지연 요청-응답"이라고도 함)와 피어투피어(P2P)의 두 가지 메커니즘을 정의합니다. 자세한 내용은 이 문서를 참조하십시오.

On ace 및 dart M 카메라의 경우, 지연 측정 메커니즘을 변경할 수 있습니다. 이를 위해 BslPtpProfile 파라메터 DelayRequestResponseDefaultProfile (기본값) 또는 PeerToPeerDefaultProfile.

다른 카메라의 경우, 지연 측정 메커니즘은 엔드투엔드로 사전 설정되어 있으며 변경할 수 없습니다.

정보

  • 대부분의 경우 엔드투엔드 지연 측정을 사용하십시오. 전체 네트워크가 피어투피어 지연 측정용으로 설정되어 있는 경우에만 피어투피어를 사용하십시오. 즉, 모든 스위치와 라우터가 PTP를 지원하고 모든 PTP 장치가 피어투피어 통신용으로 구성되어 있어야 합니다.
  • 피어투피어 지연 측정을 사용할 때는 다음과 같은 제한 사항이 적용됩니다.

네트워크 모드#

network mode 설정은 네트워크 내에서 PTP 메시지가 전송되는 방식을 정의합니다.

On ace 카메라의 경우, network mode를 변경할 수 있습니다. 이를 위해 BslPtpNetworkMode 파라미터를 설정하십시오:

  • Multicast: PTP 멀티캐스팅용으로 구성된 로컬 네트워크의 모든 장치로 PTP 메시지가 전송됩니다. 이는 기본 모드이며 대부분의 사용 사례에 충분합니다.
  • Hybrid: 멀티캐스트 및 유니캐스트 메시지를 사용하여 PTP 메시지가 전송됩니다. 처리해야 하는 메시지 수가 줄어들기 때문에 네트워크 부하를 줄일 수 있습니다. 자세한 내용은 이 문서.
  • Unicast: PTP 메시지는 로컬 네트워크 내의 하나 이상의 지정된 장치로 전송됩니다. 다른 장치는 PTP 메시지를 수신할 수 없습니다.
    유니캐스트를 구성하려면 다음을 수행합니다.
    1. 다음 사항을 확인하십시오: BslPtpNetworkMode 이 다음으로 설정된 경우 Unicast.
    2. 파라미터를 원하는 BslPtpUcPortAddrIndex 매개변수를 0으로 설정합니다.
    3. 파라미터를 원하는 BslPtpUcPortAddr 파라미터를 첫 번째 수신 장치의 IP 주소로 설정하십시오.
    4. BslPtpUcPortAddrIndex 파라미터 값을 1만큼 증가시키십시오.
    5. 파라미터를 원하는 BslPtpUcPortAddr 파라미터를 다음 수신 장치의 IP 주소로 설정하십시오.
    6. 관련된 모든 PTP 장치에 대해 3단계와 4단계를 반복하십시오.

다른 카메라의 경우 네트워크 모드가 멀티캐스트로 사전 설정되어 있습니다. 그러나 이러한 카메라는 유니캐스트 메시지도 수신하고 그에 따라 응답할 수 있습니다.

정보

유니캐스트 모드를 사용할 때는 관련된 모든 장치가 유니캐스트 협상을 지원해야 합니다. 일부 PTP 구현은 유니캐스트 협상을 사용하지 않으며 따라서 Basler 카메라와 호환되지 않습니다.

PTP 관리#

PTP Management Protocol을 사용하면 pylon API를 사용하지 않고도 관리 메시지를 통해 모든 PTP 장치의 설정을 읽을 수 있습니다. 허용되는 경우 설정을 쓸 수도 있습니다.

ace 2 및 dart M 카메라에서는 PTP 관리를 활성화 또는 비활성화할 수 있습니다. 방법은 다음과 같습니다.

  1. PTP 클록 동기화 활성화.
  2. 파라미터를 원하는 BslPtpManagementEnable 파라미터를 설정하십시오:
    • true: 아래에 나열된 메시지 ID가 포함된 관리 메시지를 사용하여 설정 읽기(GET), 설정 쓰기(SET) 및 명령 실행(COMMAND)을 수행할 수 있습니다. 아래에 나열됨.
    • false (기본값): PTP Management Protocol이 비활성화되어 설정을 읽거나 쓸 수 없습니다.

다른 카메라에서는 PTP 관리가 항상 활성화되어 있으며 읽기 전용 액세스로 사전 설정되어 있습니다.

지원되는 관리 메시지#
관리 메시지 ID 지원되는 작업
NULL_MANAGEMENT GET, SET
CLOCK_DESCRIPTION GET
USER_DESCRIPTION GET, SET
INITIALIZE COMMANDa
DEFAULT_DATA_SET GET
CURRENT_DATA_SET GET
PARENT_DATA_SET GET
TIME_PROPERTIES_DATA_SET GET
PORT_DATA_SET GET
PRIORITY1 GET, SET
PRIORITY2 GET, SET
DOMAIN GET
SLAVE_ONLY GET
LOG_ANNOUNCE_INTERVAL GET, SET
ANNOUNCE_RECEIPT_TIMEOUT GET, SET
LOG_SYNC_INTERVAL GET, SET
VERSION_NUMBER GET
ENABLE_PORT COMMAND
DISABLE_PORT COMMAND
TIME GET, SETb
CLOCK_ACCURACY GET, SET
UTC_PROPERTIES GET, SET
TRACEABLE_PROPERTIES GET, SET
TIMESCALE_PROPERTIES GET, SET
UNICAST_NEGOTIATION_ENABLE GET
ACCEPTABLE_MASTER_TABLE GET, SET
ACCEPTABLE_MASTER_TABLE_ENABLED GET, SET
ACCEPTABLE_MASTER_MAX_TABLE_SIZE GET
DELAY_MECHANISM GET, SET
LOG_MIN_PDELAY_REQ_INTERVAL GET, SET

  1. INITIALIZE 명령은 클럭 속도를 재설정합니다.

  2. 해당 장치가 그랜드마스터 클록 역할을 하는 경우에만 설정할 수 있습니다.

이러한 속성의 기본값 및 범위에 대한 자세한 내용은 IEEE 1588-2008 사양 부록 J를 참조하십시오.

원스텝 또는 투스텝 클록#

이 설정은 egress timestamp가 필요한 PTP 이벤트 메시지에 대해 생성되는 메시지 수를 정의합니다.

  • one-step 작동에서는 하나의 메시지만 전송됩니다. 해당 메시지에는 메시지 데이터와 egress timestamp가 포함됩니다.
  • two-step 작동에서는 두 개의 메시지가 전송됩니다. 첫 번째 메시지에는 메시지 데이터가 포함됩니다. 두 번째 메시지에는 egress timestamp가 포함됩니다.

자세한 내용은 이 문서를 참조하십시오.

On ace 및 dart M 카메라, two-step 작동은 기본적으로 비활성화되어 있습니다. 네트워크의 다른 PTP 장치에서 two-step 이벤트 메시지가 명시적으로 필요한 경우, BslPtpTwoStep 파라메터 true.

기타 카메라의 경우 two-step 작동이 항상 활성화되어 있습니다.

PTP 클록 동기화 상태 확인#

PTP 클록 동기화 상태를 확인하려면 pylon API를 사용하여 자체 확인 메서드를 개발해야 합니다.

일반적인 PTP 상태 확인 구현에는 다음 단계가 포함됩니다.

  1. 다음을 실행합니다. GevIEEE1588DataSetLatch command.
    이 명령을 사용하면 카메라의 현재 PTP 상태 "스냅샷"을 가져올 수 있습니다. "스냅샷" 구현을 통해 래치된 데이터 세트의 매개변수 값 모두 정확히 동일한 시점을 가리키도록 보장됩니다.
  2. 매개변수 값이 GevIEEE1588Status 더 이상 Initializing.
  3. 가 아닐 때까지 기다립니다. 카메라 모델에 따라 장치에서 다음 매개변수 값을 읽습니다.

    • On ace 및 dart M 카메라, 모든 슬레이브 카메라에서 PtpServoStatus 매개변수를 읽습니다. 매개변수 값이 Locked인 경우, 해당 장치는 충분히 동기화된 것입니다. 더 정밀한 상태 확인이 필요한 경우, 대신 아래의 "기타 카메라" 절차를 따르십시오.
    • On 기타 카메라, 모든 슬레이브 카메라에서 GevIEEE1588OffsetFromMaster 마스터와의 최대 오프셋이 특정 임계값(요구 사항에 따라 예: 1밀리초) 이하가 될 때까지 모든 슬레이브 카메라에서 매개변수 값을 확인합니다.
      클록이 제어 메커니즘에 의해 지속적으로 조정되기 때문에 오프셋이 단조 감소하지 않습니다. Basler에서는 지정된 시간 창 내에서 최대 GevIEEE1588OffsetFromMaster 매개변수 값을 확인할 것을 권장합니다.

      PTP Offset From Master Amplitude

  4. 장치가 충분히 동기화될 때까지 1단계와 2단계를 반복합니다.

래치된 데이터 세트의 구성 요소#

다음 명령을 실행한 후 GevIEEE1588DataSetLatch 장치에서 다음 파라미터 값을 읽을 수 있습니다.

  • GevIEEE1588ClockId: 현재 PTP 장치의 고유 ID("클록 ID")를 나타냅니다.
  • GevIEEE1588OffsetFromMaster: 마스터 클록과 현재 PTP 장치의 클록 사이의 추정 시간 오프셋을 틱 단위(1틱 = 1나노초)로 나타냅니다.
  • GevIEEE1588ParentClockId: 현재 마스터 클록 역할을 하는 PTP 장치의 클록 ID("상위 클록 ID")를 나타냅니다.
  • GevIEEE1588Status: 현재 PTP 장치의 상태(예: 마스터 클록인지 슬레이브 클록인지 여부)를 나타냅니다. 반환된 값은 PTP 포트 상태 열거형(Initializing, Faulty, Disabled, Listening, Pre_Master, Master, Passive, Uncalibrated 및 Slave)과 일치합니다. 자세한 내용은 pylon API 문서 및 다음을 참조하십시오. IEEE 1588-2008 사양.
  • GevIEEE1588StatusLatched: 이 파라미터를 사용할 수 있는 경우 Basler에서는 다음 대신 이 파라미터를 사용할 것을 권장합니다. GevIEEE1588Status 파라미터. 이는 다음 때문입니다. GevIEEE1588Status 파라미터가 다음 항목에 연결되어 있지 않습니다. GevIEEE1588DataSetLatch 명령. 따라서 장치에서 여러 PTP 관련 값을 읽는 경우 장치 상태가 다른 값과 동일한 시점에 연관되지 않습니다.
추가 파라미터#

On ace 2 및 dart M 카메라의 경우 다음 명령을 실행한 후 PtpDataSetLatch 장치에서 다음과 같은 추가 파라미터 값을 읽을 수 있습니다.

  • BslPtpDelayMechanism: 다음을 나타냅니다. 지연 메커니즘 PTP 네트워크에서 사용하는 값입니다. 값이 E2E 인 경우 Delay Request-Response 메커니즘이 사용됨을 나타냅니다. 값이 P2P 인 경우 피어투피어 메커니즘이 사용됨을 나타냅니다.
  • PtpClockAccuracy: 그랜드마스터이거나 그랜드마스터가 될 때 PTP 장치 클록의 예상 정확도를 나타냅니다. Basler 카메라에서 예상 정확도는 다음과 같이 사전 설정되어 있습니다. Unknown. 이는 Basler 카메라가 UTC와 같은 협정 세계시와 동기화되지 않기 때문입니다.
  • PtpGrandmasterClockID: 현재 그랜드마스터 클록 역할을 하는 PTP 장치의 클록 ID를 나타냅니다.
  • PtpServoStatus: 클록 서보의 상태, 즉 PTP 클록 동기화 상태를 나타냅니다. 상태가 Locked인 경우 현재 장치의 클록이 마스터 클록과 성공적으로 동기화된 것입니다. 그 외의 모든 경우 상태는 다음과 같습니다. Unknown.

샘플 코드#

ace 카메라#
// ** Configure PTP **
// Set Priority 1 to 128
camera.BslPtpPriority1.SetValue(128);
// Enable end-to-end delay measurement
camera.BslPtpProfile.SetValue(BslPtpProfile_DelayRequestResponseDefaultProfile);
// Set the network mode to unicast
camera.BslPtpNetworkMode.SetValue(BslPtpNetworkMode_Unicast);
// Set the IP address of the first unicast device to 192.168.10.12
// (0xC0 = 192, 0xA8 = 168, 0x0A = 10, 0x0C = 12)
camera.BslPtpUcPortAddrIndex.SetValue(0);
camera.BslPtpUcPortAddr.SetValue((0xC0A80A0C);
// Enable PTP Management Protocol
camera.BslPtpManagementEnable.SetValue(true);
// Disable two-step operation
camera.BslPtpTwoStep.SetValue(false);
// ** Enable PTP on the current device **
camera.PtpEnable.SetValue(true);
// To check the status of the PTP clock synchronization,
// implement your own check method here.
// For guidelines, see "Checking the Status of
// the PTP Clock Synchronization" in this topic.
INodeMap& nodemap = camera.GetNodeMap();
// ** Configure PTP **
// Set Priority 1 to 128
CIntegerParameter(nodemap, "BslPtpPriority1").SetValue(128);
// Enable end-to-end delay measurement
CEnumParameter(nodemap, "BslPtpProfile").SetValue("DelayRequestResponseDefaultProfile");
// Set the network mode to unicast
CEnumParameter(nodemap, "BslPtpNetworkMode").SetValue("Unicast");
// Set the IP address of the first unicast device to 192.168.10.12
// (0xC0 = 192, 0xA8 = 168, 0x0A = 10, 0x0C = 12)
CIntegerParameter(nodemap, "BslPtpUcPortAddrIndex").SetValue(0);
CIntegerParameter(nodemap, "BslPtpUcPortAddr").SetValue(0xC0A80A0C);
// Enable PTP Management Protocol
CBooleanParameter(nodemap, "BslPtpManagementEnable").SetValue(true);
// Disable two-step operation
CBooleanParameter(nodemap, "BslPtpTwoStep").SetValue(false);
// ** Enable PTP on the current device **
CBooleanParameter(nodemap, "PtpEnable").SetValue(true);
// To check the status of the PTP clock synchronization,
// implement your own check method here.
// For guidelines, see "Checking the Status of
// the PTP Clock Synchronization" in this topic.
// ** Configure PTP **
// Set Priority 1 to 128
camera.Parameters[PLCamera.BslPtpPriority1].SetValue(128);
// Enable end-to-end delay measurement
camera.Parameters[PLCamera.BslPtpProfile].SetValue(PLCamera.BslPtpProfile.DelayRequestResponseDefaultProfile);
// Set the network mode to unicast
camera.Parameters[PLCamera.BslPtpNetworkMode].SetValue(PLCamera.BslPtpNetworkMode.Unicast);
// Set the IP address of the first unicast device to 192.168.10.12
// (0xC0 = 192, 0xA8 = 168, 0x0A = 10, 0x0C = 12)
camera.Parameters[PLCamera.BslPtpUcPortAddrIndex].SetValue(0);
camera.Parameters[PLCamera.BslPtpUcPortAddr].SetValue(0xC0A80A0C);
// Enable PTP Management Protocol
camera.Parameters[PLCamera.BslPtpManagementEnable].SetValue(true);
// Disable two-step operation
camera.Parameters[PLCamera.BslPtpTwoStep].SetValue(false);
// ** Enable PTP on the current device **
camera.Parameters[PLCamera.PtpEnable].SetValue(true);
// To check the status of the PTP clock synchronization,
// implement your own check method here.
// For guidelines, see "Checking the Status of
// the PTP Clock Synchronization" in this topic.
/* Macro to check for errors */
#define CHECK(errc) if (GENAPI_E_OK != errc) printErrorAndExit(errc)
GENAPIC_RESULT errRes = GENAPI_E_OK;  /* Return value of pylon methods */
/* ** Configure PTP ** */
/* Set Priority 1 to 128 */
errRes = PylonDeviceSetIntegerFeature(hdev, "BslPtpPriority1", 128);
CHECK(errRes);
/* Enable end-to-end delay measurement */
errRes = PylonDeviceFeatureFromString(hdev, "BslPtpProfile", "DelayRequestResponseDefaultProfile");
CHECK(errRes);
/* Set the network mode to unicast */
errRes = PylonDeviceFeatureFromString(hdev, "BslPtpNetworkMode", "Unicast");
CHECK(errRes);
/* Set the IP address of the first unicast device to 192.168.10.12 */
/* (0xC0 = 192, 0xA8 = 168, 0x0A = 10, 0x0C = 12) */
errRes = PylonDeviceSetIntegerFeature(hdev, "BslPtpUcPortAddrIndex", 0);
CHECK(errRes);
errRes = PylonDeviceSetIntegerFeature(hdev, "BslPtpUcPortAddr", 0xC0A80A0C);
CHECK(errRes);
/* Enable PTP Management Protocol */
errRes = PylonDeviceSetBooleanFeature(hdev, "BslPtpManagementEnable", 1);
CHECK(errRes);
/* Disable two-step operation */
errRes = PylonDeviceSetBooleanFeature(hdev, "BslPtpTwoStep", 0);
CHECK(errRes);
/* ** Enable PTP on the current device ** */
errRes = PylonDeviceSetBooleanFeature(hdev, "PtpEnable", 1);
CHECK(errRes);
/* To check the status of the PTP clock synchronization, */
/* implement your own check method here. */
/* For guidelines, see "Checking the Status of */
/* the PTP Clock Synchronization" in this topic. */
# ** Configure PTP **
# Set Priority 1 to 128
camera.BslPtpPriority1.Value = 128
# Enable end-to-end delay measurement
camera.BslPtpProfile.Value = "DelayRequestResponseDefaultProfile"
# Set the network mode to unicast
camera.BslPtpNetworkMode.Value = "Unicast"
# Set the IP address of the first unicast device to 192.168.10.12
# (0xC0 = 192, 0xA8 = 168, 0x0A = 10, 0x0C = 12)
camera.BslPtpUcPortAddrIndex.Value = 0
camera.BslPtpUcPortAddr.Value = 0xC0A80A0C
# Enable PTP Management Protocol
camera.BslPtpManagementEnable.Value = True
# Disable two-step operation
camera.BslPtpTwoStep.Value = False
# ** Enable PTP on the current device **
camera.PtpEnable.Value = True
# To check the status of the PTP clock synchronization,
# implement your own check method here.
# For guidelines, see "Checking the Status of
# the PTP Clock Synchronization" in this topic.
기타 카메라#
// Enable PTP on the current device
camera.GevIEEE1588.SetValue(true);
// To check the status of the PTP clock synchronization,
// implement your own check method here.
// For guidelines, see "Checking the Status of
// the PTP Clock Synchronization" in this topic.
INodeMap& nodemap = camera.GetNodeMap();
// Enable PTP on the current device
CBooleanParameter(nodemap, "GevIEEE1588").SetValue(true);
// To check the status of the PTP clock synchronization,
// implement your own check method here.
// For guidelines, see "Checking the Status of
// the PTP Clock Synchronization" in this topic.
// Enable PTP on the current device
camera.Parameters[PLCamera.GevIEEE1588].SetValue(true);
// To check the status of the PTP clock synchronization,
// implement your own check method here.
// For guidelines, see "Checking the Status of
// the PTP Clock Synchronization" in this topic.
/* Macro to check for errors */
#define CHECK(errc) if (GENAPI_E_OK != errc) printErrorAndExit(errc)
GENAPIC_RESULT errRes = GENAPI_E_OK;  /* Return value of pylon methods */
/* Enable PTP on the current device */
errRes = PylonDeviceSetBooleanFeature(hdev, "GevIEEE1588", 1);
CHECK(errRes);
/* To check the status of the PTP clock synchronization, */
/* implement your own check method here. */
/* For guidelines, see "Checking the Status of */
/* the PTP Clock Synchronization" in this topic. */
# Enable PTP on the current device
camera.GevIEEE1588.Value = True
# To check the status of the PTP clock synchronization,
# implement your own check method here.
# For guidelines, see "Checking the Status of
# the PTP Clock Synchronization" in this topic.

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