- 인쇄
혼합이 많은 환경에서 제조 앱을 사용하는 방법
높은 혼합 환경에서 Tulip으로 작업 지침을 설정하는 방법을 알아보세요.
이 가이드에서는 다음을 학습합니다.
- 다품종 환경에 맞게 Tulip 기능을 결합하는 방법.
- Tulip에서 변동을 처리하는 각 접근 방식의 장단점
작업 현장에서 수백 개의 SKU를 관리하고 있나요? 아니면 여러 제품 라인에서 재사용되는 일련의 프로세스가 있나요?
이 가이드에서는 제품 내에서 높은 변동성을 처리하는 데 도움이 될 수 있는 다양한 방법을 다룹니다.
"높은 혼합 환경"을 만들 수 있는 요인은 여러 가지가 있으므로 모든 높은 혼합 시나리오를 다룰 수 있는 단일 툴이나 기능은 Tulip에 없습니다. 대신 상황에 따라 여러 기능을 조합하여 사용하게 됩니다. 주요 요소는 다음과 같습니다:
- 연결된 디바이스 수
- SKU 간의 차이
- Tulip 데이터에 대한 분석 요구 사항
- 제품의 '패밀리' 존재 여부
일반적으로 다양한 제품을 처리하는 방법에는 5가지가 있습니다:
- 앱: 각 제품 또는 각 제품군에 대해 특화된 앱 만들기
- 단계: 단계: 다양한 조합의 단계 그룹 만들기
- 테이블: 여러 단계를 만들지 않고 테이블에서 작업 지침 데이터를 동적으로 로드하기
- 트리거: "If" 문 또는 문자열 연결을 사용하여 수백 가지 조합 처리하기
- SQL: 과거에 SQL을 작성해 본 적이 있다면 커넥터 함수를 사용하여 외부 SQL 데이터베이스로 작업할 수 있습니다.
다음은 이러한 각 기능에 사용할 수 있는 몇 가지 전략입니다.
참고: 이 가이드는 앱 개발 경험이 어느 정도 있는 Tulip 사용자를 위한 것입니다. 아직 앱을 만들지 않았다면 Tulip 기본 사항부터 시작해야 합니다.
앱
여러 앱을 활용하여 복잡성을 관리하는 방법에는 두 가지가 있습니다.
첫 번째 방법은 모든 제품 또는 SKU에 대해 별도의 앱을 만들고 하나의 라우팅 앱을 사용하여 상담원을 올바른 앱으로 자동 전송하는 것입니다. 이 방법은 작업 지침이 겹치는 제품이 제한적인 경우에 효과적입니다.
이를 위해서는 "라우팅"이라는 원스텝 앱을 만들어야 합니다. 이 앱은 기본적으로 해당 층의 모든 스테이션에서 실행될 수 있습니다. 작업자가 새 작업 지시를 시작하면 작업 지시를 스캔하여 올바른 앱으로 자동 연결될 수 있습니다.
이 단계는 튤립 터미널에서 다음과 같이 보일 수 있습니다.
그런 다음 단계의 하나의 트리거에 일련의 "If" 문을 작성하여 작업자를 올바른 지침 집합으로 라우팅할 수 있습니다.
SKU가 "1A2B3X4D"인 제품에 대한 "If" 문은 다음과 같습니다.
작업자가 라우팅 앱에서 바코드를 스캔하면 이 데이터를 다음 앱으로 전달할 방법을 찾아야 한다는 과제가 있습니다. 이 가이드를 사용하여 앱 간에 데이터를 전달하는 방법을 알아보세요.
그런 다음 모든 앱의 시작 부분에 일종의 확인을 포함시켜 운영자가 SKU를 잘못 입력하여 잘못된 앱으로 이동하는 일이 없도록 할 수 있습니다.
포괄적인 지침을 사용하여 앱 복제하기
모든 앱이 일련의 단계의 하위 집합을 사용하는 경우 '여러 앱' 접근 방식을 사용할 수도 있습니다. 이 방법은 제품 간에 공통 단계가 많은 경우에 효과적입니다.
먼저 여러 제품 또는 SKU에서 사용하는 모든 단계가 포함된 하나의 "일반 템플릿" 앱을 생성합니다. 그런 다음 각 개별 제품에 대해 앱을 복제하고 특정 제품과 관련이 없는 모든 단계를 잘라냅니다.
이러한 앱 기반 전략은 모든 트리거가 간단하기 때문에 모든 신규 Tulip 사용자가 쉽게 관리할 수 있습니다. '하나의 앱에서 하나의 제품'이라는 패턴은 이해하기 쉽습니다. 그러나 개별 단계의 디자인을 변경하려는 경우 이 접근 방식을 사용하면 모든 앱에서 단계를 다시 실행해야 합니다.
단계/단계 그룹
제품에 유사한 작업 지침이 있는 경우 개별 단계 및 단계 그룹을 보다 동적으로 만들 수도 있습니다. 여러 앱을 만드는 대신 하나의 앱 내에 여러 단계 그룹을 만들고 트리거 로직을 사용하여 단계 그룹을 통해 작업자를 라우팅할 수 있습니다.
위 섹션의 예와 같이 바코드 스캔 단계를 포함할 수도 있습니다. 그런 다음 바코드 데이터를 변수로 저장하여 바코드를 앱 완료에 연결하고 작업자를 올바른 단계로 라우팅할 수 있습니다.
이제 바코드 데이터가 앱 내에 저장되므로 나중에 트리거를 사용하여 작업 지침을 여러 가지 방법으로 재조합하려는 경우 참조할 수도 있습니다.
이렇게 하면 기본 Tulip 인터페이스에서 모든 작업 지침 단계를 한 곳에서 쉽게 업데이트할 수 있습니다. 하지만 수백, 수천 개의 SKU가 있는 경우에는 리드 운영자나 관리자가 실시간으로 변경할 수 있도록 단계를 더욱 쉽게 실시간으로 업데이트하고 싶을 수도 있습니다.
각 작업 지침 집합을 실시간으로 업데이트하려면 몇 개의 필드가 있는 양식 단계를 사용하면 됩니다. 각 작업 지시 단계에 다음과 같은 필드가 있다고 가정해 보겠습니다:
- 주요 지시 사항 제목
- 지시 사항 세부 정보
- 이미지
- 특별 참고 사항
다음과 같이 보일 수 있습니다:
이러한 지침을 실시간으로 업데이트하려면 다음과 같은 양식 단계를 사용할 수 있습니다:
그런 다음 결과를 테이블 또는 SQL 데이터베이스에 저장하고 운영자가 '단계 번호' 필드를 기준으로 앱을 실행할 때 동적으로 검색할 수 있습니다. 방법은 다음과 같습니다.
테이블
Tulip의 테이블 기능을 사용하면 코드를 작성하지 않고도 앱 데이터 또는 지침 세트가 포함된 데이터베이스를 만들 수 있습니다. 다음과 같은 경우 지침에 사용할 수 있습니다:
- 모든 제품에는 서로 다른 지침 세트가 있습니다.
- 제품이 캐스팅, 클리닝 또는 감사와 같은 일련의 공통 프로세스를 공유하며 해당 프로세스 내에서 가변성이 거의 또는 전혀 없습니다.
또한 지침의 각 단계는 하나의 헤드라인, 하나의 세부 정보, 하나의 이미지 등 동일한 콘텐츠를 가져야 합니다.
작업 지침이 이 두 가지 범주 중 하나에 속하지 않는다면 표는 적합하지 않을 수 있습니다.
그러나 이러한 패턴 중 하나를 따르는 경우 테이블에서 작업 지침을 동적으로 로드하는 한 단계만으로 앱을 만들 수 있습니다.
먼저 다음과 같은 필드가 있는 테이블을 만듭니다:
그런 다음, 예를 들어 레코드를 하나 이상 추가합니다:
그런 다음 앱을 만들고 모든 작업 지침을 동적으로 로드하는 한 단계를 만듭니다. 작업자가 진행할 준비가 되면 '표 레코드' 텍스트 위젯을 사용하여 단계의 텍스트와 이미지를 변경할 수 있습니다.
다음은 "표 레코드" 위젯의 필드를 사용하는 샘플 레이아웃입니다:
그런 다음 작업자가 "다음" 버튼을 누르면 다음 단계로 진행하지 않으려 할 것입니다. 대신 테이블의 다음 레코드가 로드되도록 로직을 작성하고 싶을 것입니다. 레코드를 변경하려면 버튼을 누를 때마다 증가하는 변수를 사용해야 합니다. 다음과 같이요:
WHEN
- "버튼이 눌릴 때"
THEN
- "데이터 조작" "값 증가" "카운터"
- By: "정적 값" "숫자" "1"
- "테이블 레코드" "레코드 로드"
- 기준 ID "정적 값" "텍스트"(SKU가 포함된 변수) + (카운터 변수) into: (레코드 자리 표시자)
따라서 활성 SKU를 포함하는 변수와 작업자가 진행함에 따라 지속적으로 카운트업되는 변수가 필요합니다.
이 접근 방식을 사용하면 여러 작업 지시서 세트의 모든 콘텐츠를 쉽게 유지 관리할 수 있습니다. 지침의 형식이 일관된 경우에는 잘 작동하지만 지침에 여러 유형의 단계가 있는 경우에는 다른 방법을 사용하는 것이 좋습니다.
트리거 로직 사용하기
위에서 강조한 거의 모든 시나리오에서 앱을 성공적으로 빌드하려면 사용자 지정 트리거를 만들어야 합니다. 이미 다음과 같은 간단한 트리거를 보여드렸습니다:
- 카운터 변수 증가
- 새 앱으로 변경
- 다른 단계 그룹으로 이동
- 바코드 번호 저장
다음은 위의 앱 구축 패턴에 나타날 수 있는 몇 가지 고급 패턴입니다:
일련의 IF 문
공장에 50개의 서로 다른 활성 SKU가 있다고 가정해 보겠습니다. 각각에는 별도의 작업 지침 세트가 있습니다. 작업자를 올바른 지침 집합으로 자동 전송하는 '라우팅 앱'을 만들려면 서로 다른 SKU 번호로 50개의 'if' 문을 만들어야 합니다. 이 모든 작업을 하나의 트리거에서 수행할 수 있습니다. 이를 위해서는 if/then 문을 수동으로 많이 만들어야 하지만, 누구나 트리거를 클릭하고 무슨 일이 일어나고 있는지 쉽게 이해할 수 있습니다.
다음은 if/then 문의 한 예입니다:
문자열 연결
연결은 간단히 말해 "두 문자열을 결합하는 것"을 의미합니다. 테이블 레코드 ID는 문자열이므로 문자열 ID를 사용하여 운영자에게 올바른 콘텐츠를 제공하는 데 창의력을 발휘할 수 있습니다.
여러 제품 라인에 공통적으로 적용되는 정리 프로세스가 있다고 가정해 보겠습니다. 이 프로세스는 5단계로 구성되어 있습니다. 유지 관리가 어렵기 때문에 여러 앱에서 동일한 청소 지침을 다시 작성하고 싶지 않을 수 있습니다.
대신 공통 프로세스에 대한 지침이 포함된 '공통 절차'라는 테이블을 만들 수 있습니다. 그런 다음 '청소-1' 및 '청소-2'와 같은 레코드 ID를 사용하여 하나의 프로세스에 대한 일련의 단계를 표시할 수 있습니다.
그런 다음 트리거 편집기에서 특정 프로세스를 단계가 진행될 때마다 증가하는 변수와 결합합니다. 다음은 위의 "테이블" 섹션에서 "Static Value:Text" 필드에 있는 두 변수를 결합한 예입니다.
문자열 연결을 사용하면 언제 멈춰야 할지 모를 수 있습니다. 즉, 정리 프로세스에 5단계가 있는 경우 카운터가 "6"에 도달하면 다른 단계로 이동해야 합니다. 이를 위해 트리거에 "If" 문을 사용하여 먼저 해당 단계가 있는지 확인할 수 있습니다.
다음과 같이요:
IF
- "Table" "dynamic_work_instructions" "ID가 있는 레코드가 있음"
- "정적 값" "텍스트"(여기에 동적 콘텐츠 삽입)
SQL 사용
과거에 SQL 데이터베이스를 만든 경험이 있다면 SQL 커넥터를 만들어 SQL 데이터베이스에서 텍스트와 이미지를 동적으로 로드할 수도 있습니다. 이렇게 하면 위의 표 예제처럼 한 단계 템플릿을 만들고 여기에 데이터를 로드할 수 있습니다.
이 방법은 데이터 로딩에 대한 복잡한 요구 사항이 있는 경우에 유용합니다. 이 방법을 사용하려는 경우 Tulip 담당자에게 문의하시면 데이터베이스 설정 방법에 대해 기꺼이 조언해 드리겠습니다.
추가 자료
원하는 것을 찾으셨나요?
community.tulip.co로 이동하여 질문을 게시하거나 다른 사람들이 비슷한 문제를 겪은 적이 있는지 확인해 보세요!