우리나라 회전자 착자 공정에서는 착자 완료 후 홀 센서와 서치코일을 이용하여 착자 상태를 검사합니다. 홀 센서를 이용한 검사기를 가우스, 서치코일을 이용한 검사기를 플럭스라고 불르고 있어요. 왜 그런 이름이 붙었는지는 저도 잘 모르겠습니다 -_-;;; 여하튼 가우스 검사기에는 PC가 하나 있는데, 여기에 SCMI에서 개발한 SMA 프로그램이 PLC와 연동하여 회전자의 착자 상태를 측정합니다. 본 문서는 PLC와 가우스 검사기를 연동하는 방법에 대해 설명합니다.
검사 시스템 구성
검사 시스템은 크게 센서와 제어 PC, D/A 카드로 구성됩니다. 제어 PC와 D/A 카드는 19인치 표준 서버랙에 설치됩니다. 센서와 D/A 카드의 최대 케이블 길이는 5m 입니다. 또한 센서는 자기장 측정 센서, 각도 측정 센서, 온도 측정 센서로 구성됩니다.
| 종류 | 비고 |
| 전원 | 220V 60Hz, 최대 10A (UPS 옵션) |
| 모니터 | 24인치 모니터 |
| 키보드 | 일반 키보드 |
| 이더넷 케이블 | CAT 6.0, 1EA (플럭스 검사 포함 시 2EA) |
| 엔코더 케이블 | 6P Shield cable, 5m, 1EA |
| 자기장 센서 케이블 | 5m, 2EA |
| 온도센 센서 케이블 | 5m, 2EA |
센서
자기장 측정센서
자기장을 측정하는 센서 입니다. 자기장 센서는 제품 표면에 0.5mm 간격으로 접근시켜야 합니다. 측정 중 센서가 흔들리거나 노이즈에 노출되지 않도록 하여주십시오.
주의사항
센서를 지지하는 구조물과 나사는 AL6061과 같은 비자성체로 제작하여 주십시오. 회전자의 자기장이 매우 강하기 때문에 철 재료로 된 구조물을 사용하면, 센서가 흔들릴 수 있습니다.
각도 측정센서
샘플의 각도를 측정하는 엔코더를 기구에 장착합니다.
엔코더 사양
| 항목 | 사양 |
| 출력 타입 | 5V 라인드라이브 출력 |
| 상 | A상 및 Z상 |
| 분해능 | 0.1도 |
측정 시스템은 A상은 각도 정보, Z상은 원점 검출 용도로 사용합니다.
주의사항
엔코더는 반드시 샘플의 회전 축에 직결되어야 합니다. 오토닉스 E40H 와 같이 중공형 엔코더를 사용하여 회전축에 결합하여 주십시오.

PLC 연동 측정제어
가우스 검사기는 PLC의 슬래이브 개념으로 동작하며, 가우스 프로그램은 타이머 (보통 500ms)를 이용하여 주기적으로 PLC와 약속한 특정 주소 (flag)를 체크하여 ON일 때 해당하는 동작을 실행합니다. 예를 들어 측정 요청 FLAG가 ON 이면 측정을 시작하고, 완료 후 측정 완료 FLAG를 ON 시킨 후 OK/NG/ALARM FLAG 중 하나를 ON 시킵니다.
PLC와 연동하기위해서는 PC의 IP, 통신 방법, 메모리 맵 3가지가 필요합니다. 측정 프로그램은 현재 미쓰비시 MX Component/MC Protocol, Simens S7 PLC 3종류 통신 프로토콜을 지원합니다. 제어 프로그램은 VS2017로 작성되었습니다 (GitHub 링크).
가우스 검사기 시퀀스
가우스 검사기의 동작 시퀀스에 대해 설명합니다. 편의를 위해 PLC의 메모리 번지는 D9000~D9199, PC의 번지는 D9200~D9399번을 사용한다고 가정하였습니다.

대기상태
대기 상태에서 타이머에 의해 발생되는 이벤트 입니다.
| 항목 | 주소 예시 (형) | 동작 | 작성자/필수 |
| 하트 비트 | D9201.0 (BIT) | 비트를 주기적으로 토글 (통신 상태 확인 용) | PLC, O |
| 측정 요청 | D9000.0 (BIT) | ON이면 측정 시작 상태 전환 | PC, O |
측정 시작
대기 이벤트에서 측정 시작 이벤트가 발생하면 수행하는 동작입니다. 우선 PLC로 부터 모델 넘버와 제품 정보 (바코드, 리비전 등..)를 읽어옵니다. 모델 넘버는 필수이며, 제품 정보는 옵션입니다.
| 항목 | 주소 예시 (형) | 동작 | 작성자/필수 |
| 모델넘버 | D9002 (INT) | 모델 넘버 | PLC, O |
| 제품 정보 1 | D9003 (INT) | 제품 리비전 (옵션) | PLC, X |
| 제품 정보 2 | D9004~ D9014 (STRING) | 바코드 (옵션) | PLC, X |
| : | : | : | |
| 제품 정보 N | … | 기타 정보 (옵션) | PLC, X |
| 측정 시작 | D9201.1 (BIT) | 측정 시작시 ON | PC, X |
| BUSY | D9201.2 (BIT) | 측정 시작 시 ON, 측정 완료 후 OFF | PC, X |
측정완료
측정이 완료되면 발생하는 이벤트입니다. 측정완료 FLAG를 ON 하고, OK/NG/ALARM FLAG 중 배타적으로 하나만 ON 합니다. MES 데이터 필드는 추가가 될 수도 있으니 가능하면 여유있게 설정하여 주십시오.
| 항목 | 주소 예시 (형) | 동작 | 작성자/필수 |
| OK | D9201.3 (BIT) | 측정 결과가 양품입니다. | PC, O |
| NG | D9201.4 (BIT) | 측정 결과가 불량입니다. | PC, O |
| ALARM | D9201.5 (BIT) | 측정에 실패하였습니다. | PC, O |
| ALARM CODE | D9205 (INT) | 측정 실패 시 알람 코드 EX) 타임아웃 | PC, X |
| MES 데이터 | D9210~ D9300 (DINT) | 측정 데이터를 PLC 메모리에 스케일을 곱해 정수 값으로 업로드 합니다. EX) 12.345→12345, 0.233→233 | PC, X |
| 측정 완료 | D9201.6 (BIT) | 측정 완료 flag를 ON 합니다. | PC, O |
제품 이상 발생 시 이상 원인은 MES 데이터 중 NG CODE라는 항목이 존재합니다. ALARM 코드는 측정 프로그램의 이상 을, NG CODE는 정상 측정시 측정 결과 (착자 안됨)을 출력합니다.
PLC 측정 시퀀스

- 시작: 모델 정보 (모델 넘버, 바코드 등)을 설정하고, OK, NG, ALARM, 측정 시작 flag를 모두 OFF합니다.
- 모터 회전: 모터를 지정한 RPM으로 회전시킵니다.
- 측정 요청 flag를 ON 하고, 2~3초 후 OFF 합니다. 측정 완료 FLAG가 ON이 되도록 대기합니다.
- 결과처리: 결과에 따라 제품 이송/불량배출/알람 처리 등 동작을 수행합니다.
주의사항
측정 FLAG가 ON이면 계속 측정을 수행합니다. 펄스로 처리하면 좋겠지만.. 일반적으로 윈도우 프로그램은 타이머로 동작하는지라 PLC처럼 pulse 신호를 받기가 어렵습니다 ㅠ_ㅜ
측정 소요시간은 샘플의 회전 속도에 비례합니다. 하단 엔코더에는 원점 검출 센서 (Z상)가 있는데, 원점이 검출된 후 1회전 동안 데이터를 획득하고, 3~4초 동안 데이터를 처리한 후 완료 신호를 출력합니다.
사이클 타임 (Cycle time, CT)은 샘플의 회전속도에 반비례 합니다. RPM은 얼마나 되어야 할까요? 일반적으로 실험실에서는 30~40 RPM으로 측정합니다. 너무 빠를 경우 서보모터에서 노이즈가 발생하여 측정에 영향을 줄 수 있습니다.
