모델의 대시보드
모델에 정의한 자유로운 대시보드, 그 바인딩이 지니는 유닛 자리 표시자, 그리고 유닛마다 자기 몫으로 풀린 사본을 어떻게 여는지입니다.
모델의 대시보드는 자기 모델을 이름으로 부르는 평범한 대시보드입니다. View 페이지의 모든 대시보드와 같은 구성 요소로 조립하고 같은 편집기로 편집하며(대시보드 편집기 참고), 모델의 것으로 만드는 것은 그것이 사는 자리와 그 바인딩이 가리키는 대상입니다. Process > 모델 > 모델 > 시각화 > 대시보드 아래에 나열되고, 주소 칸이 모델의 채널을 내놓으며, 유닛 하나를 이름으로 부를 자리에 유닛 자리 표시자를 씁니다. 하나의 정의가 모델의 모든 유닛에 쓰입니다. 대시보드를 만들고 없애고 표시하려면 Process 관리 권한이 필요하고, 그 위에 놓인 것을 편집하려면 대시보드 영역의 대시보드 편집 권한이 필요합니다.
대시보드 폴더
대시보드 줄을 고르면 폴더 페이지가 열립니다. 머리글("이 모델에 정의한 운전자 대시보드입니다. 하나의 정의가 모든 유닛에 쓰이며, 유닛마다 자기 줄을 하나씩 지녀 그 유닛에 바인딩된 채널 위에서 대시보드를 엽니다.")과, 대시보드마다 아이콘과 이름을 단 카드 하나입니다. 카드를 누르면 그 대시보드가 열리고, 카드의 가위표는 그것을 없앱니다. 모델에 대시보드가 하나도 없으면 페이지는 "아직 대시보드가 없습니다. 하나 추가한 다음 대시보드 도구 상자로 편집하십시오."라고 말합니다. 트리는 폴더 아래에 대시보드를 이름순으로 나열하고, 폴더 줄이 그 수를 셉니다.
| 명령 | 하는 일 | 언제 흐려지는가(상황) | 언제 그려지지 않는가(역할) |
|---|---|---|---|
| 대시보드(폴더를 고른 상태의 상세 막대, 오른쪽 클릭 대시보드 추가) | Screen <n>(이 모델의 어떤 대시보드도 아직 쓰지 않은 첫 번호)이라는 이름의 빈 대시보드를 만들어 저장하고 그것을 고르므로, 만든 자리에서 바로 이름을 붙일 수 있습니다. |
어느 유닛이든 실행을 지니고 있을 때, 또는 런타임이 정지했을 때. | Process 관리가 없을 때. |
새 대시보드는 아무것도 놓이지 않은 채로 시작합니다. 이름, 설명, 아이콘, 그 밖에 대시보드가 지니는 모든 것은 편집기가 바꿉니다(대시보드 설정 참고). Process 페이지에는 그것을 위한 입력란이 없습니다.
대시보드의 페이지
대시보드를 고르면 내용 패널에서 가장자리까지 꽉 차게, 앞을 가리는 것 없이 돌아갑니다. 이것이 정의 자체이며, 다른 모든 대시보드가 그려지는 것과 같은 캔버스 위에 그려집니다. 여기에서는 어떤 유닛도 이름으로 불리지 않으므로, 모델의 채널 하나에 이어 둔 구성 요소는 자기 배치만 그리고 값은 읽지 않습니다. 그런 바인딩에 대해 편집기의 주소 줄은 없는 포인트를 알리는 대신 "이 모델의 유닛마다 포인트 하나"라고 읽힙니다. 스테이션의 포인트(태그, 변수)에 이어 둔 구성 요소는 평소대로 읽습니다.
비어 있는 대시보드는 빈 띠로 서 있는 대신 그렇다고 말합니다. "이 화면에는 아직 아무것도 없습니다. 편집해 구성 요소를 놓으십시오. 주소 칸이 이 모델의 채널을 내어 주고, 그러면 유닛마다 자기 것을 읽습니다."
고른 대시보드에 대해 상세 막대는 셋을 담습니다. 대시보드 편집, View에 표시 스위치, 그리고 위험 묶음의 대시보드 제거입니다.
대시보드 편집
대시보드 편집은 Process 페이지의 몸통을 애플리케이션의 하나뿐인 대시보드 편집기에 넘기고, 그 편집기를 이 정의 위에 올립니다. 무대와 그 가는 선과 작업 막대가 내용 패널 자리에 들어서고, 편집기의 띠는 편집 마치기("편집을 마치고 이 대시보드를 보는 상태로 돌아갑니다")를 답니다. 누르면 지금 모습 그대로 대시보드를 돌리는 내용 패널에 몸통을 돌려줍니다. 나가면서 확정되는 것은 없습니다. 모든 편집은 하는 그 순간에 저장됩니다. 대시보드 자신의 주소(/d/<id>)는 그것을 들고 오는 사람에게 편집기로 바로 들어가는 링크로 남습니다.
| 상황 | 무엇이 보이는가 |
|---|---|
| 역할에 대시보드 편집이 없음 | 동사가 아예 그려지지 않습니다. 역할이 결코 누를 수 없는 것은 흐려지는 대신 빠집니다. |
| 유닛이 실행을 지니고 있음 | 동사가 "유닛이 실행 중인 동안에는 엔지니어링이 잠깁니다"와 함께 흐려집니다. 편집하는 도중에 잠금이 오면 편집 모드가 끝납니다. 스테이션이 풀린 뒤에 돌아오는 것은 여러분이 다시 누르는 일입니다. |
| 선택이 대시보드에서 벗어나거나 역할이 그 권한을 잃음 | 편집 모드가 같은 방식으로 끝납니다. |
편집기 안에서 대시보드를 지우면 편집기가 닫히고 선택이 모델의 대시보드 폴더에 놓입니다.
바인딩의 유닛 자리 표시자
모델의 대시보드에서는 편집기의 모든 주소 칸이 모델의 채널을 앞세웁니다. 모델의 채널 순서대로 채널마다 한 줄이고, 저마다 "이 채널을, 이 화면을 여는 그 유닛에서"라는 뜻의 주소 Process.<Model>.{unit}.Channels.<Channel>로 적힙니다. 하나를 고르면 채널이 이어지고 유닛은 나중에 답하도록 남습니다. 스테이션 자신의 포인트가 그 줄들 뒤에 옵니다(모델의 대시보드가 주변 환경 태그나 공용 변수를 읽는 것도 정당합니다). 목록은 제안 50개에서 끊기며, 칸에는 자유롭게 입력할 수도 있습니다. 쓰는 칸(단추, 입력)은 역할이 쓸 수 있는 채널만 나열합니다. 유닛에 무엇을 쓸 수 있는지는 채널의 역할이 정하기 때문입니다.
줄은 그 칸이 받는 값의 갈래로 걸러지며, 스테이션 자신의 포인트와 똑같습니다. 그래서 채널이 감춰지는 것은 그 무엇도 담을 수 없을 때뿐입니다.
유닛이 대시보드를 열 때 답해지는 토큰이 셋 있습니다.
| 토큰 | 어디에 쓰는가 | 무엇이 되는가 |
|---|---|---|
{unit} |
주소 안에, 그리고 유닛을 잇는 구성 요소 속성의 값 전체로 씁니다(예를 들어 코멘트 시간선이나 발생 기록 목록의 유닛). | 주소에서는 유닛의 주소 마디가 되고, 유닛을 잇는 속성에서는 유닛의 신원이 됩니다. 보통 글(텍스트, 표제) 안에 쓰면 있는 그대로 남습니다. |
{unit.name} |
아무 글에나 씁니다. 대시보드의 이름과 설명, 구성 요소의 이름이나 표제, 차트 제목이나 계열 이름, 모든 텍스트 속성입니다. | 유닛의 표시 이름이 됩니다. |
{channel.name:<segment>} |
아무 글에나 씁니다. 마디는 채널의 정리된 주소 마디이며, 옆의 주소가 쓰는 것과 같은 키입니다. | 그 유닛에서 채널이 지니는 이름이 됩니다. 모델이 허락하고 유닛이 정했으면 유닛별 별칭, 그 밖에는 채널 자신의 이름입니다. 모델의 어떤 채널도 가리키지 않는 마디는 있는 그대로 남습니다. |
모델 위에서 대시보드를 편집하는 동안, 아직 {unit}을 지닌 주소를 가진 구성 요소는 이어 두지 않은 것으로 다룹니다. 아무것도 그리지 않고 아무 표시도 하지 않습니다. 침묵이 정말로 침묵인 것은 풀린 사본에서뿐이기 때문입니다.
유닛마다 풀린 대시보드를 어떻게 받는가
운전 아래에서 모델의 모든 유닛은 자기 패널 줄 뒤에, 모델의 대시보드마다 한 줄을 지닙니다. 그 줄을 고르면 정의가 이 유닛 자신의 것으로 돌아갑니다.
- 정의가 복사되고 신원이 새로 붙습니다(대시보드와 그 구성 요소와 연결망에 새 신원). 그래서 두 유닛의 사본이 구성 요소 신원을 함께 쓰는 일은 없습니다.
- 모든
{unit}이 이 유닛이 되므로, 주소마다 평범한Process.<Model>.<Unit>.Channels.<Channel>포인트로 나오고 유닛을 잇는 속성마다 이 유닛을 담습니다. 그 뒤의 어떤 것도 정의가 추상이었다는 사실을 알지 못합니다. 구성 요소는 실시간 값을 읽고, 단추와 입력 구성 요소는 쓰며, 이 유닛을 읽는 계열을 가진 선 차트는 그 유닛에서 도는 실행의 판정 띠를 그립니다. 유닛에 이어 둔 다른 어떤 대시보드와도 똑같습니다. {unit.name}과{channel.name:...}은 유닛의 이름과 그 유닛에서 힘을 가진 채널 이름이 됩니다.
그 줄은 View 페이지가 쓰는 무대 막대를 입습니다. 항목 이름 모델 · 유닛 · 대시보드, 대시보드의 아이콘, 확대 보기("창 전체를 씁니다")와 전체 화면("전체 화면(F11)")입니다. 복제도 편집도 없습니다. 유닛의 줄은 대시보드를 보여 줄 뿐 결코 편집하지 않습니다. 비어 있는 대시보드는 유닛의 줄에서 이렇게 말합니다. "이 화면에는 아직 아무것도 없습니다. 화면은 시각화 아래 모델의 대시보드 줄에서 그리며, 거기에 놓은 것이 유닛마다 여기에 나타납니다."
모델에서 저장한 편집은 모든 유닛의 줄에 닿습니다. 그 줄은 모델의 정의를 지니고, 새 사본이 필요할 때마다 그것을 다시 풉니다.
View에 표시
View에 표시는 상세 막대에서 대시보드 편집 옆에 서는 스위치입니다. 지금 상태를 읽고, 도구 설명이 그 상태가 무엇을 하는지 말합니다.
| 상태 | 도구 설명 |
|---|---|
| 켜짐 | "이 모델의 유닛마다 시각화 목록에 이 대시보드의 항목이 놓입니다." |
| 꺼짐 | "이 대시보드는 유닛에서 운전 아래로 엽니다. View 페이지에는 이 대시보드의 어떤 것도 놓이지 않습니다." |
켜면 모델의 유닛마다 항목 하나가 View 페이지의 시각화 열에 놓이며, 이름은 모델 · 유닛 · 대시보드이고 대시보드의 아이콘을 답니다. 항목은 저마다 그 유닛에 대해 풀린 정의이며, 운전 아래 유닛의 줄이 돌리는 것과 같은 화면입니다. 항목은 그 목록의 줄일 뿐 스테이션의 대시보드가 아닙니다. 거기에서 순서를 바꾸거나 편집하거나 복제하지 않습니다(복제는 거부됩니다). 다만 유닛마다의 항목을 View 페이지의 폴더에 따로 넣어 둘 수는 있습니다. 유닛이 없는 모델은 View 페이지에 아무것도 놓지 않습니다. 대시보드는 자기 자격으로 View 페이지에 서면서 동시에 거기에 서 있는 패널의 카드일 수도 있습니다. 둘 다인 것은 흔한 배치입니다. 항목이 어떻게 보이는지는 View의 유닛 패널에 있습니다.
이 스위치는 Process 관리가 없는 역할에게는 그려지지 않습니다. 엔지니어링 잠금과 정지한 런타임 아래에서는 그려진 채로 흐려지며, 둘 가운데 어느 쪽인지 말합니다. 결정은 대시보드 자신과 함께 저장되므로(이름이 쓰는 것과 같은 자동 저장), 거부된 쓰기는 스위치를 되돌려 놓습니다.
패널의 카드로 놓인 대시보드
모델의 패널은 모델의 어떤 대시보드든 자기 카드 하나로 그릴 수 있으며, 높이는 패널에서 고릅니다(120에서 1200 픽셀, 기본 320). 대시보드는 거기에서 켜야만 패널에 들어갑니다. 처음에는 꺼져 있습니다. 패널을 보십시오.
대시보드 제거
대시보드 제거는 대시보드를 고른 상태의 상세 막대 위험 묶음, 트리의 오른쪽 클릭 메뉴, 그리고 폴더 페이지 카드의 가위표에 섭니다. 먼저 묻습니다("대시보드 삭제": 이름, 그다음 "대시보드와 그 위의 모든 것을 지웁니다. 대시보드가 읽던 주소는 Logic에 그대로 남습니다."). 지운 뒤 선택은 모델의 대시보드 폴더에 놓이고, 그 대시보드를 열고 있던 편집기는 닫히며, 그것을 그리던 모든 패널 줄이 그 카드를 버리고, 그 항목이 View 페이지를 떠납니다. Process 관리가 필요하며 엔지니어링 잠금과 정지한 런타임 아래에서는 흐려집니다.
이 페이지가 하지 않는 것
- 대시보드의 내용도, 이름도, 설정도 편집하지 않습니다. 그것은 대시보드 편집이 여는 편집기의 몫입니다.
- 유닛마다의 사본을 만들지 않습니다. 유닛이 보여 주는 것은 하나뿐인 정의에서 그때그때 풀리며, 유닛마다 편집할 것이 없습니다. 스테이션 하나만 다르게 하고 싶다면 그것은 모델의 두 번째 대시보드입니다.
- 대시보드를 View 페이지 자신의 폴더에 넣지 않습니다. 모델의 대시보드는 스테이션의 대시보드 목록에 결코 들어가지 않으며, View 페이지에는 View에 표시로만, 유닛마다 항목 하나로 닿습니다.
- 실행을 시작하거나 이끌지 않습니다. 풀린 대시보드에서 명령 포인트에 이어 둔 단추가 절차 실행 권한 아래에서 그 일을 하며, 다른 어떤 대시보드에서와도 똑같습니다. 실행과 코멘트를 보십시오.