Tulip 앱 데이터를 장기적으로 저장하는 한 가지 방법은 ‘앱 완료(App Completions)’ 기능을 이용하는 것입니다. 이 글에서는 그 방법을 안내해 드립니다.
이 글에서는 다음내용을 알아보겠습니다:* 앱에 ‘완료’ 버튼이 필요한 이유* 다양한 유형의 앱 완료 트리거* 앱 완료 또는 취소 시 저장되는 데이터* 앱 완료를 위한 모범 사례
Read more about [completions](/r230/docs/<span translate=)">Completions data.
앱 완료 방법
Tulip 앱의 정보를 저장하려면 운영자가 “앱 완료”를 수행해야 합니다. 이를 활성화하려면 앱에 ‘완료’ 버튼을 추가해야 합니다.
운영자가 ‘완료’ 버튼을 누를 때마다 ‘완료 내역’ 탭에 새로운 행이 추가됩니다. 각 행에는 다음과 같은 값이 포함됩니다:
- 앱 완료 정보(예: 스테이션 이름, 운영자의 배지 ID, 앱 시작 및 종료 날짜/시간)
- 앱이 완료된 시점의 모든 변수 및 해당 값.
- 선택 사항: 완료 시점에 앱에 로드된 테이블 레코드를 저장하도록 포함할지 여부를 선택할 수 있습니다.
앱에 정의된 모든 변수(예: 바코드, 로그인한 작업자, 소요 시간, 검사 결과)는 이 보기의 열로 표시됩니다. 작업자가 "앱을 완료"하면 목록에 새로운 행이 생성됩니다.
앱을 완료하면 모든 양식 단계의 값이 저장되고 지워집니다.
실제로 각 개별 앱의 ‘완료’ 탭으로 이동하면 정확히 이러한 내용을 확인할 수 있습니다.

작업자가앱을 완료했을 때**“앱 완료”를 처리하는** 방법에는 몇 가지가 있습니다.
앱 편집기에 내장된 완료 버튼을 사용하거나, “앱 완료” 전환이 포함된 사용자 지정 트리거를 만들 수 있습니다.
완료 버튼
도구 모음에서 ‘버튼’을 선택한 다음 ‘완료’를 선택합니다.

'새 전환 효과 추가' 버튼을 통해 앱 완료 전환 효과를 수동으로 추가할 수 있습니다:

사용자 정의 트리거 사용:
위의 예시에서 '완료' 버튼의 기본 로직은 다음과 같습니다:
- "버튼이 눌렸을때";
- 그때, "앱" -> "앱 완료."

그러나 이 전환 효과를 워크플로 끝부분에 해당하는 어떤 트리거에든 추가할 수 있습니다. 예를 들어:

- "이 스테이션"에서 "GPIO" "핀 다운" 이벤트가 발생할때
- If, "Device Output" "pin" "=" "Static Value" "integer" "2"
- 그때, "앱" "앱 완료"
이 예시에서, 이 단계의 GPIO I/O 게이트웨이 핀 2로 핀 다운 신호를 전송하는 모든 IoT 장치는 앱이 완료되도록 합니다.
"앱 완료" 외에도 다음 두 가지 옵션이 있습니다:
완료 후 다음으로 이동: 앱을 완료한 후 다른 앱으로 이동합니다.
'완료 후 단계로 전환': 앱을 완료한 후 동일한 앱 내의 다른 단계로, 또는 다른 앱의 특정 단계로 전환합니다.
완료 후 스플래시 화면으로 이동: 앱을 완료한 후 앱의 스플래시 화면으로 이동합니다. 운영자가 “시작” 버튼을 누르기 전까지는 앱이 시작되지 않습니다.
완료 후 현재 사용자 로그아웃: 앱을 완료한 후 현재 사용자를 로그아웃합니다.
완료 후 앱 이름으로 전환: 앱을 완료한 후, 변수 등에 저장된 앱의 값을 통해 지정할 수 있는 다른 앱으로 이동합니다.
완료 후 이름으로 단계 이동: 앱을 완료한 후, 변수 등에 저장된 앱 내 값을 통해 지정할 수 있는 동일한 앱 내의 다른 단계로 이동합니다.
참고: 앱은 Tulip Player에서 실행될 때만 완료될 수 있습니다 . 앱이 완료되면 운영자에게 아래와 같은 메시지가 표시됩니다.

앱 취소
특정 앱 사용 시 데이터를 저장하지 않으려는 경우를 가정해 봅시다. 이 경우, “앱 취소”를 수행하고 특정 단계로 돌아가야 할 것입니다. 이렇게 하면 앱이 마지막으로 열린 시점부터의 모든 데이터가 삭제됩니다.
앱 완료 트리거 전환과 직접적으로 대응하는 5가지 트리거 전환이 있습니다:

- 앱 취소
- 취소 후 다음 단계로 이동
- 취소 후 단계로 이동
- 취소 후 스플래시 화면으로 이동
- 취소 후 현재 사용자 로그아웃
앱 완료에 대한 기술적 세부 사항
다음은 앱 완료 또는 취소 시마다 자동으로 저장되는 모든 데이터 항목입니다:
- 시작 시간: 운영자가 첫 번째 단계를 연 날짜 및 시간
- 종료 시간: 운영자가 “완료” 또는 “취소” 버튼을 누른 날짜 및 시간
- 소요 시간: 시작 시간과 종료 시간 사이의 시간
- 로그인한 사용자: Tulip Player에 로그인한 사용자의 배지 ID를 기준으로 함
- 스테이션 이름: [Shop Floor] 탭에 따라 결정된, 앱이 사용된 스테이션의 이름
- 비고: Player 메뉴에서 앱 전체에 대해 작성된 비고
- 버전: 앱이 완료되었을 당시의 버전
- 취소됨: 앱이 취소되었는지 여부
- 실행 ID: 해당 앱 실행에 대한 고유 ID
- 마지막으로 확인한 단계 이름: 사용자가 앱을 완료하거나 취소하기 직전에 마지막으로 확인한 단계의 이름
모범 사례
작업 현장 설정에서, 스테이션 그룹 수준이나 특정 스테이션 수준에서 앱의 ‘가장 최근에 게시된 버전’을 할당하는 것이 일반적인 관행입니다.
스테이션에서 가장 최근에 게시된 버전을 실행하려면 다음 중 하나가 수행되어야 합니다:
- 메뉴 / 앱 다시 시작을 통해 앱을 다시 시작합니다.
- '앱 / 앱 완료...' 전환이 사용됩니다.
- '앱 / 앱 취소...' 전환을 사용합니다.
이러한 이유로, Tulip 앱이 사용 과정 중 어느 시점에서든 이러한 전환을 사용하도록 설정하는 것이 모범 사례입니다.
:::(경고) (헤드리스 앱에서 "앱 / 앱 완료" 사용)
"헤드리스 앱"(예: '기계 및 장치 트리거' 실행용)을 사용하는 경우, 정기적으로 "앱 / 앱 완료" 전환을 수행하도록 타이머 트리거를 추가하는 것을 고려하십시오.
Tulip Station이 “Most recently published version ”로 할당되어 있다면, 이를 통해 앱이 해당 최근published version 에서 실행되도록 보장할 뿐만 아니라 잠재적인 메모리 누수로 인해 발생할 수 있는 문제도 완화할 수 있습니다.
:::
앱 완료 시 데이터 삭제
제조 분야의 GxP 표준을 준수하기 위해, Tulip 내의 데이터는 삭제할 수 없습니다.
그러나 우회 방법이 있습니다. 앱을 복사한 후 기존 앱을 삭제하면, 항목이 없는 새로운 테이블을 얻을 수 있습니다.
분석에서 완료 데이터 숨기기
분석에서 ‘완료’ 탭의 일부 데이터를 제외하고자 할 수 있습니다. 이제 ‘완료’ 탭에서 제외할 레코드를 찾아 “분석에 포함” 체크박스의 선택을 해제하면 됩니다. 이렇게 하면 해당 레코드가 분석에서 제외됩니다.

분석에서 이 레코드를 제외하더라도 완료 데이터 자체에서는 삭제되지 않으므로, 해당 데이터의 내보내기에는 영향을 미치지 않습니다.
추가 정보
{{snippet.원하는 정보를 찾으셨나요?}}


