제어 사양서 작성법 — 멈추는 방법과 되돌리는 방법까지 시운전 전에 정해 둔다

마지막 수정: 2026-09-24 / 분류: 제어 설계, PLC

제어 사양서는 프로그램을 쓰기 전에 장치가 멈추는 방법과 되돌리는 방법까지 정하고 관계자와 합의하는 문서입니다. 이상 시의 동작을 고객에게 물어도 "멈춘다"는 답밖에 돌아오지 않는, 장치 메이커의 제어 설계자를 위해 썼습니다.

로봇이 이상으로 멈췄을 때 클램프한 워크는 놓는가. 비상정지를 해제하면 어디서부터 움직이는가. 사양서에 없으면 소프트웨어 담당자가 그 자리에서 정하고, 고객과 기계 설계의 인식 차이는 입회 검사에서야 드러납니다. 예로 드는 것은 컨베이어로 워크를 정위치까지 옮기고, 클램프한 뒤, 로봇이 꺼내는 반송 장치입니다.

1. 장마다 쓰는 형태를 정하고, 문장만으로 된 장을 남기지 않는다

장마다 정할 것과 쓰는 형태를 먼저 정합니다. 문장만으로 쓴 장은 읽는 사람마다 다른 동작을 떠올리기 때문입니다. 장의 이름은 회사마다 다를 것입니다. "쓰는 형태" 열은 그 장을 무엇으로 쓰는가입니다.

장정할 것쓰는 형태합의 상대
범위와 전제자신의 제어가 어디까지인가. 로봇 동작 프로그램, 안전 회로, 상위 생산관리 PC와의 통신은 누가 만드는가. 사이클 타임문장과 표고객·기계 설계
시스템 구성기기와 통신. 선마다의 마스터시스템 구성도 작성법전기 설계·상대 기기 담당
입출력과 번지신호 이름과 PLC 번지. 멈추는 방향의 신호를 정상일 때 ON으로 할 것인가PLC 어드레스 맵 작성법전기 설계
운전 모드와 상태모드 목록과 전환해도 되는 조건. 운전 상태 (운전 중·정지 중 등)의 천이 방식표고객 (조작·보전 담당)
동작공정별 동작과 다음으로 넘어가기 전에 기다리는 조건PLC 제어 플로차트 작성법기계 설계
상대 기기와의 신호주고받는 순서와 대기 시간의 상한. 상대가 멈췄을 때 신호가 어떻게 되는가타이밍 차트 작성법상대 기기 담당
정지와 이상정지의 종류. 이상별 멈추는 방법과 멈추지 않는 것, 복귀 절차이상 목록 표고객·안전 담당
수동 조작수동에서도 유효한 인터록조건 표기계 설계·고객
화면과 조작반화면 목록과 이상 알림 방법 (램프·부저·화면)화면 목록고객
변경 기록판과 바뀐 곳의 이유. 아직 정해지지 않은 사항과 그 담당표전원

구성·입출력·동작·상대 기기와의 신호 장은 그림으로 만들면 어긋남이 보입니다. 쓰는 방법은 표에서 링크한 가이드대로입니다. 문장 한마디로 끝나기 쉬운 것은 모드·정지와 이상·수동 조작 장일 것입니다. 아래 2는 거기서 정할 것입니다.

2. 모드·정지·복귀·수동은 이름을 붙여 표로 정한다

  1. 자신의 제어 범위를 처음에 선으로 긋는다 로봇 동작 프로그램은 로봇 담당자가 만들고, 동력을 끊는 것은 안전 회로입니다. PLC는 안전 회로의 상태를 읽고 뒤처리와 복귀 절차를 맡습니다 (비상정지 복귀 플로차트 (샘플)). 범위 밖은 내용을 쓰지 않고, "누가 정하는가"와 경계에서 주고받는 신호만 씁니다.
  2. 운전 모드와 상태를 별도의 표로 만든다 모드는 누가 무엇을 움직일 수 있는가의 구분이고, 상태는 장치 전체의 운전 상태입니다. 같은 목록에 나열하면 자동 모드에서 이상 정지 중일 때 무엇을 조작해도 되는지가 정해지지 않습니다. 모드 전환은 상태를 조건으로 쓰고, 자동에서 수동으로는 기동 대기 또는 이상 정지 중일 때만으로 합니다.
  3. 정지의 종류를 정하고 이름을 붙인다 고객의 "멈춘다"에는 여러 가지 멈추는 방법이 있습니다. 구분 지점에서 멈추는 사이클 정지, 그 자리에서 멈추고 이어가는 일시 정지, 리셋을 기다리는 이상 정지, 동력을 끊는 비상정지입니다. 비상정지를 즉시 동력을 끊는 정지 카테고리 0으로 할지, 감속한 뒤 끊는 1로 할지는 안전 담당자와 정합니다.
  4. 시간 초과 이상은 플로차트의 "대기"에서 뽑는다 대기마다 초 수를 정하면 시간 초과는 동작과 1 대 1입니다. 사람을 기다리는 곳과 상류에서 워크가 오지 않을 뿐인 곳에는 상한을 두지 않습니다. 서보 알람이나 에어 압력처럼 어느 공정에서든 일어나는 이상은 대기와 별도로 기기마다 뽑습니다.
  5. 복귀는 원인 제거·리셋·기동의 세 가지로 나눈다 리셋으로 기계가 움직이기 시작해서는 안 됩니다. 리셋은 표시를 지우고 기동을 받아들이는 것만으로 하고, 도중의 워크는 제거한 뒤 원점 복귀 플로차트 (샘플)입니다. 이어서 움직이는 것은 위치마다 "있음·없음"이 한 가지로 정해지는 이상 (예의 E01·E02)만으로 합니다.
  6. 상대 기기의 신호가 이상과 전원 차단 시에 어떻게 되는지를 쓴다 멈추는 방향의 신호는 "정상"을 ON으로 받습니다. "이상"을 ON으로 받으면 전원 차단이나 단선을 "이상 없음"으로 읽어 버리기 때문입니다. 주고받는 순서와 대기 시간의 상한은 타이밍 차트 작성법로 상대와 합의합니다 (핸드셰이크 타이밍 차트 (샘플)의 4장).
  7. 수동으로 움직여도 되는 조건을 표로 만든다 수동에서도 유효한 인터록과 수동에서는 해제하는 조건을 나누어 씁니다. 이상 복귀에 쓰므로, 로봇이 간섭 범위에 있는 동안 클램프를 개폐하지 않는다는 수동에서도 유효하게 합니다. 화면에서 해제할 수 있는 것은 PLC 기능을 위한 것뿐이고, 사람을 지키는 도어나 비상정지는 안전 회로에 넣어 해제할 수 없게 합니다.

3. 예: 반송 장치의 이상 목록에는 멈추지 않는 것까지 쓴다

이상 목록의 한 행에는 검출 조건·멈추는 방법·멈추지 않는 것·복귀 절차를 씁니다. 예의 반송 장치는 다음 순서로 움직입니다.

로봇은 이 장치 전용이며, 취출 요구를 받으면 바로 가지러 오는 것을 전제로 합니다. 검출 조건의 초 수는 동작 시간에 여유를 더해 정했습니다. 컨베이어 반송은 5초 전후, 클램프 개폐는 0.5초 전후, 로봇 취출은 5초 전후입니다. 표는 이상 목록의 일부입니다.

이상검출 조건멈추는 방법복귀 절차
E01 워크 미도착컨베이어 기동 후 8초가 지나도 정위치 센서가 ON 되지 않음이상 정지. 컨베이어는 그 자리에서 멈춤컨베이어 위의 워크를 확인하고 걸림을 제거 → 리셋 → 기동 (반송부터 다시 시작)
E02 클램프 닫힘 불량클램프 닫힘 지령 후 1.5초가 지나도 닫힘단 센서가 ON 되지 않음이상 정지. 클램프 지령은 바꾸지 않음워크 방향을 확인 → 수동으로 클램프를 개폐해 닫힘단을 확인 → 리셋 → 기동 (클램프부터 다시 시작)
E03 로봇 취출 미완료취출 요구 ON 후 10초가 지나도 취출 완료가 오지 않음이상 정지. 취출 요구는 낸 채로 둠. 클램프 지령은 바꾸지 않음로봇 측 이상을 확인 → 핸드가 워크를 잡고 있고 클램프가 닫혀 있으면 핸드를 엶 → 대피 위치로 되돌림.
지그나 핸드에 남은 워크를 제거 → 취출 요구를 끊음 → 리셋 → 원점 복귀 → 기동
E04 컨베이어 축 서보 이상서보 앰프의 고장 출력 (정상 시 ON)이 OFF 됨이상 정지. 서보 OFF원인 제거 → 서보 알람 해제 → 리셋 → 원점 복귀 → 기동
E05 비상정지안전 릴레이 모니터 (정상 시 ON)가 OFF 됨비상정지 (안전 회로가 동력을 끊음. PLC는 동작 출력과 자기유지를 끊음)비상정지 해제 → 리셋 → 원점 복귀 → 기동

E02와 E03의 "멈추는 방법"에는 멈추지 않는 것도 적었습니다. E02에서 클램프를 열면 워크가 어디에 걸렸는지 보이지 않게 되기 때문입니다. E03의 취출 요구를 남길지 내릴지는 내렸을 때 로봇이 어떻게 움직이는가와 한 쌍이므로 로봇 담당자와 정합니다. 주고받는 도중에 멈추면 로봇이 안에 있는 동안 클램프를 개폐하지 않으므로 (위 2의 7), 여는 것은 핸드입니다.

이상의 이름은 화면 문구와 프로그램 코멘트에도 그대로 씁니다. 입회 검사에서 "화면의 '워크 미착'과 사양서의 '워크 미도착'은 같은 것인가"라는 질문을 받지 않기 위해서입니다.

4. 구성부터 쓰기 시작하고, 수동 조작 조건은 이상 목록 뒤에 쓴다

  1. 범위와 시스템 구성 자신의 제어 범위를 정하고, 기기와 통신을 시스템 구성도 작성법로 만듭니다.
  2. 입출력과 번지 구성도의 기기마다 신호와 번지를 PLC 어드레스 맵 작성법에 할당합니다. 멈추는 방향의 신호는 정상일 때 ON이 되는 방향으로 받습니다. 비상정지는 안전 릴레이 모니터와 버튼의 모니터용 접점 (b 접점)을 받고, 멈추는 접점 자체는 안전 회로에 넣습니다.
  3. 정상 동작과 상대와의 주고받기 공정의 흐름을 PLC 제어 플로차트 작성법로, 상대 기기와의 순서를 타이밍 차트로 만드는 단계입니다.
  4. 정지의 종류와 운전 상태에 이름을 붙인다 이상 목록의 "멈추는 방법" 열은 이 이름으로 채우기 위해서입니다.
  5. 플로차트의 대기에서 이상 목록을 만든다 대기마다 초 수·멈추는 방법·멈추지 않는 것·복귀 절차를 정합니다. 어느 공정에서든 일어나는 이상은 기기마다 더합니다.
  6. 모드 전환과 수동 조작 조건 이상 목록 뒤에 쓰면 조건이 빠지기 어렵습니다. 이상 복귀에 수동 조작을 쓰기 때문입니다.
  7. 함께 읽기와 미결 사항 목록 장 구성 표의 "합의 상대"를 모아 함께 읽습니다. 그 자리에서 정해지지 않은 사항은 담당과 기한을 붙여 목록에 남겨 둡니다.

5. 전원 투입 직후·버튼 누르는 방법·워크 배출 방법·기록이 빠지기 쉽다

6. 이상 목록의 한 행을 그대로 입회 검사의 시험 항목으로 만든다

이상 목록의 한 행은 그대로 입회 검사의 시험 항목 하나가 됩니다. E01이라면 정위치 바로 앞에서 워크를 손으로 눌러 확인합니다. 8초에 컨베이어가 멈추는가, 화면에 "워크 미도착"이 나오는가, 적은 절차로 되돌릴 수 있는가. 행에 번호를 붙여 시험 기록에도 쓰고, 합격 기준도 사양서에 써 두지 않으면 표시 문구가 다르다고 할 때 다툼이 생깁니다.

입회 검사에서 구두로 정한 변경도 사양서의 판을 올리고 변경 기록에 이유를 써 두는 곳입니다. 남기지 않으면 나중에 말했다 안 했다가 되고, 추가 비용 이야기가 꼬입니다.

장별 그림을 만드는 도구

제어 사양서의 그림 장은 이 사이트의 에디터로 그리고 SVG나 Markdown으로 내보내 사양서에 붙일 수 있습니다. 4개 에디터는 같은 형식의 JSON을 읽고 씁니다.

  • System Diagram Editor — 시스템 구성 장. 기기와 통신, 선마다의 마스터를 그립니다.
  • Address Map Editor — 입출력과 번지 장. 구성도의 기기마다 신호와 PLC 번지를 할당합니다.
  • Timing Chart Editor — 상대 기기와의 신호 장. 주고받는 순서와 어느 신호가 어느 신호를 일으키는지를 그립니다.
  • Flowchart Editor — 동작 장. 공정의 흐름과 대기를 그립니다. 시간 초과 이상은 여기서 그린 대기에서 뽑습니다.

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

관련 글

yk.builds