# 정의

> 공정의 구조이며 공정 자체가 바뀔 때만 바뀝니다. 채널, 메타데이터, 자동화, 생산성, 프린터 화면과, 다섯 화면이 함께 쓰는 하나의 생김새입니다.

**정의**는 [Process](process) 페이지에서 모델이 가지는 네 묶음 가운데 첫 번째입니다. 공정의 구조이며 공정 자체가 바뀔 때만 바뀝니다. 시험대를 세우는 순서대로 다섯 줄을 담습니다. **채널**(모델이 재고 명령하는 것), **메타데이터**(실행이 찍는 것), **자동화**(아무도 단추를 누르지 않아도 스테이션을 움직이는 것), **생산성**(무엇을 생산하는지), **프린터**(그 산출물이 어디로 나오는지)입니다. 화면마다 모델의 모든 유닛을 한꺼번에 보여 주므로, 스테이션 넷짜리 시험대는 그 넷을 견줄 수 있는 자리에서 설정하게 됩니다.

이 묶음은 모델 열람, 절차 실행, Process 관리에 그려집니다. 관리 없이 레시피와 판정 편집 단계인 역할에게는 모델마다 셋업 갈래만 남으므로 이 묶음이 보이지 않습니다. 여기에서 무엇인가를 편집하는 것은 Process 관리뿐입니다.

## 이 묶음에 있는 것 {#in-this-group}

| 화면 | 무엇을 설정하는가 |
| --- | --- |
| [채널](process-channels) | 모델의 모든 산출물이 참조하는 추상 채널과, 유닛마다 그 뒤에 잇는 신호원과 별칭입니다. |
| [메타데이터](process-metadata) | 실행이 시작할 때 담는 항목의 목록, 일련번호 식별자, 그리고 유닛마다의 코드와 카운터 상태입니다. |
| [자동화](process-automation) | 모델이 따르는 외부 정지, 유닛마다 관측하는 신호, 그리고 절차를 고르고 움직이는 PLC 쪽 자동화입니다. |
| [생산성](process-productivity) | 수치를 읽는 롤링 기간과, 산출물을 묶는 이름 붙인 수량입니다. |
| [프린터](process-printers) | 유닛이 인쇄에 쓰는 프린터 대기열 넷(라벨이나 보고서를, 시작 시점이나 완료 시점에)입니다. |

## 묶음 페이지 {#the-group-page}

**정의**를 고르면 그 페이지가 열립니다. "이 공정의 구조입니다. 공정이 도는 스테이션, 재는 것, 실행이 찍는 것, 스테이션을 스스로 움직이는 것, 생산하는 것, 그리고 인쇄하는 곳입니다. 공정이 바뀌면 함께 바뀝니다." **내용** 카드 하나가 "이 묶음이 담고 있는 것입니다. 하나를 누르면 바로 그리로 갑니다."라는 줄과 함께 타일 다섯을 담습니다. 채널과 메타데이터는 개수와 함께, 자동화와 생산성과 프린터는 이름으로 놓입니다. 이 페이지에는 막대가 없고 아무것도 편집하지 않습니다.

유닛 자체는 이 묶음의 줄이 아닙니다. 유닛은 모델 자신의 페이지에서 선언하며([유닛](process-units) 참고), 아래의 모든 화면이 자기 **유닛 관리** 단추로 그리로 이어 줍니다.

## 다섯 화면이 함께 쓰는 하나의 생김새 {#the-one-shape-of-the-five-screens}

정의 화면은 모두 왼쪽에 상자로 두른 영역 둘, 오른쪽에 설정 열 하나입니다.

| 부분 | 무엇을 담는가 |
| --- | --- |
| **모델 정의**(위쪽 영역) | 모델 자신의 선언을 담은 표입니다. 채널, 메타데이터 목록, 외부 정지 줄, 롤링 기간 입력란 아래의 이름 붙인 수량, 프린터 자리 넷입니다. 그 머리는 표가 무엇을 담는지 말하는 한 줄과, 그 표에 작용하는 동사를 답니다. 표를 늘리는 **+**(**채널**, **항목**, **수량**)이거나, 프린터에서는 **대기열 새로 고침**입니다. |
| **유닛별**(아래쪽 영역) | 모델의 유닛을 자기 순서대로 담은 목록이며, 줄마다 이 화면의 주제가 그 유닛에서 어떤지를 말합니다. 채움 정도, 코드와 카운터, 인터록 신호와 자동화, 기간과 수량, 대기열입니다. 그 머리는 **유닛 관리**("모델의 유닛을 선언하고 이름 붙이고 제거하는 자리입니다.")를 달고 있고, 누르면 모델의 페이지가 열립니다. |
| **설정**(오른쪽 열) | 화면에서 고른 그 한 줄을 온전히 보여 줍니다. 머리에는 정해진 낱말 **설정**이 놓이고, 그 아래에 그 줄이 어디에서 왔고 어느 것인지 적힙니다. "채널 · Ch1 · Setpoint", "메타데이터 · Serial number", "자동화 · 외부 정지", "생산성 · Total", "프린터 · 시작 시점의 라벨", "유닛 · Unit 1"입니다. |

화면 전체에서 정확히 한 줄만 표시됩니다. 위쪽 표의 줄을 고르면 고른 유닛이 풀리고, 유닛을 고르면 위쪽 줄이 풀립니다. 아무것도 고르지 않았으면 열은 안내 문구를 보여 줍니다. "위에서 채널을, 또는 아래에서 유닛을 고르면 거기에 설정한 모든 것이 여기에서 열립니다."(화면마다 자기 두 절반의 이름을 씁니다). 아래에서 고른 유닛은 페이지의 것이며 다섯 화면과 모델 자신의 페이지가 함께 씁니다. 그래서 화면을 오가도 손에 든 시험대는 그대로입니다. 여러분이 줄을 누르기 전까지는 아무것도 골라져 있지 않습니다.

두 영역 사이의 분할선과 열 앞의 분할선은 둘 다 끌 수 있고 둘 다 화살표 키로 옮길 수 있으며("끌거나 화살표 키로 크기 조절"), 화면마다 이 창의 프로필에 자기 크기를 기억합니다. 영역은 저마다 자기 머리 아래에서 자기 몸통을 스크롤하므로, 표 하나가 길어져도 다른 절반까지 데려가지 않습니다.

모든 화면의 머리글은 자기 필을 답니다. 채널이나 항목의 개수, 유닛의 개수, 그리고 생산성과 프린터에서는 얼마나 많은 유닛이 따로 서 있는지입니다("모두 모델 기본값", "3 가운데 1이 따로 섬").

## 모든 화면이 함께 쓰는 행동 {#what-every-screen-shares-in-behaviour}

- **자동 저장.** 모든 셀과 입력란은 여러분이 확정하는 대로 모델에 그대로 씁니다. 콤보 상자와 라디오와 체크 상자는 바뀔 때, 텍스트 입력란은 거기에서 떠날 때입니다. 거부된 쓰기는 값을 되돌려 놓고 이유가 작업 기록 줄에 놓입니다.
- **고른 유닛**은 페이지의 것이며 모델에 하나입니다([유닛](process-units#one-picked-unit-across-the-model) 참고).
- **답이 빠졌을 때 주의를 나타내는 색을 입는 것은 그것이 문제가 되는 자리뿐입니다.** 바인딩이 모자란 유닛, 일련번호 항목이 조립에 쓰는데 비어 있는 코드, 모델이 신호를 관측하는데 정지 신호가 없는 유닛, 신호원이 없는 수량, 모델의 명령이 인쇄에 쓰는데 비어 있는 대기열입니다.
- **안전한 이름 바꾸기.** 주소가 되는 이름(채널, 메타데이터 항목)은 모델이나 유닛과 같은, 함께 움직이는 이름 바꾸기로 확정됩니다. 입력란 아래 줄이 그 주소를 읽는 곳이 몇 군데인지 미리 보여 주고, 확정할 때 그것들을 다시 쓰거나 충돌을 거부합니다.

## 권한과 잠금 {#permissions-and-locks}

| 상황 | 무슨 일이 일어나는가 |
| --- | --- |
| Process 관리가 없는 역할 | 화면은 그려지되 읽기 전용입니다. 만드는 동사는 그려지지 않고, 자기 문을 따로 가진 카드가 그것을 말합니다("자동화를 편집하려면 “Process 관리” 권한이 필요합니다.", "프린터 대기열을 바꾸려면 “Process 관리” 권한과 편집할 수 있는 스테이션이 필요합니다."). |
| 어느 모델이든 실행 조작이 차지한 유닛이 있을 때 | 페이지 전체가 "엔지니어링 잠금" 알림 띠 아래에서 움직이지 않게 붙들리고, **+** 동사는 "유닛이 실행 중인 동안에는 구성이 잠깁니다."와 함께 흐려집니다. |
| 런타임이 정지했을 때 | 모든 쓰기가 "런타임 정지"로 거부됩니다. |
| 고른 유닛이 바쁘거나 인터록이 걸려 있을 때 | 그 인터록 신호원과 극성, 그리고 모델의 외부 정지 스위치와 기본 신호는 위의 경계 위에서 고정된 채로 남습니다. |

## 이 묶음이 하지 않는 것 {#what-this-group-does-not-do}

- 유닛을 더하거나 없애지 않습니다. 그것은 모델 페이지의 유닛 표입니다.
- 실행을 조립하지 않습니다. 데이터로그, 레시피, 판정, 발생 기록, 액션, 절차는 [셋업](process-setup)입니다.
- 아무것도 그리지 않습니다. 패널과 대시보드는 [시각화](process-visualization)입니다.
- 아무것도 시작하지 않습니다. 실행은 [운전](process-operate) 아래에서 시작합니다.
