방향
생산자 소비자 구조
AOI
- Automatic Optical Inspection
- 광학적으로 물체 외관 상황을 PC를 활용하는 화상처리 검사(장비)
변수
- 병렬구조간 데이터를 쉽게 넘겨주기위해 배움
- 로컬변수, 글로벌 변수
로컬변수
- 집모양
- 우클릭>생성>로컬변수> (읽기,쓰기)로 쓸 수 있음
- 로컬변수와 컨트롤과 연동이 되어있음(분신)
- 동일한 VI 내에서 사용가능
주의사항
글로벌 변수
- 글로벌 변수를 제어하는 다른 VI(인벤토리)가 있음
- 구조>글로벌변수 생성
- 다른 VI와 데이터를 주고받기 가능
주의사항
- 라벨을 따라간다(이름)
- 이름에 대해 잘 나눠줘야한다( 글로벌변수_000 이런식 )
변수 주의사항
- 변수 많이 사용하면 무거워짐
- 손실 및 중복의 문제점
경합조건(변수엔 시퀀스구조 사용)
- 로컬변수를 사용할 때 순서를 정하지 않으면 값이 제대로 안나옴
병렬 루프
큐
- FIFO 구조로 이어진 버퍼 (선입선출)
- 데이터 손실 및 중복 방지
- 동기화>큐동작>큐.. 생성
큐함수
- 큐 얻기(Open) : 열기_데이터형식 결정
- 원소를 큐에 추가(Write) : 데이터를 큐에 쌓는다
- 원소를 큐에서 제거(Read) : 가장먼저쌓인 큐를 제거 및 return
- 원소를 반대쪽 큐에 추가(Write) : 큐를 반대로 쌓음(LIFO)(긴급용도)
- 큐 비우기(Reset) : 쌓인데이터 비우기
- 큐 해제(Close) : 큐 참조 해체
디자인패턴
생산자 소비자 패턴
- 이벤트(행동)을 쌓는 생산자, 사용하는 소비자로 동작하는 구조(큐)
- 다른 패턴에 비해 심플하고 기능이 확실하다.
프로젝트 : 자판기 만들기
- 생각 할 것
- 열거형 상수에 무슨 열거형 상수를 사용할지
- 크러스터에 사용할 리스트
- UI 디자인 중요함
- 완성
![](https://velog.velcdn.com/images%2Fpsh4204%2Fpost%2Ffebcd0b3-cac8-45ad-8f34-35f40f8afee6%2Fimage.png)
![](https://velog.velcdn.com/images%2Fpsh4204%2Fpost%2Fa43dbf84-ea91-47a0-a551-e442dfdcf893%2Fimage.png)
- 코드