2025/11 5

[Insight] 개발의 절반은 '디버깅'이다

개발자로서 연차가 쌓이면서 바뀌는 습관이 하나 있습니다. 예전에는 "어떻게 하면 이 기능을 빨리 구현할까?"를 고민했다면, 이제는 "이 기능이 멈췄을 때, 어떻게 하면 빨리 원인을 찾을 수 있을까?"를 먼저 고민한다는 점입니다.특히 하드웨어를 제어하는 장비 개발 분야에서, 코드가 '도는 것'은 시작에 불과합니다. 진짜 싸움은 현장에서 예기치 않은 이유로 '멈췄을 때' 시작됩니다. 오늘은 제가 프로젝트를 진행하며 뼈저리게 느낀 '디버깅을 위한 개발 철학'과, 새로 합류하는 팀원들에게 꼭 해주는 이야기를 나누려 합니다. 1. 미래의 나를 구하는 '방어적 코딩' 우리는 종종 'Happy Path(모든 조건이 완벽한 상황)'만을 가정하고 코드를 짭니다. "센서는 당연히 켜져 있겠지", "통신 케이블은 연결되어 ..

[Motion Control] 1. 모션 라이브러리의 이해와 제어 보드별(Adlink, ACS, Ajin) 특징

오랜만에 블로그에 글을 씁니다. 그동안 바쁜 일들도 있었지만, 무엇보다 게으름이 가장 큰 적이었네요. 게으름에서 벗어나고자 다시 키보드를 잡았습니다.오늘은 장비 제어의 핵심인 '모션 제어(Motion Control)'의 기본 개념과, 개발자에게 가장 중요한 '모션 라이브러리'에 대해 이야기해 보겠습니다. 특히 제가 현업에서 직접 다뤄본 Adlink, ACS, Ajin 보드들의 특징도 가감 없이 비교해 보겠습니다.1. 모션 제어(Motion Control)란?반도체, 디스플레이 등 정밀 부품을 조립하거나 검사하는 장비를 보면, 가장 눈에 띄는 것이 바로 실제 움직임이 일어나는 '이송 시스템' 입니다.모션(Motion): 물체가 한 점에서 다른 점으로 이동하는 '운동'제어(Control): 원하는 방향과 위..

Motion & Control 2025.11.23

[Trouble & Debug Note] 잉크 도팅 튐 현상, '코일부 개조'로 잡았습니다 (feat. 완제품의 배신)

검사장비에서 불량(NG) 제품에 잉크 마킹을 할 때, 잉크가 튀는(Splatter) 현상은 매우 고질적인 문제입니다. 이 글은 잉크 튐 현상을 잡기 위해 소프트웨어(펄스 시간)와 전기적 제어(속도)를 모두 테스트했으나, 결국 액추에이터 자체인 코일부의 물리적 개조에 도달하기까지의 트러블슈팅 기록입니다. 1. 문제 현상 및 목표목표: 아래 사진처럼 깔끔하고 일정한 원형의 잉크 도트를 찍는 것.문제: 실제 도팅 시, 잉크가 제자리에 맺히지 않고 주변으로 심하게 튀었습니다.2. 문제의 핵심: "분사(Jet)"가 아닌 "스탬프(Stamp)" 방식트러블슈팅에 앞서, 이 잉크젯(DieMark)의 동작 원리를 파악해야 했습니다.이 제품은 잉크를 '분사(Jetting)'하는 방식이 아니었습니다.**솔레노이드 코일(Co..

SkaldLogger: MFC GUI를 위한 투명 오버레이 로거 개발 기록

Vision & Inspection, Motion & Control 장비의 HMI(제어 GUI)를 개발하다 보면, 수많은 컴포넌트의 상태를 실시간으로 확인해야 할 때가 많습니다.1. 프로젝트의 목표: GUI와 로그의 공존디버깅 시 로그를 확인하는 기존 방식은 번거롭습니다.AfxMessageBox: 프로그램을 일시 정지시키고 GUI를 가립니다.별도의 로그 다이얼로그: 메인 GUI의 중요 부분을 가려서, 로그를 볼 때마다 창을 옮겨야 합니다.Visual Studio 출력 창: (OutputDebugString) GUI와 시선이 분리되어 실시간성이 떨어집니다.이 문제를 해결하기 위해, "기존 제어 GUI를 가리지 않고, GUI를 조작하는 동시에 실시간 로그를 확인할 수 있는 투명 오버레이" 로거를 개발하는 것..

왜 나는 고성능 검사장비에 구형 X299 플랫폼을 고집하는가?

1. "아니, 지금 X299라고요?"최신 고성능 검사 장비 PC를 맞춘다고 할 때, 대부분은 최신 인텔 코어 i9(14세대)이나 AMD 라이젠 9, 혹은 쓰레드 리퍼를 떠올릴 것입니다. 하지만 저는 오늘도 "구형"으로 취급받는 인텔 X299 플랫폼을 장바구니에 담습니다."고리타분하다"고 할 수도 있지만, 여기에는 수많은 장비를 조립하고 디버깅하며 얻은 명확한 이유가 있습니다. 이 글은 최신 PC가 오히려 검사장비에서 성능 저하를 일으키는 이유와, HEDT(High-End Desktop) 플랫폼, 특히 X299가 여전히 강력한 현역인 이유에 대한 기술 리포트입니다. 2. 검사장비 PC의 첫 번째 관문, PCIe Lane일반적인 게이밍 PC와 검사장비 PC의 가장 큰 차이는 '확장성'입니다. 검사장비에는 ..

ETC./Tech Journal 2025.11.02