변환

Manufacturing Data Engine (MDE)은 수집 중에 메시지를 후처리하고 입력 메시지에서 새로운 파생 태그와 레코드를 생성하는 간단한 방법을 제공합니다. 이러한 후처리기를 변환이라고 합니다. 특정 유형과 연결하여 MDE에서 다시 수집되는 새 메시지를 생성할 수 있습니다. 변환은 내장 Dataflow 파이프라인이며 특정 변환 매개변수를 사용하여 구성할 수 있습니다.

MDE 1.3 이상 버전에서는 다음 두 가지 기본 변환을 제공합니다.

  • 그룹 이벤트 변경
  • 창 모드

변환유형 수준에서 활성화됩니다. 즉, 해당 유형에 속하는 모든 태그가 변환됩니다. 유형은 변환과 연결되지 않거나 하나 이상의 변환과 연결될 수 있습니다. 유형과 특정 변환 간의 연결은 웹 인터페이스와 구성 API를 사용하여 설정할 수 있습니다. 유형은 언제든지 변환과 연결할 수 있으며, 더 이상 필요하지 않은 경우 연결을 삭제할 수도 있습니다.

변환에서 특정 동작을 정의하려면 변환 매개변수가 필요할 수 있습니다. 변환 매개변수는 각 변환 유형에 따라 다르며 변환마다 다를 수 있습니다.

지정된 변환의 특정 변환 매개변수 값도 유형 수준에서 설정됩니다. 유형이 다르면 매개변수 값을 다르게 사용하고 동일한 변환을 다르게 사용할 수 있습니다.

변환은 변환이 활성 상태인 경우 유형에 매핑된 모든 메시지를 입력으로 수신합니다. 각 메시지는 Dataflow의 변환 프로세서에 의해 처리됩니다.

변환의 출력은 초기 방문 페이지 주제에 수집되는 원시 JSON 메시지입니다. MDE는 각 변환에 고유한 구성 패키지를 제공합니다. 변환을 사용하려는 경우 이 구성 패키지를 MDE에 적용해야 합니다. 구성 패키지는 메시지 클래스, 파서, 유형, 메타데이터 버킷 컬렉션을 만듭니다. 이러한 구성 엔티티를 통해 MDE는 변환 출력 메시지를 식별하고 특정 유형으로 처리할 수 있습니다. 변환 관련 유형은 변환에서 내보낸 정보를 저장합니다. 또한 원래 변환된 태그 또는 레코드에 관한 참조 정보를 저장하는 특정 변환 메타데이터 버킷과도 연결됩니다.

변환에서 생성된 원시 메시지를 처리하기 위해 제공되는 두 가지 유형은 다음과 같습니다.

  • group-event-change-records: 그룹 이벤트 변경 변환의 출력 메시지 대상 유형입니다.
  • window-transformation-records: 윈도우 변환의 출력 메시지 대상 유형입니다.

그룹 이벤트 변경 변환

변환은 태그 또는 태그 그룹의 필드를 모니터링하고 모니터링된 값이 이러한 태그에서 변경될 때마다 이벤트를 생성합니다. 이 변환은 모든 원형 유형과 연결될 수 있습니다. 변환은 웹 인터페이스에 eventChange로 표시됩니다.

변환은 연결된 구성 패키지에 제공된 group-event-change-records이라는 특정 CONTINUOUS_DATA_SERIES 유형으로 파싱되는 메시지를 내보냅니다. 이 유형에는 값 변경 사이의 기간의 시작 시간종료 시간은 물론 이전 값, 현재 값, 변경을 트리거한 태그의 이름이 포함됩니다.

동일한 유형의 태그 그룹을 정의하여 함께 모니터링할 수 있습니다. 주요 기준을 선택하여 태그를 그룹화하는 방법을 정의할 수 있습니다. 키의 값이 동일한 모든 태그는 함께 모니터링됩니다. 값은 데이터 필드와 메타데이터 요소를 포함하여 태그 프로토의 모든 요소가 될 수 있습니다.

개별 태그에 변환이 적용되도록 하려면 TagName로 설정합니다.

매개변수

변환을 구성하는 데 필요한 두 가지 변환 매개변수는 다음과 같습니다.

  1. 키 표현식: 웹 인터페이스에 keyExpression로 표시됩니다. 태그를 그룹화하는 데 사용될 표현식을 정의합니다. 키 표현식의 값이 동일한 모든 태그가 함께 모니터링됩니다. 변환은 이러한 태그에서 변경사항이 감지될 때마다 값 변경 이벤트를 내보냅니다. 값은 동일한 태그의 이전 값과 비교되지만 태그가 변경되면 이벤트가 트리거됩니다. 키 표현식SpEL 표현식으로 정의되며 태그 프로토에서 사용 가능한 필드를 사용할 수 있습니다. 예를 들어 태그 이름을 기반으로 단일 태그만 모니터링하려면 SpEL 표현식을 다음과 같이 정의합니다.

    #message['tagName']
    

    또는 머신 이름과 같은 공통 메타데이터 필드를 기반으로 태그를 그룹화하려면 (asset-hierarchy 버킷machine-name라는 속성이 있다고 가정) 표현식을 다음과 같이 설정할 수 있습니다.

    #message['metadata']['asset-hierarchy']['machine-name']
    
  2. 값 표현식: 웹 인터페이스에 valueExpression로 표시됩니다. 변환이 새 변경 이벤트를 내보내기 위해 모니터링하는 값 필드를 정의합니다. SpEL 표현식으로도 정의됩니다. 표현식은 태그 프로토 구조의 필드를 사용할 수 있습니다. 표현식의 출력은 올바르게 작동하려면 String 유형이어야 합니다.

    예를 들어 태그 프로토의 Data 섹션에서 value 필드를 모니터링하려면 값 표현식을 다음과 같이 설정하면 됩니다.

    #message['data']['numeric'].toString()
    

출력 메시지

그룹 이벤트 변경 변환에 의해 생성된 출력 메시지의 콘텐츠는 감지된 이벤트의 세부정보를 제공합니다. 출력 메시지에서 사용할 수 있는 구체적인 속성은 다음과 같습니다.

  1. TagName: 변환키 표현식 값과 접미사 "_event_change"에 해당하는 Tagname 아래에 이벤트를 만듭니다. 키 표현식이 개별 TagName으로 정의된 경우 파생 태그는 "TagName_event_change"이 됩니다.
  2. Event Change Continuous Timestamp Object: 이벤트의 초기(event_timestamp_start 속성) 및 최종(event_timestamp_end 속성) 타임스탬프를 포함합니다. 또한 이벤트의 지속 시간 (duration 속성)을 double로 포함합니다.
  3. 이벤트 변경 메시지 데이터 객체: 이벤트 중에 값이 변경된 태그의 이름 (changed_tags 속성)과 이벤트가 발생할 때 그룹화 기준과 일치하는 태그 목록(contributing_tags 속성)이 포함됩니다. 두 가지 모두 메시지당 두 개 이상의 태그를 포함할 수 있습니다.
  4. 태그 값 변경 객체: 상태 변경 이벤트를 트리거한 이름 (tag_name 속성), 이전 값(old_expression_value 속성), 새 값(new_expression_attribute 속성), 메시지 (message_id 속성)입니다.
  5. 변경된 값 메시지 객체 (v1.3.6 이상): 이벤트 변경을 트리거한 메시지를 포함합니다.

참조 섹션에서 구체적인 스키마를 확인하세요.

윈도우 변환

변환은 특정 유형의 모든 태그에 Windowing 함수를 적용합니다. 윈도우화는 일정 기간 동안의 여러 레코드를 단일 레코드로 요약하는 것을 의미합니다. 윈도우 변환은 모든 원형의 모든 유형과 연결될 수 있습니다. 1분에서 60분까지의 태그 기록을 요약할 수 있습니다. 변환의 결과는 선택한 기간 동안의 값 표현식에 대한 요약 값이 포함된 원시 메시지입니다.

변환은 각 윈도우 변환ID (매개변수에 정의됨)가 유형 내에서 고유한 한 동일한 유형에 여러 번 적용할 수 있습니다. 웹 인터페이스를 사용하여 윈도우 변환을 추가할 수 있지만, API를 사용하여 특정 유형에 여러 윈도우 변환을 추가해야 합니다.

변환은 해당 기간 동안 해당 태그에 대해 수신된 모든 레코드의 요약이 포함된 제공된 유형 (window-transformation-records로 명명됨)의 파생 태그를 생성합니다. 이 변환은 태그 수준에서 작동합니다. 변환이 연결된 유형의 각 태그에 대해 요약된 태그를 생성합니다. 태그 이름은 원래 Tagname와 접미사 -window-stats, 윈도우 변환id로 구성됩니다.

매개변수

이 변환을 실행하려면 다음 세 가지 매개변수가 필요합니다.

  1. 기간: 웹 인터페이스에서 durationMinutes로 표시됩니다. 분 단위로 적용할 기간을 나타냅니다. 예를 들어 값이 1이면 1분 해상도의 파생 시계열이 생성됩니다.
  2. 창 ID: 웹 인터페이스에서 id로 제공됩니다. 두 개 이상의 윈도우 변환을 병렬로 적용할 수 있도록 유형의 각 윈도우 변환에 고유 식별자를 할당합니다. ID는 문자열일 수 있습니다.
  3. 값 표현식: 웹 인터페이스에서 valueExpression로 사용할 수 있습니다. 태그 프로토에 적용되어 윈도우 변환으로 요약될 숫자 값을 생성하는 SpEL 표현식입니다. 예를 들어 일반 숫자 태그의 값 필드를 사용해야 하는 경우 valueExpression 표현식을 다음과 같이 정의할 수 있습니다.

    #message['data']['numeric']
    

출력 메시지

변환변환 매개변수 durationMinutes로 정의된 각 기간에 대해 하나의 메시지를 내보냅니다. 출력 메시지에는 다음 속성이 포함됩니다.

  1. TagName: 파생된 시계열의 태그 이름입니다. 윈도우 변환에 의해 자동으로 생성됩니다. 원래 TagName과 접미사 -window-stats, 윈도우 변환id를 사용하여 형성됩니다. 예를 들어 TagName이 Temperature이고 ID가 1인 경우 파생된 태그의 이름은 Temperature-window-stats-1가 됩니다.
  2. TimeStamp: 창의 시작 및 종료 타임스탬프를 포함합니다(event_timestamp_startevent_timestamp_end 속성으로 사용 가능).
  3. 기간 요약 통계: 다음을 포함하는 기간의 모든 요약 데이터가 포함됩니다.
    1. 평균: 기간 동안 수신된 모든 값의 평균값입니다.
    2. 최소: 시간 창 동안 수신된 모든 값의 최소값입니다.
    3. 최대: 시간 창 동안 수신된 모든 값의 최댓값입니다.
    4. 표준 편차: 기간 동안 수신된 모든 값의 표준 편차입니다.
    5. p50: 시간 창에서 수신된 값이 초과되지 않을 50% 신뢰도 수준입니다.
    6. p90: 시간 창에서 수신된 값이 초과되지 않을 90% 신뢰 수준입니다.
    7. 합계: 기간 동안 수신된 모든 값의 요약입니다.
    8. 개수: 시간 범위 동안 수신된 값의 수입니다.
    9. 델타: 시간 범위 동안 수신된 마지막 값과 첫 번째 값의 차이입니다.

자세한 내용은 변환 스키마 섹션의 특정 스키마를 참고하세요.