draw.io로 타이밍 차트 만들기 — 점과 선으로 그리는 절차와, Step을 더하면 무너지는 곳

마지막 수정: 2026-09-24 / 분류: 타이밍 차트, 방법 비교

draw.io의 타이밍 차트는 점과 선으로 그리는 것보다 에디터로 그려서 붙이는 쪽이 Step을 더해도 무너지지 않습니다. 시스템 구성도를 draw.io로 그리고 있어 차트도 같은 파일에 두고 싶은 분을 위해 썼습니다.

PLC와 로봇의 워크 취출 타이밍 차트. nWorkNo (워크 번호)는 Step 1부터 7까지 12. bPickReq (취출 요구)는 Step 2부터 6까지 ON, bRobBusy (로봇 동작 중)는 Step 3부터 5까지 ON, bPickDone (취출 완료)은 Step 6부터 7까지 ON. 화살표는 워크 번호 12 → 취출 요구 ON, 취출 요구 ON → 로봇 동작 중 ON, 취출 완료 ON → 취출 요구 OFF, 취출 요구 OFF → 취출 완료 OFF.
PLC와 로봇의 워크 취출을 Timing Chart Editor로 그려 SVG로 내보낸 그림. 로봇은 취출 요구의 ON을 보고 워크 번호를 읽으므로, 번호는 1 Step 먼저 확정시켰습니다. 세로의 옅은 선은 5 Step마다. 내보내기 형식으로 Draw.io를 선택해 붙여도 파형과 화살표의 배열은 같습니다 (값이 없는 구간의 점선은 들어가지 않음). 스마트폰에서는 그림을 옆으로 스크롤하거나 눌러서 엽니다.

1. 점과 선으로 그린다면 모눈을 Step 폭으로 정한 뒤 점을 놓는다

draw.io로 타이밍 차트를 그린다면 점과 선과 사각형의 조합이 됩니다. draw.io (diagrams.net)에는 템플릿도, 신호를 나열해 그리기 위한 부품도 없기 때문입니다. 공식 UML 타이밍 다이어그램 절차도 작은 점과 선과 사각형을 조합해 그리는 방식입니다.

  1. 모눈을 Step 폭으로 정한다 모눈은 기본값이 10이므로 1 Step을 모눈 4칸 (40)으로 정합니다. 도형도 선의 꺾임점도 모눈에 달라붙으므로 위아래 신호의 변화 지점이 맞춰집니다. 변화 지점을 옮길 때는 모눈에서 벗어나므로 Alt를 누르지 않습니다.
  2. BOOL 신호는 점을 놓고 선으로 잇는다 변화 지점마다 작은 점 (웨이포인트)을 놓고 화살촉 없는 직선으로 잇습니다. 선 하나에 꺾임점을 더해 그려도 겉보기는 같습니다. 다만 Step을 더했을 때 오른쪽 꺾임점이 따라오지 않으므로 (2장), 점을 일일이 놓습니다.
  3. 수치나 상태는 육각형을 맞댄다 워크 번호 같은 수치는 "12"라고 쓴 육각형입니다. 값이 바뀌는 곳에서 옆 육각형과 끝을 맞댑니다. 뾰족한 끝끼리 맞닿아 변화 지점이 교차 (><)로 보입니다.
  4. 인과 관계는 점에서 점으로 화살표로 잇는다 취출 요구가 ON 되는 점에서 로봇 동작 중이 ON 되는 점으로. 점 위에 나오는 파란 화살표에서 드래그해 다음 점에서 놓으면 선이 점에 연결됩니다. 점에 연결한 화살표는 점을 옮기면 따라옵니다.

2. 수정과 내보내기에서 곤란하다. 더한 Step에 꺾임점은 따라오지 않는다

draw.io의 그림은 점의 위치만 가지고 있고, Step이나 신호의 관계를 모릅니다. "취출 완료를 1 Step 늦춰 줘"라는 말을 들을 때마다 점이나 꺾임점을 하나씩 다시 옮기게 됩니다.

3. 수정이 많은 차트는 에디터로 그려서 draw.io에 붙인다

그런 차트는 Timing Chart Editor로 그려서 draw.io에 붙입니다. 내보내기는 일방통행이며, draw.io에서 고친 그림은 에디터로 읽어 들일 수 없습니다. draw.io 쪽에서 하는 것은 주석이나 테두리를 덧붙이는 것뿐입니다. 위 그림과 같은 차트를 연 에디터 (새 탭에서 열립니다)에서 아래 절차 2~4를 그대로 시험해 볼 수 있습니다.

  1. 신호를 나열한다 할당이 끝났다면 nWorkNo나 bPickReq는 Address Map Editor에서 보냅니다. 쓰는 것은 그쪽의 "타이밍 차트로 →". 할당이 아직이라면 왼쪽 변수 리스트의 "가져오기…"에 신호 목록을 붙여 넣습니다.
  2. 파형을 칠하고 화살표를 긋는다 BOOL 행은 가로 드래그로 ON을 칠하고, 수치 행은 더블클릭으로 값을 쓰기만 하면 됩니다. 화살표는 툴바의 "화살표"를 누르고, 워크 번호가 나온 변화 지점에서 취출 요구가 ON 되는 변화 지점으로 드래그합니다. 화살표는 Step 번호로 기억하므로, Step을 삽입하면 뒤의 파형과 화살표가 함께 밀리는 구조입니다.
  3. draw.io에 붙인다 내보내기에서 Draw.io를 선택해 복사하고, 새 페이지에 Ctrl+V로 붙이기만 하면 됩니다. XML 문자가 그대로 붙여졌을 때는 그것을 지우고 [기타] → [다이어그램 편집…]을 엽니다. 칸의 내용을 Ctrl+A로 선택한 뒤 붙여 넣고 [적용]을 누릅니다.
  4. 붙인 그림을 그룹으로 만들고 주석을 더한다 붙인 직후 Ctrl+G로 그룹으로 만들어 두면 교체는 지우기만 하면 됩니다. 붙여지는 도형은 모눈 (10)에 올라가 있으므로, 주석 글자나 테두리는 모눈에 달라붙게 놓으면 변화 지점과 맞춰집니다. 파형과 화살표는 연결되어 있지 않으므로, draw.io 안에서 변화 지점을 옮기면 화살표는 그 자리에 남은 채입니다.

4. draw.io 위에서 고쳐진 그림은 JSON에 같은 수정을 넣고 다시 내보낸다

draw.io 위에서 고쳐진 파형은 에디터의 JSON에 같은 수정을 넣은 뒤 교체합니다. 로봇 측 담당자에게 .drawio를 넘기면 파형을 draw.io 위에서 고쳐 돌려주는 일이 있습니다. 그 수정은 JSON에 없으므로 다음에 내보낸 그림으로 교체하면 사라지기 때문입니다. JSON은 Ctrl+S로 저장하고, .drawio와 같은 이름으로 나란히 둡니다 (JSON 데이터 구조 사양).

이 글의 그림을 만든 도구

이 글의 그림은 Timing Chart Editor로 그려 SVG로 내보낸 것입니다.

  • Timing Chart Editor — 신호를 나열해 ON 구간을 칠하고 인과 관계 화살표를 긋습니다. 내보내기 형식으로 Draw.io를 선택하면 draw.io에 붙일 수 있는 그림이 됩니다.

설치도 등록도 필요 없이 브라우저만으로 쓸 수 있습니다.

관련 글

yk.builds