지멘스 CNC MD20112 프로그램 시작 기본 설정 가이드
지멘스 CNC에서 MD20112 프로그램 시작 마스크 파라미터를 올바르게 설정하여 공구 충돌을 방지하십시오. Alarm 10870 및 Alarm 14710 해결법과 비가동 시간 감소 방안을 제시합니다.
서론
CNC 장비가 기동하며 활성 물리 세팅과 일치하지 않는 기본 제로 오프셋(zero offset)이나 레거시 공구 길이를 자동으로 로드하면 제어기가 공간 좌표계를 완전히 상실하게 된다. 이로 인해 주축(spindle)이 공작물을 고정하는 바이스 조(vise jaw)를 강타하거나, 리지드 chuck과 충돌하거나, 고정용 clamp를 타격하거나, 혹은 multi-channel 가공 중에 double turret의 반대편 기계 구조물과 충돌하는 하드 충돌 사고가 초래될 수 있다. 이 파라미터를 검증하지 않고 양산에 들어가면, 팔레트 교환 후 두 번째 사이클부터 치수 편차가 누적되어 최종 검사에서 불량이 발견된다. MD20112번 파라미터를 사전 확인하면 이 명령어에서 가장 빈번한 비계획 정지를 없낼 수 있다. 자동화 라인에서 반복 가공의 정밀도를 유지하고 예상치 못한 비가동 시간과 생산 불량률을 사전에 예방하기 위해서는 프로그램 기동 시 초기 데이터 로드 규칙을 관리하는 기계 파라미터를 올바르게 구성해야 한다.
기술 요약
| 항목 | 사양 |
|---|---|
| 명령어 코드 | MD20112 $MC_START_MODE_MASK |
| Modal Group / 타입 | Channel-specific machine data parameter (UDWORD) |
| 브랜드 | Siemens |
| 주요 파라미터 | MD20112 $MC_START_MODE_MASK, Bits 4...18 |
| 주요 제한 사항 | 공구 길이(tool length) 또는 프레임(frame)이 start 시 자동으로 적용되는 경우, 초기 이동은 반드시 absolute coordinates (G90)로 프로그래밍되어야 합니다. start mask reset positions를 통해 G96 constant cutting velocity가 활성화되는 경우, transverse geometry axis가 MD20100 $MC_DIAMETER_AX_DEF를 통해 사전 정의되어야 합니다. |
핵심 요약
- Start Mask 값 설정: 프로그램 start 시 G-code group, tool offset, kinematic transformation을 정의하려면 channel-specific machine data인
MD20112 $MC_START_MODE_MASK값을0에서0x7FFFF사이로 설정하십시오. - 비트 범위 구성: 비트 4부터 17까지를 전환하여 part program이 시작될 때 해당 기능이 reset position(
0)을 채택할지 또는 현재 상태(1)를 유지할지 결정하십시오. - Absolute 이동 강제:
MD20112가 tool offset 또는 work offset을 자동으로 활성화하도록 구성된 경우, part program의 첫 번째 이동 block에G90명령을 반드시 프로그래밍하십시오. - Transverse Axis 정의: startup 시 constant cutting speed(
G96/G961/G962)가 활성화되는 경우, Alarm 10870 발생을 방지하기 위해 machine dataMD20100 $MC_DIAMETER_AX_DEF에 transverse axis를 매핑하십시오. - 버전 데이터 타입 검증: 파라미터
MD20112에 값을 쓸 때 시스템이DWORD(이전 버전) 또는UDWORD(최신 SINUMERIK ONE 및 828D)를 사용하는지 확인하십시오. - Start 및 Reset 분리:
MD20110 $MC_RESET_MODE_MASK을 통해 reset state 설정을 별도로 유지하여 정지 중에는 수동 JOG 값을 유지하고, 새 cycle start 시에는 이를 플러시하도록 하십시오.
기본 개념
프로그램 start 시의 기계 초기화 설정은 cycle start 즉시 적용되는 활성 평면, work offset, kinematic transformation을 포함한 기준 상태를 규정합니다. Siemens SINUMERIK 제어기에서는 프로그램 start 동작이 channel-specific parameter인 MD20112 $MC_START_MODE_MASK를 통해 관리됩니다. 이 파라미터는 bitmask로 작동하며, part program이 시작될 때마다 평가되어 초기 제어 설정을 수립합니다.
올바른 구성을 위해서는 machine data 구조를 이해하는 것이 필수적이며, 이에 대한 자세한 내용은 MD Machine Data Structure에서 확인할 수 있습니다. 특정 비트를 설정함으로써 제어기가 기본 reset 상태를 채택하거나 수동 JOG 모드의 설정을 그대로 이어받도록 구성할 수 있습니다. 예를 들어 비트 4부터 17은 특정 G-code group 및 공구 길이 보정(tool length compensation)이 현재 설정을 유지할지 또는 사전 정의된 reset 구성으로 복귀할지를 정의합니다.
또한 제어기는 SD Setting Data Structure에 설명된 대로 machine data와 함께 연동되는 setting data도 지원합니다. reset 및 start 시퀀스 중에 시스템은 MD20112 및 기타 reset 레지스터의 결합된 상태를 평가합니다. 이 값들이 잘못 관리되면 기계가 기준 좌표계를 상실하여 offset이 잘못 적용되는 원인이 됩니다.
명령 구조
파라미터 MD20112 $MC_START_MODE_MASK는 channel-specific machine data 설정입니다. 이는 part program이 시작될 때마다 평가되어 기준 좌표계 및 기구학 구성을 수립합니다.
이 설정은 16진수 bitmask로 정의됩니다. 값 범위는 0에서 0x7FFFF이며, 일반적인 공장 초기값은 0x400입니다.
구문
; 채널 데이터 선택 CHANDATA(1)
; Start mode mask를 16진수 400으로 설정 $MC_START_MODE_MASK = 'H400'
파라미터
| 파라미터 / 비트 | 설명 | 값 범위 |
|---|---|---|
MD20112 $MC_START_MODE_MASK | 프로그램 start 시 제어기의 초기 설정을 정의합니다. | 0 ~ 0x7FFFF (16진수) |
Bits 4...18 | 비트 4-17은 기능에 대한 reset position 채택 또는 현재 설정 유지 여부를 정의하고, 비트 18은 constant cutting speed에 대한 기준 축 유지 여부를 정의하는 bitmask입니다. | 0 (reset position 채택) 또는 1 (현재 설정 유지) |
브랜드별 응용
Siemens
Siemens Program Start Default Setting(MD20112 $MC_START_MODE_MASK)의 실무적인 프로그래밍 효과는 작업자가 Cycle Start를 누르는 정확한 그 순간에 기계의 절대적인 기구학적 기초를 지정하는 기능입니다. 이 bitmask를 구성함으로써 프로그래머는 제어기가 이전의 수동 JOG 상태로부터 활성 frame, 활성 공구 길이 보정(tool length compensation) 및 G-code group을 깨끗하게 상속받거나 엄격한 기준 초기화를 강제하도록 명령할 수 있습니다. MD20112가 공구 길이 보정 또는 설정 가능한 work offset(예: G54)을 자동으로 활성화하도록 파라미터화된 경우, 프로그래머와 작업자는 part program의 첫 번째 이동 block을 매우 주의 깊게 모니터링해야 합니다. 안전한 가동을 위해서는 물리적 축의 첫 번째 프로그래밍이 반드시 absolute coordinates(G90)를 사용해야 합니다. 만약 start mask에 의해 예기치 않은 공구 길이 또는 frame offset이 갑자기 적용된 상태에서 증분 이동(incremental move)이 프로그래밍되면, 공구는 공작물 원점이 아닌 이전 offset 상태에 기초하여 예측 불가능하게 plunge하여 충돌할 수 있습니다.
Siemens는 다른 제어 시스템과 확연히 구분되는 프로그램 start 구성에 관한 몇 가지 고유한 동작을 나타냅니다. 첫째, Siemens는 "Reset" 상태와 "Start" 상태를 엄격하게 분리합니다. 하나의 단일 글로벌 초기화 파라미터를 강제하는 대신, Siemens는 프로그램이 중단될 때 어떤 일이 일어나는지 정의하기 위해 MD20110($MC_RESET_MODE_MASK)을 사용하고, cycle이 실제로 개시될 때 어떤 일이 일어나는지 정의하기 위해 독립적으로 MD20112($MC_START_MODE_MASK)를 사용하여 기계가 정지 중에는 수동 측정 데이터를 안전하게 보존하고 새 start 시에는 이를 깨끗이 제거할 수 있게 합니다.
둘째, Siemens는 SERUPRO(Search Run via Program Test) 기능만을 위한 전용 평행 start mask를 제공합니다. MD22620($MC_START_MODE_MASK_PRT)을 활용함으로써 개발자는 block search 과정 중에서 표준 설정을 완전히 바이패스하도록 제어기에 명령할 수 있으며, 이를 통해 실제 가공 offset을 트리거하지 않고도 기계가 윤곽선에 안전하게 접근할 수 있도록 보장합니다.
셋째, Siemens는 선제적인 초기화 오류 검사 기능을 내장하고 있습니다. 만약 start mask가 유효하지 않은 기구학적 상태(예: transverse axis가 정의되지 않은 상태에서 constant surface speed 구동)를 로드하려고 시도하면, 제어기는 물리적인 기계 이동이 발생하기 전에 기동을 능동적으로 차단하고 초기화 alarm을 발생시켜 충돌을 예방합니다.
브랜드 비교
| 시스템 시리즈 / 모드 | 데이터 분류 | Reset & Start 동작 |
|---|---|---|
| 최신 SINUMERIK ONE / 828D (소프트웨어 버전 >= 5) | UDWORD (Unsigned Double Word) | G-code reset 동작은 start mask MD20112와 함께 연동되는 MD20152 $MC_GCODE_RESET_MODE를 통해 관리됩니다. |
| 기존 SINUMERIK 840D / 810D (소프트웨어 버전 < 5) | DWORD (Double Word) | G-code reset 동작은 평행 MD20152 파라미터 없이 오직 MD20110 $MC_RESET_MODE_MASK에만 의존합니다. |
| SERUPRO Block Search 모드 (모든 시스템) | UDWORD / DWORD (시스템 기본값과 일치) | MD22621을 통해 활성화되는 전용 평행 start mask MD22620 $MC_START_MODE_MASK_PRT를 사용하여 일반 프로그램 start 설정을 바이패스합니다. |
기술 분석
Siemens SINUMERIK 제어기에서 reset 및 start 상태의 분리는 기본적인 아키텍처 상의 선택입니다. 단일 글로벌 reset 상태를 사용하는 다른 제어기와 달리, Siemens는 시스템의 종료와 기동을 독립적으로 관리합니다. 프로그램이 중단되면 제어기는 수동 jog 측정값이나 활성 offset frame을 유지하도록 구성될 수 있는 MD20110 $MC_RESET_MODE_MASK를 평가합니다. 그러나 다음 cycle start 시에는 MD20112 $MC_START_MODE_MASK가 평가되어 시스템이 일시적인 offset 데이터를 플러시하고 깨끗한 기구학적 상태로 초기화할 수 있도록 합니다.
버전 간 차이점 또한 G-code 상태가 reset되는 방식에 영향을 미칩니다. 이전 시스템(소프트웨어 버전 4 이하)에서는 reset 상태가 전적으로 MD20110에 의해 제어됩니다. 버전 5 이상에서는 G-code group reset 동작을 별도로 처리하기 위해 MD20152 $MC_GCODE_RESET_MODE 파라미터가 도입되었습니다. 이는 프로그램 start mask와 함께 작동하여 start 설정이 reset 중에 지워지거나 변경된 상태를 상속받으려고 시도할 때 발생하는 충돌을 방지합니다.
SERUPRO 기능을 위한 평행 start mask의 도입은 프로그램 테스트 또는 block search 중의 충돌 위험을 해결합니다. MD22620 $MC_START_MODE_MASK_PRT(MD22621 $MC_ENABLE_START_MODE_MASK_PRT를 통해 활성화됨)를 사용함으로써 제어기는 검색 실행 중에 전용 초기화 파라미터 세트를 적용합니다. 이를 통해 표준 가공 offset이 로드되어 공구가 안전한 검색 경로를 이탈하는 현상을 미연에 방지할 수 있습니다.
프로그램 예제
다음 예제는 Siemens 제어기에서 프로그램 start 기본 설정을 위한 channel-specific machine data 파라미터를 설정하는 방법을 보여줍니다. 채널의 특정 기구학적 구성을 재설정할 때 part program에서 이 값들을 직접 설정하는 경우가 많습니다. 축 속성 구성에 대한 자세한 내용은 MD10000 Siemens Axis Names를 참조하십시오.
1. 설정을 초기화하기 위한 Start Mode Mask 구성
이 코드는 활성 채널을 선택하고 start mode mask를 재설정합니다. 이 구성은 프로그램 start 시 공구 또는 frame offset의 자동 활성화를 비활성화하여 작업자가 이를 명시적으로 프로그래밍하도록 강제합니다.
; 채널 1 데이터 영역 선택
CHANDATA(1)
; Start mode mask를 0으로 초기화 (기본 reset position 채택)
$MC_START_MODE_MASK = 0
2. 설정을 유지하기 위한 Start Mode Mask 구성
이 코드는 활성 채널을 선택하고 start mode mask를 일반적인 16진수 값인 400으로 설정하여 cycle start 시 특정 활성 frame 및 G-code 상태가 유지되도록 합니다.
; 채널 1 데이터 영역 선택
CHANDATA(1)
; Start mode mask를 16진수 400으로 설정
$MC_START_MODE_MASK = 'H400'
공운전 (dry run) 검증 절차
start mask 기본 설정에 의존하는 새 part program을 가동하기 전에 공운전을 수행하면 offset이 올바르게 적용되고 예기치 않은 동작이 발생하지 않음을 보장할 수 있습니다. 다음 단계를 수행하십시오:
- 기계 상태 확인: 공작물 클램핑 영역을 수동으로 정리하여 바이스 조(vise jaw), chuck 또는 clamp와 충돌이 없는지 확인하십시오.
- MDA 모드 로드: 제어기 모드를 수동 데이터 입력(MDA) 모드로 전환합니다.
- 구성 코드 입력:
CHANDATA(1)및$MC_START_MODE_MASK = 'H400'명령을 입력합니다. - 블록 실행: Cycle Start를 누릅니다. 제어기는 물리적인 축 이동 없이 채널 파라미터를 업데이트합니다.
- JOG로 전환: HMI 상태 화면에서 활성 tool offset 및 좌표계 frame이 예상된 reset position과 일치하는지 검증하십시오.
오류 분석
| 브랜드 및 알람 코드 | 발생 조건 | 작업자 관찰 증상 | 원인 및 조치 방법 |
|---|---|---|---|
| Siemens Alarm 14710 Initialization sequence error | part program start 후 생성된 초기화 block에 MD20112 설정에 따른 잘못된 machine data 구성이 포함되어 있습니다. | Cycle Start 즉시 프로그램 실행이 중단되며 화면에 초기화 오류 메시지가 표시됩니다. | start mask가 유효하지 않은 기구학 구성을 로드하려고 시도했습니다. start mask와 일치하는 machine data 설정이 유효한지 확인하거나, MD20112 $MC_START_MODE_MASK가 기본 reset position을 채택하도록 구성하십시오. |
| Siemens Alarm 10870 Facing axis not defined | power-up 또는 part program start 후의 기본 위치에서 constant cutting speed(G96/G961/G962)가 활성화되었으나, transverse axis가 정의되지 않았습니다. | NC Start가 차단되고 기계가 이동을 거부하며 facing axis 알람 코드가 표시됩니다. | transverse geometry axis가 누락되었습니다. 파라미터 MD20100 $MC_DIAMETER_AX_DEF에 transverse axis를 정의하거나, MD20112의 start 설정을 수정하여 startup 시 G96이 활성화되지 않도록 하십시오. |
| Siemens Alarm 14710 (기구학 옵션) Initialization sequence error | start mask가 채널에 유효하지 않은 활성 frame 또는 기구학적 변환을 로드하려고 시도합니다. | 공간적 좌표계 상실(loss of dimensioning)이 선제적으로 차단되며, 제어기는 물리적 이동 전에 프로그램 초기화를 중단합니다. | start mask의 구성 오류입니다. 잘못된 frame이 로드되는 것을 방지하기 위해 MD20112 $MC_START_MODE_MASK를 0으로 변경하거나 채널 기구학을 확인하십시오. |
실무 응용 가이드
기계 파라미터 MD20112 $MC_START_MODE_MASK를 잘못 구성하여 활성 가공 환경에 맞지 않는 레거시 공구 길이 또는 제로 오프셋(zero offset)이 프로그램 기동 시 자동으로 로드되면, 제어기가 물리적 기준 위치를 인식하지 못하고 오작동하는 하드 충돌이 발생한다. 이로 인해 주축(spindle)이 고정 장치인 vise jaw를 강타하고, 회전하는 chuck에 추돌하거나, 중량 clamp를 타격하여 turret 구동계를 완전히 파손시키는 등 수천만 원 상당의 하드웨어 손상과 생산 라인의 장기 비가동 시간 증가로 직결된다. 이 파라미터를 검증하지 않고 양산에 들어가면, 팔레트 교환 후 두 번째 사이클부터 치수 편차가 누적되어 최종 검사에서 불량이 발견된다. 특히 MD20112를 통한 자동 오프셋 활성화를 수행할 때 첫 번째 이송 지령을 absolute coordinates(G90)가 아닌 증분(G91) 명령으로 입력하면, 누적된 오프셋 차이로 인해 예상 범위를 벗어난 곳으로 급속 이송하여 공작물을 파괴하고 가공 불량률을 급증시킨다. 따라서 constant cutting speed(G96)가 프로그램 시작 시 로드되는 공정에서는 MD20100 $MC_DIAMETER_AX_DEF에 transverse axis를 선제 정의하여 Alarm 10870으로 인한 NC 기동 정지를 방지해야 하며, MD20110 $MC_RESET_MODE_MASK 및 MD22620 $MC_START_MODE_MASK_PRT의 유효성을 사전에 체크하여 비계획적인 가동 중단을 사전에 제거해야 한다.
관련 명령 구조
- MD20110 $MC_RESET_MODE_MASK: 시스템 구동 후 또는 프로그램 Reset/End 시 기본 제어 설정을 정의하며, start mask 설정과 연동하여 작동합니다.
- MD22620 $MC_START_MODE_MASK_PRT: 표준 start 설정을 우회하기 위해 SERUPRO block search 중에 사용되는 start 설정을 정의합니다.
- MD22621 $MC_ENABLE_START_MODE_MASK_PRT: 평행 SERUPRO start mask를 활성화하거나 비활성화하는 Boolean 스위치 역할을 합니다.
- MD20152 $MC_GCODE_RESET_MODE: 소프트웨어 버전 5 이상에서 G-code group의 리셋을 관리하며 start 및 reset mask를 보완합니다.
- MD20100 $MC_DIAMETER_AX_DEF: constant cutting speed에 필요한 transverse axis를 정의하여 프로그램 start 시 G96이 활성화될 때 Alarm 10870이 발생하는 것을 방지합니다.
결론
무인 자동화 가공 공정의 장기 신뢰성을 확보하고 예상치 못한 장비 비가동 시간을 줄이기 위해서는 프로그램 기동 시의 초기 기구학 기준을 정의하는 MD20112 $MC_START_MODE_MASK 설정과 MD20110 리셋 모드의 상관관계를 정확히 규명해야 한다. 양산 생산 라인의 불량률을 낮추고 치수 편차 누적을 원천 차단하기 위해, 공정 전환 또는 파라미터 수정 후에는 반드시 실제 가공 전에 단일 블록 공운전을 실시하여 오프셋 적용 여부를 육안으로 검증하는 예방 정비 프로토콜을 도입할 것을 권장한다.
자주 묻는 질문 (FAQ)
지멘스 제어기에서 프로그램 시작 시 G54와 같은 워크 오프셋이 자동으로 로드되어 발생하는 충돌을 예방하려면 어떤 파라미터를 점검해야 합니까?
프로그램 시작 시의 초기 상태를 제어하는 MD20112 $MC_START_MODE_MASK의 비트 4에서 17까지의 설정을 확인하십시오. 이 값들을 0으로 설정하여 기본 리셋 상태를 따르도록 하거나, 파트 프로그램의 시작부에 명시적인 G90 G54 코드를 작성한 뒤 실제 가공 전 싱글 블록 JOG 화면에서 현재 좌표를 대조 검증하십시오.
G96 constant cutting speed를 사용하는 프로그램 기동 중 Alarm 10870이 발생하면서 설비가 정지할 때 해결 방법은 무엇입니까?
프로그램 시작 마스크에 의해 G96이 활성화될 때 연동될 기준 단면 축이 지정되지 않아 발생하는 결함입니다. 채널 일반 기계 데이터인 MD20100 $MC_DIAMETER_AX_DEF 파라미터에 현재 가공 채널의 횡축(X축 등)이 올바르게 매핑되어 있는지 확인하고 인덱스 값을 수정하여 리셋을 수행하십시오.
프로그램 중단(Reset) 시 수동 세팅값은 유지하되 새 사이클 시작 시에만 오프셋을 초기화하도록 설정하려면 어떻게 해야 합니까?
지멘스 제어기의 리셋 마스크(MD20110)와 스타트 마스크(MD20112)의 독립적 구성 기능을 활용해야 합니다. 중단 시 데이터를 보존하도록 MD20110의 관련 비트를 1로 설정하고, 새 사이클 시작 시 초기화를 위해 MD20112의 해당 비트를 0으로 대조 구성한 후 부팅 테스트를 완료하십시오.
아직 해결되지 않았나요?
이 주제에 대해 AI 어시스턴트에게 자연어로 물어보세요. 검증된 소스를 기반으로 하며 환각이 없습니다.

- CNC CARE Co-Founder (May 2025 - Present)
- Mitsubishi Electric NC Sales & Service Section Manager (2008 - 2025)
- Reis CNC Service Engineer (2003 - 2008)
- Ören Kalıp CNC Mold Line Team Leader (1999 - 2002)
CNC 기계 산업의 모든 분야에서 25년 이상 근무한 경험을 바탕으로, 브랜드 독립적인 컨설팅, 엔지니어링 및 순정 부품 서비스를 제공하는 CNC CARE의 공동 창업자로서 활동을 이어가고 있습니다.
관련 기사
이 주제에 관한 다른 기사
G27 기준점 복귀 검사: 다중 브랜드 CNC 제어기 안전 설정 가이드
화낙(Fanuc), 지멘스(Siemens), 미쓰비시(Mitsubishi) CNC의 G27 원점 복귀 검사 명령어 사용법과 파라미터 설정을 설명합니다. 알람을 해결하고 비가동 시간과 터렛 충돌을 예방하십시오.
지멘스 SINUMERIK G26 상한 작업 영역 및 주축 속도 제한 설정
지멘스 SINUMERIK G26 명령어로 상한 작업 영역과 주축 속도 한계를 설정하여 충돌을 방지하는 방법입니다. SD 43420 파라미터 설정법, 비가동 시간 단축을 위한 운전 노하우 및 알람 해결 가이드를 상세히 설명합니다.
CNC G26 주축 속도 변동 감지 및 제한 설정 가이드
Fanuc, Siemens, Mitsubishi CNC 제어기에서 G26 명령어를 사용해 주축 속도 변동을 감지하고 속도 제한을 설정하여 공구 파손 및 기계 충돌 사고를 방지하는 방법을 설명합니다.
G25 하한 작업 영역 및 주축 속도 제한 설정 가이드 (Siemens CNC)
지멘스(Siemens) CNC 제어기에서 G25 명령어를 활용하여 하한 작업 영역 경계와 주축 속도 제한을 설정하고 터렛 충돌을 방지하는 파라미터(SD 43430, MD 10604) 조정 노하우를 알아봅니다.