이 작업의 프로토콜을 통해 게시자 가입자 기반 프로토콜 코드 MQTT를 사용하여 폴리머 처리 기계에 대한 유연한 데이터 통신 구조를 구축할 수 있습니다. 고전적인 장비를 사용하는 경우에도 처리 데이터는 인터넷의 어느 곳에서나 다양한 장치로 관찰되고 기록 될 수 있습니다. 이 프로토콜은 여러 게시자와 여러 구독자 간의 데이터 통신을 용이하게합니다.
우리는 브로커 장치를 통해 기존 압출 라인에서 구독 장치로 처리 데이터를 게시하는 시스템을 구현했습니다. 레거시 압출 컨트롤러의 데이터는 장치에서 해석되어 브로커로 전송되었습니다. 두 개의 서로 다른 위치와 처리 중 주변 온도에 대한 추가 장치도 브로커에 데이터를 게시합니다.
그런 다음 브로커는 해당 데이터에 관심이있는 가입자 장치로 데이터를 릴레이합니다. 데이터를 표시하고 기록합니다. 가입자 시스템은 설계되고 구축되었습니다.
참여 장치의 모든 코드가 파이썬으로 작성되었으므로 이 코드는 운영 체제가 다른 장치에서 재사용할 수 있습니다. 마지막으로, 시스템은 첫 번째 브로커 설치의 유효성을 입증하기 위해 라인에 대해 배포되고 테스트됩니다.
시작하려면 인터넷을 통해 처리 데이터를 모니터링하고 기록할 수 있도록 MQTT 브로커 시스템을 구성하십시오. 브로커 장치가 이러한 데이터를 릴레이하려면 게시자와 구독자 모두가 액세스할 수 있어야 합니다. 공용 IP 주소를 사용하여 컴퓨터 시스템을 인터넷에 연결하여 게시자와 구독자 모두가 브로커에 액세스할 수 있도록 합니다.
그런 다음 컴퓨터 설치시 Eclipse Mosquito와 같은 개방형 브로커 소프트웨어는 MQTT 렌즈와 같은 테스트 도구를 사용하여 MQTT 브로커 조작성을 검사합니다. 둘째, 주요 출판사 준비. 이제 기본 게시자 장치를 준비하겠습니다.
앞서 언급했듯이 이 컴퓨터는 MQTT를 통해 브로커에 시스템 데이터를 게시합니다. 레거시 데이터는 해석되고 다시 패키징되어 전송되어야 합니다. 이것은 일반적으로 RS-485 또는 이더넷으로 수행 할 수 있습니다.
하드웨어 수준의 연결은 버스 유형에 따라 확인해야 합니다. 고려된 압출 기계는 이더넷 포트를 통해 Modbus를 통해 데이터를 전송하여 압출 기계에서 데이터를 수집하여 게시합니다. 컴퓨터를 컴퓨터 사이트의 주 게시자로 배치합니다.
해당 컴퓨터에서 Python 세 개를 소프트웨어 환경으로 설치합니다. 그런 다음 Pi Modbus를 설치하여 Modbus 연결 및 통신을 활성화하십시오. 압출 컨트롤러의 Modbus 기능 코드를 검사하여 주 게시자에 연결합니다.
기본 게시자의 Modbus poll 또는 Q mod 마스터와 같은 Modbus 도구를 사용하여 머신에서 데이터 및 관련 주소 및 Modbus 코드를 완전히 식별합니다. 그런 다음 게시자에 밀어남 컨트롤러에서 데이터를 검색하는 Python 코드를 작성합니다. 또한 다른 장치의 PCIE USB RS-232 및 RS-485를 통해 데이터 스트림을 결합합니다.
파호 도트 MQTT 도트 클라이언트를 가져오고 브로커에 데이터를 연결하고 게시하는 코드를 구현합니다. 셋째, 추가 출판사 준비. 주요 출판사 외에도 추가 IOT 장치를 사용하여 주변 온도 및 필름 조도를 획득하고 게시 할 수 있습니다.
그렇게하기 위해서. 두 개의 라즈베리 파이 장치가 사용되었습니다. 각 장치는 주 게시자처럼 측정된 데이터를 브로커에 게시합니다.
장치를 센서 위치 근처에 놓습니다. 그런 다음 장치에 Python 세 개를 설치하고 센서 데이터를 수집하는 코드를 구현합니다. 센서 데이터는 조도 센서의 경우 I2C에 의해 전송되고 온도에 대해서는 GPIO에 의해 전송됩니다.
이전 Python 코드를 다시 사용하여 데이터를 게시합니다. 파이썬의 장치 독립성 덕분입니다. 창문 코드는 라즈베리 파이에 재사용 할 수 있습니다.
넷째, 가입자가 설정됩니다. 이제 처리 데이터를 구독하는 방법을 설명하겠습니다. 앞서 언급했듯이 인터넷상의 모든 장치는 브로커를 통해 데이터를 수신 할 수 있습니다.
다시 말하지만, 데이터는 Python 코드로 처리되고 시각화 될 수 있습니다. 인터넷에 연결된 장치에서는 장치 및 운영 체제에 따라 적합한 Python 환경을 설치합니다. 예를 들어, 안드로이드 디바이스에 Pydroid 3을 파이썬 3 대신 설치한 다음, 파호 도트 MQTT 도트 클라이언트와 파호 도트 MQTT 도트 구독을 모두 임포트하여 브로커에 연결하고 브로커로부터 데이터를 수신해야 합니다.
그런 다음 Pi QT5를 기반으로 필요에 따라 사용자 인터페이스를 빌드합니다. 이 부분의 구현은 매우 길고 힘들 수 있기 때문입니다. 자세한 내용은 GUI에 들어오는 데이터를 표시하는이 코드와 함께 여기에 더 이상 설명되지 않습니다.
또한 앱 스토어의 MQT 도구와 같은 기존 애플리케이션이 데이터를 수신할 수 있다는 점도 알고 있습니다. 다섯째, 데이터 로깅. 모니터링하는 동안 데이터를 기록하려면 파이썬이 데이터베이스에 액세스 할 수 있어야합니다.
이 작업에서는 데이터가 Microsoft 액세스 파일에 기록됩니다. 데이터 규모 및 소프트웨어 가용성을 고려합니다. 데이터를 기록할 구독자 장치를 선택합니다.
그런 다음 Python 코드에서 pyodbc를 가져와 데이터베이스에 액세스합니다. 처리 데이터를 기록하려면 Python 코드로 데이터베이스에 쿼리를 보냅니다. 기록된 데이터를 검색하려면 데이터베이스에 다른 쿼리를 보냅니다.
데이터가 검색되면 필요에 따라 데이터를 재구성하여 데이터를 분석할 수 있습니다. 스프레드시트에서 읽을 수 있는 테이블을 즉시 만들 수 있습니다. 여섯째, 배포.
모든 항목이 개발되면 Python 코드를 각 장치에 배포해야합니다. 유선 또는 무선 연결 모드는 중요하지 않지만 각 장치가 브로커에 액세스 할 수 있어야한다는 것을 보장해야합니다. 이것은 브로커가 보안 목적을 위해 인터넷과 인터넷 사이의 경계에서 게이트웨이 역할을한다는 것을 의미합니다.
더 나은 보안을 유지하기 위해 압출 컨트롤러를 주 게시자 및 추가 게시자를 인터넷에 연결하십시오. 그런 다음 브로커의 이더넷 포트 하나를 인터넷에 연결하고 다른 이더넷 포트를 인터넷에 연결하여 처리 데이터를 모니터링하고 기록합니다. 필요에 따라 구독자를 인터넷에 연결합니다.
일곱째, 처형. 전체 시스템을 테스트하려면 압출 라인을 시작하십시오. 그런 다음 모든 컴퓨터 장치를 켭니다.
그런 다음 브로커 소프트웨어 Mosquito를 시작하고 모든 Python 코드를 실행하십시오. 대표적인 결과. 설계 및 구현된 시스템을 실행한 결과, 처리 데이터가 모니터링되고 시각화됩니다.
데이터는 그래프 및 테이블을 포함한 다양한 방식으로 표시될 수 있으며, 모바일 장치에서도 데이터를 모니터링하고 기록할 수 있습니다. 또한, 데이터는 분석되기 위해 기록되고 검색된다. 결론 HMI에 표시되고 라즈베리 PI에 의해 측정 된 데이터가 가입자에게 모니터링되고 기록된다는 것이 발견되었습니다.
제시된 프로토콜에 따라 MES와 같은 고가의 IT 솔루션 없이 처리 데이터를 모니터링 및 기록할 수 있다.