자동화설비 데이터PC 코드 구조(2024-10-31)

데이터PC main.py 코드 구조입니다.

Class UI_MainWindow : 이 클래스는 제품 품질을 식별하여 사용자가 실시간으로 모니터링을 할수있도록 사용자 인터페이스를 제공하는 클래스입니다.

Plc_connect(QTread) : 이 클래스는 QThread를 상속받아 멀티스레딩 환경에서 동작하는 클래스입니다. 주요 목적은 생산 라인의 측정 데이터를 처리하고, PLC와 통신하며, 바코드 인쇄 및 스캔 작업을 관리하는 것입니다.

자동화설비의 흐름도입니다.

설비 동작에 따른 데이터PC의 역할은 다음과 같습니다.

측정기에서 제품 측정이 끝나면 아래 폴더로 SCV파일을 만듭니다.

PC는 새 파일이 생성되면 해당 파일을 읽고, 파일에 포함된 측정값을 기준 판단값과 비교하여 양품 및 불량품을 판별한 뒤, 그 결과를 데이터베이스에 저장하고 PLC에 전송합니다. 아래 코드에서는 측정값을 전송하는 메모리 주소로 측정기1, 측정기2, 측정기3에 각각 D8021, D8022, D8023을 설정했습니다.

데이터 저장 (메서드)

PLC에 전송된 후, 제품이 양품이거나 프린트 모드로 설정된 경우에는 인쇄기 위치로 제품을 이동시킵니다. 이후, PC에서 바코드 데이터와 함께 인쇄 명령을 인쇄기로 전송합니다.

인쇄기와 동일하게 바코드 리더기도 TCP/IP 프로토콜을 사용하며, PC에서 전송된 명령어를 수신하면 리더기가 바코드 데이터를 읽습니다. 이후, 리더기가 읽은 데이터를 PC로 전송하면, PC에서는 이전에 인쇄기에 전송한 바코드와 일치하는지 확인한 후, 그 결과를 바탕으로 PLC에 양품인지 불량품인지를 전송합니다. 동시에, 제품의 측정 데이터를 데이터베이스에 기록하고, 등록된 데이터는 MainWindow에 표시됩니다.

Leave a Reply

Your email address will not be published. Required fields are marked *

인기 글

Ubuntu 22.04 LTS에 Python 3.8 or 3.9 설치 방법
서버 : Vultr 클라우드OS: Ubuntu 22.04 LTS사용자 계정 생성하여 설치 진행함1. Start with the system updatesudo apt update...
오라클 클라우드 OCI 가입 드디어 성공 했습니다 (상세 후기)
2023년 2월 16일에 ‘오라클 클라우드 지급 검증 실패 글‘을 남긴 적이 있습니다.그 때 검색을 통해 해결 방법을 찾아 보았고, 당시 성공했던 분들의...
WSL2/Ubuntu 22.04 LTS에서 Jupyter notebook 실행하기
WSL2 Ubuntu에서 Jupyter notebook(Jupyter Lab) 설치는 다음과 같습니다.$ pip install jupyter $ pip install jupyterlab단,...
카페24 클라우드 환경에 cPanel & Whmcs 설치
Vultr나 Linode 같은 클라우드에서도 시도 하였으나, 여러 설정이 복잡해서 포기하던 차에 카페24 클라우드에서 cPanel & Whmcs 설치를 했더니 한 번에 로그인...
WSL2/Ubuntu 22.04 LTS에 Anaconda 설치 
WSL2/Ubuntu 환경에서 Python 버전별로 가상환경을 만드는 방법 중 그나마 Anaconda 방법이 좋은 것 같네요. 설치 방법은 간단합니다.1. apt update사용자...