빌딩 블록 > 솔루션 특정 빌딩 블록 > 작업 KPI 빌딩 블록 > 추가 자동화 정보(작업 KPI 빌딩 블록)
추가 자동화 정보(작업 KPI 빌딩 블록)
데이터 자동화 및 작업 KPI 빌딩 블록으로 작업하는 동안 다음 정보에 유의하십시오.
자동화 이벤트 일괄 처리
PTC.OperationKPI.AutomationEventProcessor_TI 타이머 엔티티에 대한 타이머 이벤트가 5분 간격으로 실행되며, 이벤트에 대한 각 페이스메이커의 구독은 기본 자동화 이벤트 처리 서비스인 ProcessPTCAutomationEvents를 실행합니다. 그러면 다중 일괄 처리는 해당 페이스메이커에 대해 처리할 이벤트가 더 이상 없을 때까지 수행됩니다.
일괄 처리는 각 페이스메이커에 대해 수행됩니다. 순서대로 발생하는 기본 작업은 다음과 같습니다.
1. 아직 처리되지 않은 이벤트 데이터에 대한 가치 스트림을 질의합니다. 질의는 현재 PTCLastProcessedEventTimestamp 속성 값 이후에 발생하는 타임스탬프를 가진 모든 이벤트에 대한 엔트리를 반환합니다.
2. 작업 지시서(PTCJobOrderID), 재료 마스터(PTCMaterialMasterID), 목표 수량(PTCTargetQuantity), 가용성(PTCAvailabilityEventFaultCode), 생산 개수(PTCProductionCount) 및 스크랩 개수(PTCScrapCount)의 이벤트 유형 순서에 따라 각 타임스탬프에 대해 질의된 이벤트 처리.
3. 작성된 데이터베이스 엔트리를 통합하기 위한 생산 개수 및 스크랩 개수 이벤트 버퍼링.
4. DPM 데이터베이스에 버퍼링된 생산 개수 및 스크랩 개수 삽입.
각 이벤트가 성공적으로 처리된 후 PTCLastProcessedEventTimestamp 속성이 업데이트됩니다. 생산 개수 및 스크랩 개수의 경우 그룹화된 모든 개수가 데이터베이스에 삽입될 때까지 PTCLastProcessedEventTimestamp 속성이 업데이트되지 않습니다. 모든 버퍼링된 그룹의 최신 타임스탬프는 PTCLastProcessedEventTimestamp 속성 값으로 설정됩니다.
생산 개수 및 스크랩 개수 이벤트 버퍼링
일괄 처리 중에 생산 개수 및 스크랩 개수 이벤트가 버퍼링되어 메모리에 구성됩니다. 각 엔트리는 아래 설명된 대로 구축된 특정 그룹으로 구성됩니다. 처리된 각 값은 해당 특정 그룹에 대한 엔트리의 개수 값을 증분합니다.
스크랩 개수 이벤트는 기계어 코드, 작업 지시서 ID, 교대 근무 및 생산 블록 ID 별로 그룹화됩니다. 교대 근무를 알 수 없는 경우, 교대 근무 번호 대신 UNKNOWNSHIFT 값이 사용됩니다.
생산 개수 이벤트는 작업 지시서 ID, 교대 근무 및 생산 블록 별로 그룹화됩니다. 생산 블록을 알 수 없는 경우, 생산 블록 번호 대신 UNKNOWNPB 값이 사용됩니다.
개수가 아닌 이벤트가 처리되거나 질의 결과의 끝에 도달할 때까지 개수가 버퍼링됩니다. 이 시점에서 개수가 DPM 데이터베이스에 삽입됩니다. PTCLastProcessedEventTimestamp 속성은 모든 버퍼링된 개수 그룹 중에 최신 이벤트 타임스탬프로 설정됩니다.
데이터 품질
품질이 GOOD인 페이스메이커의 수신 자동화된 속성 값만 가치 스트림에 기록됩니다. 이는 각 자동화된 속성에 대한 데이터 변경 이벤트에 대한 구독을 사용하여 수행됩니다. 이 구독은 AddPTCValueStreamEntry 서비스를 호출하고 가치 스트림에 속성 값을 추가하기 전에 품질이 GOOD인지 확인합니다.
예약된 속성 데이터 지우기
PTC.OperationKPI.AutomationPurgeScheduler 스케줄러 엔티티는 각 페이스메이커에 대한 가치 스트림 데이터 지우기를 제어합니다. PTC.OperationKPI.AutomationPurgeScheduler 엔티티의 dataAgeInHours 속성은 지워지는 데이터의 시간 범위를 결정합니다.
이 시간 범위의 종료 시간은 현재 시간에서 dataAgeInHours 값을 뺀 값 또는 페이스메이커에 대한 PTCLastProcessedEventTimestamp 속성의 타임스탬프를 뺀 값 중 가장 최근 값입니다. 시간 범위의 시작 시간은 시간 범위에서 dataAgeInHours 값을 뺀 종료 시간입니다.
예를 들어, dataAgeInHours 값이 24(기본값)이고 페이스메이커 A의 PTCLastProcessedEventTimestamp 속성 값이 현재 시간의 24시간 전보다 이른 값이 아닌 경우 시간 범위의 종료 시간은 현재 시간의 24시간 전입니다. 시간 범위의 시작 시간은 현재 시간의 48시간 전이거나 종료 시간의 24시간 전입니다. 즉, PTC.OperationKPI.AutomationPurgeScheduler 엔티티는 페이스메이커 A에 대한 데이터를 지우고, 현재 시간의 24시간 전에서 48시간 전 사이에 타임스탬프가 있는 모든 값 스트림 데이터 엔트리를 지웁니다.
그러나 페이스메이커 A에 대한 PTCLastProcessedEventTimestamp 속성 값이 현재 시간의 3시간 전이고 24시간 dataAgeInHours 값보다 이른 값인 경우, 현재 시간의 3시간 전에서 27시간 전 사이에 타임스탬프가 있는 값 스트림 데이터 엔트리를 모두 지웁니다.
페이스메이커 연결 해제
페이스메이커가 PTCMaxTimeAllowedDisconnected 속성의 값보다 더 오랜 시간 동안 DPM에서 연결 해제되면 해당 시간(분)보다 오래된 데이터가 무시됩니다.
PTCEnableAutoSetMachineStatusToRunning 속성이 true로 설정되고 엔티티가 PTCMaxTimeAllowedDisconnected 속성에 지정된 최대 시간보다 더 오랜 시간 동안 연결 해제된 경우, 페이스메이커가 연결 해제보다 이전에 다운되었다면 일괄 처리는 페이스메이커를 실행 중인 가용성 상태로 설정하려고 시도합니다. 이는 모든 이벤트가 처리된 후 SetPTCMachineStatusToRunningIfDisconnectedMoreThanAllowed 서비스를 호출하여 일괄 처리의 최종 작업으로 수행됩니다.
* 
페이스메이커를 실행 중 상태로 설정하면 해당하는 실행 중 이유 정보가 있는 가용성 이벤트가 DPM 데이터베이스에 삽입됩니다.
PTCLastTimeConnected 속성은 연결 해제 이벤트가 마지막으로 발생한 시간, 즉 isConnected 속성이 false로 설정된 시간 타임스탬프를 나타내는 데 사용됩니다. 이 속성은 연결 해제 이벤트가 발생할 때만 업데이트됩니다.
PTC.MfgModel.WorkunitModelLogic_TS 사물 형태
제조 모델 빌딩 블록PTC.MfgModel.WorkunitModelLogic_TS 사물 형태에는 데이터 자동화에서 사용되는 서비스 및 속성도 포함됩니다.
IsPTCAutomationWorkUnit 서비스는 작업 단위가 데이터 자동화를 지원하는지 여부를 검증합니다.
PTCDisconnectivitySupported 속성은 원격 장치가 ThingWorx와의 연결을 설정하는지 여부 및 SetPTCMachineStatusToRunningIfDisconnectedMoreThanAllowed 서비스를 사용하여 페이스메이커를 실행 중 가용성 상태로 다시 설정해야 하는지 여부를 나타내기 위해 사용되는 부울 속성입니다.
IsPTCDisconnectivitySupported 속성은 생산 대시보드에서 확인되는 부울 속성입니다. 속성 값이 true이면 시스템은 장치의 연결 상태를 평가하여 다음과 유사한 내용의 메시지 팝업을 표시할 시점을 결정합니다. 시스템이 데이터 소스에서 연결 해제되었습니다. 15분 후에도 시스템이 연결되어 있지 않으면 모든 생산 및 손실 이벤트를 수동으로 입력하십시오.
자동화 메시지
메시지는 일반 데이터 자동화 처리 중에 자동으로 생성되며 나중에 참조할 수 있도록 PTCAutomationMessage 인포테이블 속성에 추가됩니다. 이러한 메시지는 새 메시지가 추가될 때 생산 대시보드에 표시됩니다.
PTCMaxNumberOfAutomationMessages 속성은 PTCAutomationMessage 속성에 저장되는 메시지 수를 제어합니다. 기본적으로 저장되는 메시지 수는 10입니다.
사용자 정의
모든 서비스는 지정된 응용 프로그램의 특정 요구에 맞게 사용자 정의할 수 있도록 javascript 코드로 작성됩니다.
응용 프로그램을 미세 조정하는 데 사용할 수 있는 다양한 구성 속성이 있습니다. 자세한 내용은 주요 속성(작업 KPI 빌딩 블록)를 참조하십시오.
도움이 되셨나요?