변환
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로 설정합니다.
매개변수
이 변환을 구성하는 데 필요한 두 가지 변환 매개변수는 다음과 같습니다.
키 표현식: 웹 인터페이스에
keyExpression로 표시됩니다. 태그를 그룹화하는 데 사용될 표현식을 정의합니다. 키 표현식의 값이 동일한 모든 태그가 함께 모니터링됩니다. 변환은 이러한 태그에서 변경사항이 감지될 때마다 값 변경 이벤트를 내보냅니다. 값은 동일한 태그의 이전 값과 비교되지만 태그가 변경되면 이벤트가 트리거됩니다. 키 표현식은 SpEL 표현식으로 정의되며 태그 프로토에서 사용 가능한 필드를 사용할 수 있습니다. 예를 들어 태그 이름을 기반으로 단일 태그만 모니터링하려면 SpEL 표현식을 다음과 같이 정의합니다.#message['tagName']또는 머신 이름과 같은 공통 메타데이터 필드를 기반으로 태그를 그룹화하려면 (
asset-hierarchy버킷에machine-name라는 속성이 있다고 가정) 표현식을 다음과 같이 설정할 수 있습니다.#message['metadata']['asset-hierarchy']['machine-name']값 표현식: 웹 인터페이스에
valueExpression로 표시됩니다. 변환이 새 변경 이벤트를 내보내기 위해 모니터링하는 값 필드를 정의합니다. SpEL 표현식으로도 정의됩니다. 표현식은 태그 프로토 구조의 필드를 사용할 수 있습니다. 표현식의 출력은 올바르게 작동하려면String유형이어야 합니다.예를 들어 태그 프로토의
Data섹션에서value필드를 모니터링하려면 값 표현식을 다음과 같이 설정하면 됩니다.#message['data']['numeric'].toString()
출력 메시지
그룹 이벤트 변경 변환에 의해 생성된 출력 메시지의 콘텐츠는 감지된 이벤트의 세부정보를 제공합니다. 출력 메시지에서 사용할 수 있는 구체적인 속성은 다음과 같습니다.
TagName: 변환은 키 표현식 값과 접미사"_event_change"에 해당하는 Tagname 아래에 이벤트를 만듭니다. 키 표현식이 개별 TagName으로 정의된 경우 파생 태그는"TagName_event_change"이 됩니다.- Event Change Continuous Timestamp Object: 이벤트의 초기(
event_timestamp_start속성) 및 최종(event_timestamp_end속성) 타임스탬프를 포함합니다. 또한 이벤트의 지속 시간 (duration속성)을double로 포함합니다. - 이벤트 변경 메시지 데이터 객체: 이벤트 중에 값이 변경된 태그의 이름 (
changed_tags속성)과 이벤트가 발생할 때 그룹화 기준과 일치하는 태그 목록(contributing_tags속성)이 포함됩니다. 두 가지 모두 메시지당 두 개 이상의 태그를 포함할 수 있습니다. - 태그 값 변경 객체: 상태 변경 이벤트를 트리거한 이름 (
tag_name속성), 이전 값(old_expression_value속성), 새 값(new_expression_attribute속성), 메시지 (message_id속성)입니다. - 변경된 값 메시지 객체 (v1.3.6 이상): 이벤트 변경을 트리거한 메시지를 포함합니다.
참조 섹션에서 구체적인 스키마를 확인하세요.
윈도우 변환
이 변환은 특정 유형의 모든 태그에 Windowing 함수를 적용합니다. 윈도우화는 일정 기간 동안의 여러 레코드를 단일 레코드로 요약하는 것을 의미합니다. 윈도우 변환은 모든 원형의 모든 유형과 연결될 수 있습니다. 1분에서 60분까지의 태그 기록을 요약할 수 있습니다. 변환의 결과는 선택한 기간 동안의 값 표현식에 대한 요약 값이 포함된 원시 메시지입니다.
이 변환은 각 윈도우 변환의 ID (매개변수에 정의됨)가 유형 내에서 고유한 한 동일한 유형에 여러 번 적용할 수 있습니다. 웹 인터페이스를 사용하여 윈도우 변환을 추가할 수 있지만, API를 사용하여 특정 유형에 여러 윈도우 변환을 추가해야 합니다.
변환은 해당 기간 동안 해당 태그에 대해 수신된 모든 레코드의 요약이 포함된 제공된 유형 (window-transformation-records로 명명됨)의 파생 태그를 생성합니다. 이 변환은 태그 수준에서 작동합니다. 변환이 연결된 유형의 각 태그에 대해 요약된 태그를 생성합니다. 태그 이름은 원래 Tagname와 접미사 -window-stats, 윈도우 변환의 id로 구성됩니다.
매개변수
이 변환을 실행하려면 다음 세 가지 매개변수가 필요합니다.
- 기간: 웹 인터페이스에서
durationMinutes로 표시됩니다. 분 단위로 적용할 기간을 나타냅니다. 예를 들어 값이 1이면 1분 해상도의 파생 시계열이 생성됩니다. - 창 ID: 웹 인터페이스에서
id로 제공됩니다. 두 개 이상의 윈도우 변환을 병렬로 적용할 수 있도록 유형의 각 윈도우 변환에 고유 식별자를 할당합니다. ID는 문자열일 수 있습니다. 값 표현식: 웹 인터페이스에서
valueExpression로 사용할 수 있습니다. 태그 프로토에 적용되어 윈도우 변환으로 요약될 숫자 값을 생성하는 SpEL 표현식입니다. 예를 들어 일반 숫자 태그의 값 필드를 사용해야 하는 경우valueExpression표현식을 다음과 같이 정의할 수 있습니다.#message['data']['numeric']
출력 메시지
변환은 변환 매개변수 durationMinutes로 정의된 각 기간에 대해 하나의 메시지를 내보냅니다. 출력 메시지에는 다음 속성이 포함됩니다.
- TagName: 파생된 시계열의 태그 이름입니다. 윈도우 변환에 의해 자동으로 생성됩니다. 원래 TagName과 접미사
-window-stats, 윈도우 변환의id를 사용하여 형성됩니다. 예를 들어 TagName이Temperature이고 ID가1인 경우 파생된 태그의 이름은Temperature-window-stats-1가 됩니다. - TimeStamp: 창의 시작 및 종료 타임스탬프를 포함합니다(
event_timestamp_start및event_timestamp_end속성으로 사용 가능). - 기간 요약 통계: 다음을 포함하는 기간의 모든 요약 데이터가 포함됩니다.
- 평균: 기간 동안 수신된 모든 값의 평균값입니다.
- 최소: 시간 창 동안 수신된 모든 값의 최소값입니다.
- 최대: 시간 창 동안 수신된 모든 값의 최댓값입니다.
- 표준 편차: 기간 동안 수신된 모든 값의 표준 편차입니다.
- p50: 시간 창에서 수신된 값이 초과되지 않을 50% 신뢰도 수준입니다.
- p90: 시간 창에서 수신된 값이 초과되지 않을 90% 신뢰 수준입니다.
- 합계: 기간 동안 수신된 모든 값의 요약입니다.
- 개수: 시간 범위 동안 수신된 값의 수입니다.
- 델타: 시간 범위 동안 수신된 마지막 값과 첫 번째 값의 차이입니다.
자세한 내용은 변환 스키마 섹션의 특정 스키마를 참고하세요.