SMA-4000 양품/불량 판정 설정방법

Thechnical notes

본 문서는 SMA-4000을 이용하여 측정 시 측정 결과로 부터 양품/불량을 판정하는 방법에 대해 설명합니다.

  1. 판정조건 설정
    1. 아이템 설명
    2. 설정 방법
  2. 예제
    1. 조건설정
    2. 측정 및 판정

판정조건 설정

판정조건은 Conditions 탭에서 추가/삭제/수정할 수 있습니다. 조건을 편집하려면 우선 시스템을 정지하여 주세요. 우클릭 후 Add new item을 누르면, 새로운 행이 생성됩니다. Delete selected items 버튼을 누르면, 선택한 아이템이 삭제됩니다.

판정 조건 편집이 끝나면, Save 버튼을 눌러 편집 내용을 저장해주세요. 또한 편집 중 Rollback 버튼을 누르면 Save 전으로 모든 아이템이 원복됩니다.

아이템 설명

판정조건은 총 8개의 항목을 가집니다. 각 항목의 기능은 다음과 같습니다:

항목설명
Id데이터베이스에서 조건 행을 구분하기위한 고유 Id 입니다. 고유 Id는 편집이 불가능하며, Save 시 자동으로 고유 Id가 생성됩니다.
Profile Id측정 프로파일의 Id 입니다. 만약 1번 프로파일을 이용하여 측정하였다면, Id가 1인 아이템을 이용하여 양불 판정을 수행합니다.
Function type측정항목과 판정값의 관계를 의미합니다.
Parameter측정항목과 판정값을 나타냅니다.
Enable해당 아이템을 활성화 합니다.
Error code판정결과가 불량이라면, 데이터베이스 failed_id에 error code를 삽입합니다.
Order of priority판정 우선순위 입니다.
Comment주석입니다.

다수의 판정 조건을 만족하지 못할 경우, 데이터베이스에는 order of priority가 가장 작은 error code만 기록이 됩니다. 중요성에 따라 error code를 설정하여 주세요!

설정 방법

측정값과 판정값을 이용하여 양품과 불량을 판정하는 방법입니다.

Function typeParameters양품 판정 기준
Equal측정항목, 판정값측정항목=판정값
GreaterThan측정항목>판정값측정항목, 판정값
GreaterThanOrEqual측정항목>=판정값측정항목, 판정값
LessThan측정항목<판정값측정항목, 판정값
LessThanOrEqual측정항목<=판정값측정항목, 판정값
AbsIn판정값1<|측정항목|<판정값2측정항목, 판정값1, 판정값2
AbsOut|측정항목|<판정값1 OR 판정값2<|측정항목|측정항목, 판정값1, 판정값2
ValueIn판정값1<측정항목<판정값2측정항목, 판정값1, 판정값2
ValueOut측정항목<판정값1 OR 판정값2<측정항목측정항목, 판정값1, 판정값2

  • 측정항목은 데이터베이스의 열, 즉 SPM A MAX, B 0 A RNG 등이 됩니다. 측정항목이 꼭 데이터베이스에 있을 필요는 없어요.
  • 판정값은 단위를 붙이지 않는다면 Tesla/uWb로 인식합니다. 만약 가우스로 설정하고 싶다면, 판정값 뒤에 G 또는 kG를 붙여주세요. 예) B 1 P MAX, 1kG
  • 만약 Paramter 양식이 맞지 않는다면, 해당 조건은 측정 결과와 상관없이 불량으로 처리합니다.

예제

조건설정

조건을 설정합니다. 본 예제에서는 다음 3가지 판정 조건을 설정하려고 합니다

검사 조건측정값의미
SPM 면적 최소값 하한SPM A MIN포화도: 자석 각 극이 착자 자기장에 의해 포화되었는지 검증
SPM 면적 편차 상한SPM A RNG균일성: 착자된 회전자 각 극의 자기장 세기가 동일함
SPM 시작점 상/하한SPM Zp 0회전자 극성 체크: 키 홈을 기준으로 특정 위치에서 N극이 시작됨

첫번째 항목은 SPM 면적의 최소값 (SPM A MIN)이 8000보다 크면 양품, 작으면 불량입니다. 만약 불량이 발생할 경우, 에러 코드 1을 failed_id에 저장합니다.

두번째는 SPM 면적의 편차가 100보다 작으면 양품, 크면 불량으로 판정합니다. 만약 면적 최소값이 8000이고, 나머지 폴 중 하나가 8200이면 불량으로 판정하고 에러코드 2를 저장합니다.

마지막 항목은 SPM의 시작점이 15와 20도 밖에 있는 경우 불량으로 판정하고 에러코드 3을 반환합니다.

모든 판정 조건은 우선순위 (Order of priority)가 작은 순서대로 판정하며, 만약 동일한 순위를 가지는 경우 ID가 작은 판정 조건이 우선순위를 가집니다. 만약 모든 판정 조건을 만족할 경우, 어플리케이션은 제품을 양품으로 판정하며 failed_id에 -1을 기록합니다.

측정 및 판정

제품을 측정한 결과입니다. 면적 최소 값과 면적 편차 값은 상한을 만족하였으나, 시작점이 설정한 값, 15도와 20도 사이를 만족하지 못하여서 불량으로 판정되었고, 에러코드에 3이 기록되었습니다.

다음은 면적의 최소값을 9000으로 증가시켜봅시다.

역시 에러가 발생했지만 이 경우 면적 최소 판정의 우선순위가 높기때문에, 에러코드가 1이 기록되었습니다. 마지막으로 모든 측정 결과가 양품이 나오도록 면적 최소값을 8000으로 돌리고, 시작점 조건을 10도와 15도 사이로 설정해봅시다.

측정이 완료되면 제품을 양품으로 판정하고, error code에 -1을 기록합니다.

SMA-4000 자동화 시스템 (가우스검사기) 구성

Thechnical notes

우리나라 회전자 착자 공정에서는 착자 완료 후 홀 센서와 서치코일을 이용하여 착자 상태를 검사합니다. 홀 센서를 이용한 검사기를 가우스, 서치코일을 이용한 검사기를 플럭스라고 불르고 있어요. 왜 그런 이름이 붙었는지는 저도 잘 모르겠습니다 -_-;;; 여하튼 가우스 검사기에는 PC가 하나 있는데, 여기에 SCMI에서 개발한 SMA 프로그램이 PLC와 연동하여 회전자의 착자 상태를 측정합니다. 본 문서는 PLC와 가우스 검사기를 연동하는 방법에 대해 설명합니다.

  1. 검사 시스템 구성
  2. 센서
    1. 자기장 측정센서
      1. 주의사항
    2. 각도 측정센서
      1. 엔코더 사양
      2. 주의사항
  3. PLC 연동 측정제어
    1. 가우스 검사기 시퀀스
      1. 대기상태
      2. 측정 시작
      3. 측정완료
    2. PLC 측정 시퀀스
  4. 주의사항

검사 시스템 구성

검사 시스템은 크게 센서와 제어 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
제품 정보 1D9003 (INT)제품 리비전 (옵션)PLC, X
제품 정보 2D9004~
D9014 (STRING)
바코드 (옵션)PLC, X
:::
제품 정보 N기타 정보 (옵션)PLC, X
측정 시작D9201.1 (BIT)측정 시작시 ONPC, X
BUSYD9201.2 (BIT)측정 시작 시 ON, 측정 완료 후 OFFPC, X

측정완료

측정이 완료되면 발생하는 이벤트입니다. 측정완료 FLAG를 ON 하고, OK/NG/ALARM FLAG 중 배타적으로 하나만 ON 합니다. MES 데이터 필드는 추가가 될 수도 있으니 가능하면 여유있게 설정하여 주십시오.

항목주소 예시 (형)동작작성자/필수
OKD9201.3 (BIT)측정 결과가 양품입니다.PC, O
NGD9201.4 (BIT)측정 결과가 불량입니다.PC, O
ALARMD9201.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 측정 시퀀스

PLC 제어 시퀀스 예시
  1. 시작: 모델 정보 (모델 넘버, 바코드 등)을 설정하고, OK, NG, ALARM, 측정 시작 flag를 모두 OFF합니다.
  2. 모터 회전: 모터를 지정한 RPM으로 회전시킵니다.
  3. 측정 요청 flag를 ON 하고, 2~3초 후 OFF 합니다. 측정 완료 FLAG가 ON이 되도록 대기합니다.
  4. 결과처리: 결과에 따라 제품 이송/불량배출/알람 처리 등 동작을 수행합니다.

주의사항

측정 FLAG가 ON이면 계속 측정을 수행합니다. 펄스로 처리하면 좋겠지만.. 일반적으로 윈도우 프로그램은 타이머로 동작하는지라 PLC처럼 pulse 신호를 받기가 어렵습니다 ㅠ_ㅜ

측정 소요시간은 샘플의 회전 속도에 비례합니다. 하단 엔코더에는 원점 검출 센서 (Z상)가 있는데, 원점이 검출된 후 1회전 동안 데이터를 획득하고, 3~4초 동안 데이터를 처리한 후 완료 신호를 출력합니다.

사이클 타임 (Cycle time, CT)은 샘플의 회전속도에 반비례 합니다. RPM은 얼마나 되어야 할까요? 일반적으로 실험실에서는 30~40 RPM으로 측정합니다. 너무 빠를 경우 서보모터에서 노이즈가 발생하여 측정에 영향을 줄 수 있습니다.