자동화설비 데이터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에 Anaconda 설치 
WSL2/Ubuntu 환경에서 Python 버전별로 가상환경을 만드는 방법 중 그나마 Anaconda 방법이 좋은 것 같네요. 설치 방법은 간단합니다.1. apt update사용자...
Ubuntu 20.04에 MySQL 5.7 설치
비씨티원 인공지능 서비스 플랫폼 BAP(Bctone AI service Platform)의 설치 환경은 공식적으로 Ubuntu 18.04와 MySQL 버전 5.7 입니다. 최근 Ubuntu...
사용자 작성 모듈 import 시 에러)(ModuleNotFoundError: No module named
파이썬 모듈을 만들고 테스트 할 때 ModuleNotFoundError: No module named 에러가 발생한 경우원인파이썬은 모듈을 불러올 때 모듈 설치 경로와 자신의...