Waiting
Login processing...

Trial ends in Request Full Access Tell Your Colleague About Jove
Click here for the English version

Engineering

폴리머 압출 공정에서 MQTT를 기반으로 하는 데이터 통신

Published: July 15, 2022 doi: 10.3791/63717

Summary

이 작업은 MQTT(메시지 큐 텔레메트리 전송)라는 메시지 프로토콜을 기반으로 필름 압출 시스템과 모니터링 장치 간의 데이터 통신을 위한 유연한 방법을 제안합니다.

Abstract

이 작업은 TCP/IP를 통해 운영되는 MQTT(Message Queuing Telemetry Transport)라는 게시자-구독자 기반 프로토콜을 사용하여 폴리머 처리 머신을 위한 유연한 데이터 통신 구조를 구축하는 것을 목표로 합니다. 기존 장비를 사용하는 경우에도 인터넷 통신을 통해 어디서나 다양한 장치에서 데이터를 측정하고 기록할 수 있습니다. 메시지 기반 프로토콜은 기존 서버-클라이언트 프로토콜의 단점을 극복하는 유연한 통신을 가능하게 합니다. 여러 장치가 원본 장치에서 게시한 처리 데이터를 구독할 수 있습니다. 제안된 방법은 여러 게시자와 구독자 간의 데이터 통신을 용이하게 합니다. 이 작업은 장비 및 추가 센서의 데이터를 메시지 브로커에 게시하는 시스템을 구현했습니다. 가입자는 브로커에 의해 중계된 프로세스 데이터를 모니터링하고 저장할 수 있다. 이 시스템은 효과를 입증하기 위해 필름 압출 라인을 위해 배치되고 실행되었습니다.

Introduction

4차 산업혁명의 물결 속에서 다양한 처리 데이터의 수집 및 모니터링이 중요한 과제가 되었다1. 특히, 공정 데이터를 사용하여 제조 공정을 개선하고 효율적인 운영 계획을 수립하는 것은 모든 제조 시설2,3의 중요한 목표가 될 것입니다. 경보를 공장 밖으로 보낼 수 있거나 예측 유지 보수를시간 4에 수행 할 수있는 경우 가동 중지 시간을 크게 줄일 수 있습니다. 최근에, 중합체 공정(5,6)에서의 데이터 분석을 위한 많은 노력이 이루어지고 있다. 그러나, 기존 시스템(7)으로부터 이러한 데이터를 획득하는 어려움으로 인해 이러한 태스크를 수행하는 것은 쉽지 않다. 제어 및 계측의 계층 구조는 데이터 수집 및 통신을 어렵게 만듭니다.

우선, 제조 날짜가 다른 다른 기계에서 데이터를 얻을 수 없습니다. 서로 다른 컴퓨터 간의 통신을 실현하는 것은 어려운 일인데, 이는 독점 형식의 서로 다른 필드버스 간의 상호 운용성이 필요하기 때문입니다. 이러한 방식으로 통신 방법 및 데이터 형식은 비공개로 유지됩니다. 이를 통해 데이터 보안을 쉽게 유지할 수 있지만 사용자는 서비스 및 향후 개발을 위해 기계 제작자에게 의존 할 수 있습니다. 폴리머 가공 기계에 부착 된 인간 - 기계 인터페이스 (HMI)를 포함한 최근의 제어 컴퓨터는 요즘 대부분 Windows 기반이지만 독점 개발 환경에서 생성 된 소프트웨어가로드됩니다. 센서 또는 액추에이터와 통신하기 위해 상이한 회사로부터의 프로그램가능 로직 컨트롤러(PLC)를 사용할 수 있지만, 많은 경우에, 상부 감독 제어 및 데이터 수집(SCADA) 시스템은 제어 컴퓨터(8)에 의존한다. 이러한 관행으로 인해 수많은 프로토콜, 필드버스 및 제어 시스템이 시장에서 경쟁하게 되었습니다. 이러한 복잡성은 시간이 지남에 따라 조금씩 완화되었지만 많은 유형의 필드 버스와 프로토콜이 여전히 활발히 사용되고 있습니다.

한편, 제어 장치와 SCADA 간의 통신은 OPCUA(Open Platform Communications United Architecture)9에 의해 표준화되었습니다. 또한 SCADA와 MES(제조 실행 시스템) 간의 통신도 주로 OPCUA를 통해 이루어졌습니다. 이러한 엄격한 계층 구조에서는 프로세스 모니터링 및 분석을 위해 데이터를 자유롭게 추출하는 것이 쉽지 않습니다. 일반적으로, 데이터는 SCADA 또는 MES(10)로부터 추출되어야 한다. 앞에서 언급했듯이 이러한 시스템은 공급 업체별로 다르며 데이터 형식은 거의 열리지 않습니다. 따라서 데이터 추출에는 원래 정보 기술/운영 기술(IT/OT) 솔루션 공급업체의 실질적인 지원이 필요합니다. 이는 모니터링 및 분석을 위한 데이터 수집을 방해할 수 있습니다.

필름 압출 라인에서, 제어 PC는 SCADA 시스템(11)에 의해 감독된다. SCADA 시스템은 쉽게 수정할 수 없는 컴퓨터 프로그램에 의해 운영됩니다. 컴퓨터 프로그램은 편집 가능할 수도 있지만 편집은 상당히 비싸고 시간이 많이 걸립니다. 처리 데이터를 쉽게 모니터링하고 분석하려면 어느 위치에서나 데이터에 액세스할 수 있어야 합니다. 사이트로부터 멀리 떨어진 프로세싱 데이터를 모니터링하기 위해, 컴퓨터 프로그램은 프로세싱 데이터를 인터넷(12)으로 스트리밍할 수 있어야 한다. 더욱이, 개방 자유 방법은 데이터 획득(13)을 위한 비용을 감소시킨다. 이러한 접근법은 상업적 IT 솔루션(14)에 투자할 여력이 없는 소규모 공장에서도 데이터 분석이 수행될 수 있게 한다.

이 연구에서, 발행자-가입자 모델에 기초한 메시지 프로토콜이 사용된다. MQTT(메시지 큐 텔레메트리 전송)는 다수의 데이터 제공자와 소비자(15) 사이의 메시징을 가능하게 하는 개방적이고 표준적인 프로토콜이다. 여기서는 기존 제조 시설에 MQTT를 사용하여 데이터를 수집, 전송 및 모니터링하는 시스템을 제안합니다. 이 시스템은 성능을 검증하기 위해 필름 압출 라인에서 테스트됩니다. 원래 컨트롤러의 데이터는 Modbus 프로토콜을 통해 에지 장치로 전송됩니다. 그런 다음 데이터가 브로커에 게시됩니다. 그 동안 두 개의 라즈베리 파이는 측정 된 온도와 조도를 동일한 브로커에 게시합니다. 그런 다음 인터넷상의 모든 장치가 데이터를 구독한 다음 그림 1과 같이 데이터를 모니터링하고 기록할 수 있습니다. 이 작업의 프로토콜은 전체 절차를 수행하는 방법을 보여줍니다.

Subscription Required. Please recommend JoVE to your librarian.

Protocol

1. 브로커 설치

참고: 인터넷을 통해 처리 데이터를 모니터링하고 기록하려면 데이터를 릴레이하는 컴퓨터 시스템을 준비해야 합니다. 시스템은 그림 2와 같이 게시자와 구독자 모두에서 액세스할 수 있어야 합니다. 따라서 통신 전에 알려진 공용 IP 주소가 있어야 합니다. 이클립스 모스퀴토(Eclipse Mosquitto)라고 불리는 개방형 MQTT 브로커가 시스템(13)에 설치된다.

  1. 공용 IP 주소를 제공하는 컴퓨터를 인터넷에 연결합니다. 운영 체제의 IP 설정에 주소를 지정합니다.
  2. Eclipse Mosquitto와 같은 브로커 소프트웨어를 컴퓨터에 설치하십시오. 브라우저를 사용하여 설치 파일을 다운로드하고 실행하십시오.
  3. MQTT 렌즈와 같은 테스트 프로그램을 사용하여 브로커를 테스트하십시오. 브라우저를 사용하여 MQTT 렌즈를 다운로드하고 설치하십시오. 그런 다음 게시된 메시지가 구독되었는지 확인합니다.

2. 주요 출판사 준비

참고: 이 컴퓨터는 TCP를 통해 MQTT를 통해 시스템 데이터를 브로커에 게시합니다. 레거시 데이터는 해석되고 다시 패키징되어 전송되어야 합니다. 이것은 일반적으로 RS485 또는 이더넷에 의해 수행 될 수 있습니다. 하드웨어 수준에서의 연결은 버스 유형에 따라 확인되어야 합니다. 압출 기계는 이더넷 포트를 통해 Modbus를 통해 데이터를 전송합니다.

  1. 실제로 컴퓨터 사이트에 컴퓨터를 배치하고 주 게시자로 설정합니다.
    참고: 의무는 아니지만 이 작업에서는 산업용 컴퓨터가 선택되었습니다.
  2. 컴퓨터에 Python3을 설치합니다. 브라우저를 사용하여 설치 관리자 파일을 다운로드하고 실행하십시오.
  3. PyModbus16을 설치합니다. 브라우저를 사용하여 설치 관리자 파일을 다운로드하고 실행하십시오.
  4. 기계를 제어하는 HMI를 사용하여 압출 컨트롤러를 검사하고 압출 컨트롤러를 주 발행자에 연결하십시오.
  5. ModbusPoll 또는 QModMaster와 같은 Modbus 도구를 사용하여 머신에서 Modbus 프로토콜의 데이터 및 해당 주소를 완전히 식별합니다. 전송된 시스템 데이터가 Modbus 도구의 해당 셀에 표시되는지 확인합니다.
  6. 게시자 PC에 밀어남 컨트롤러에서 데이터를 검색하는 Python 코드를 작성합니다.
    참고: 다음은 코드 예제입니다.
    pyModbusTCP.client에서 ModbusClient 가져오기
    클라이언트 = ModbusClient(호스트="192.168.1.***", 포트=***, unit_id=***)
    클라이언트.열기()
    압출 데이터 = str(client.read_holding_registers(1000, 58))
  7. PCIe, USB, RS232 및 RS485 를 통해 다른 장치의 추가 데이터 스트림을 병합합니다.
    참고: 이것은 간단합니다. 추가 데이터 문자열을 얻은 후에는 기존 데이터 스트림에 데이터를 추가하기만 하면 되며, 이 스트림은 다음 코드로 수행됩니다.
    압출 데이터 += 추가 데이터
  8. pip 설치 paho-mqtt17 에 의해 paho-mqtt를 설치 한 후 paho.mqtt.client를 가져옵니다.
  9. 브로커에 데이터를 연결하고 게시하는 코드를 구현합니다.
    참고: 다음 코드 예제를 참조하십시오.
    url="117.xx.xxx.xx"; 포트 = 1883; 사용자 이름 = "****"; 암호 = "xxxxx"; 주제 = "압출기"
    mqttc = mqtt. 클라이언트()
    mqttc.username_pw_set (사용자 이름, 암호)
    mqttc.connect(host=url, port=port)
    mqttc.loop_start()
    압출 데이터 = str(client.read_holding_registers(1000, 58))
    Pub1= mqttc.publish(topic, ExtrusionData))
    Pub1.wait_for_publish()

3. 추가 출판사 준비

참고: 이 컴퓨터는 또한 TCP를 통해 MQTT를 통해 브로커에 시스템 데이터를 게시합니다. 경우에 따라 주 게시자에서 수행할 수 없는 추가 측정이 필요한 경우가 있습니다. 라즈베리 파이 (Raspberry Pi) 및 아두 이노 (Arduino)와 같은 사물 인터넷 (IoT) 장치가 역할을 수행 할 수 있습니다. 이 작업에서 Raspberry Pi는 온도 데이터 및 조도 데이터에 사용되었습니다. 절차는 프로토콜 섹션 2와 유사합니다.

  1. 라즈베리 파이를 센서 위치 근처에 놓습니다.
    참고: 배선 거리가 제한되어 있기 때문에 라즈베리 파이는 측정 위치에서 매우 멀리 떨어진 곳에 배치할 수 없습니다. 그러나, 압출기의 부근이 매우 뜨겁기 때문에, 장치는 측정 위치로부터 적어도 1m 떨어진 곳에 배치될 필요가 있다.
  2. 명령 줄의 다음 명령으로 라즈베리 파이에 Python3을 설치하십시오.
    sudo apt update
    sudo apt install Python3 idle3
  3. 센서 데이터를 가져오는 코드를 구현합니다. 센서 데이터는I2C 또는 GPIO를 통해 전송될 수 있다.
    참고: GPIO를 통한 추가 온도 데이터에 대해서는 다음 코드 예제 참조하십시오.
    max6675에서 MAX6675 가져오기
    cs_pin1 = 24; clock_pin1 = 25; data_pin1 = 18
    cs_pin2 = 9; clock_pin2 = 11; data_pin2 = 19
    단위 = "C"
    써모커플1 = MAX6675(cs_pin1, clock_pin1, data_pin1, 유닛)
    써모커플2 = MAX6675(cs_pin2, clock_pin2, data_pin2, 유닛)
    T1 = 열전대1.get()
    T2 = 열전대2.get()
  4. paho.mqtt.client를 가져옵니다.
  5. 섹션 2의 코드를 다시 사용하여 브로커에 데이터를 연결하고 게시합니다.

4. 구독자 설정

참고: 인터넷상의 모든 장치는 브로커를 통해 처리 데이터를 수신할 수 있습니다. 데이터는 Python 코드에 의해서도 처리되고 시각화됩니다. 개발이 어려운 경우 Google Play의 MQTT 클라이언트 및 App Store의 MQT Tool과 같은 사용 가능한 애플리케이션을 사용할 수 있습니다. 사용자 인터페이스의 구현이 매우 길기 때문에 세부 사항은 여기에 설명되어 있지 않습니다. 또한 App Store의 MQT Tool과 같은 기존 애플리케이션은 데이터를 수신할 수 있습니다.

  1. 인터넷 가입을 위해 장치를 연결합니다. 물리적 케이블 연결을 확인한 다음 명령줄에서 브로커 IP에 대해 ping을 실행합니다(예: ping 117.xx.xxx.xx).
  2. 장치 및 OS에 따라 적합한 Python 환경을 설치합니다. 예를 들어, Google Play에서 Python3 대신 안드로이드 장치에 Pydroid3를 설치하십시오.
  3. paho.mqtt.client와 paho.mqtt.subscribe를 모두 가져와 브로커에 연결하고 브로커로부터 데이터를 수신합니다.
    참고: 다음 코드 예제를 참조하십시오.
    paho.mqtt.client를 mqtt로 가져 오기
    구독으로 paho.mqtt.subscribe 가져오기
    url="117.xx.xxx.xx"; 포트 = 1883; 사용자 이름 = "****"; 암호 = "xxxxx"; 주제 = "압출기"
    mqttc.username_pw_set(사용자 이름, 비밀번호)
    mqttc.connect(host=url, port=port)
    mqttc.subscribe(주제, 0)
    mqttc.loop_start()
    Sub1 = subscribe.simple(주제, 호스트 이름 = URL)
    압출기 데이터 = Sub1.payload.decode("utf-8")
  4. 필요에 따라 PyQT5를 사용하여 사용자 인터페이스를 빌드합니다.
    참고: 이 부분은 매우 길며 통신보다는 수신된 데이터의 그래픽 표현에 중점을 둡니다. 해당 코드는 보충 데이터로 제공됩니다.
  5. 빌드된 코드를 실행하여 GUI에 들어오는 데이터를 표시합니다.

5. 데이터 로깅

참고: 모니터링 중에 처리 데이터를 데이터베이스에 기록할 수 있습니다. 이 작업에서는 랩 규모의 데이터베이스가 선택되었습니다. 데이터는 Microsoft Access 파일에 연결되어 사용자 컴퓨터에서 쉽게 쓰고 검색할 수 있습니다. 또한 Microsoft Excel과 같은 스프레드시트의 데이터를 분석하기 위한 쿼리를 통해 테이블을 즉시 작성할 수 있습니다.

  1. 데이터를 기록할 구독자 장치를 선택합니다.
  2. 그림 318과 같이 Python 코드가 데이터베이스에 액세스하도록 명령줄에서 "pip install pyodbc"를 실행하여 pyodbc를 가져옵니다.
  3. 처리 데이터를 기록하기 위해 Python 코드로 데이터베이스에 쿼리를 보냅니다. 메서드에 대해서는 그림 3 의 Python 코드를 참조하십시오.
  4. 기록된 데이터를 검색하기 위해 데이터베이스에 쿼리를 보냅니다.
    참고: 데이터 검색에 대한 코드 예제는 다음과 같습니다.
    수입 pyodbc
    pyodbc.drivers() in pyodbc.drivers() if x.startswith('Microsoft Access Driver')]
    conn_str = (
    r'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};'
    r'DBQ=C:\Users\data_analysis\db1.accdb;'
    )
    cnxn = pyodbc.connect(conn_str)
    crsr = cnxn.cursor()
    crsr.tables(tableType='TABLE')에서 table_info을 위해:
    print(table_info.table_name)
    SQL = """\
    Process_Condition에서 * 선택
    """
    crsr = cnxn.execute(sql)
    crsr의 행에 대해 :
    검색된 데이터 = pd.read_sql(sql, cnxn)
    crsr.close()
    cnxn.close()

6. 배포

참고: 모든 장치를 인터넷에 연결할 수 있는 경우 설정이 간단합니다. 그러나 컴퓨터 쪽 데이터를 보호하기 위해 게시자는 인트라넷에만 있을 수 있습니다. 이 경우, 브로커는 인터넷으로의 게이트웨이가 될 수 있다. 이렇게하려면 브로커에 두 개의 이더넷 어댑터가 장착되어 있어야하며 그 중 하나는 공용 IP 주소가 있어야합니다. 모든 항목을 개발한 후에는 그림 4와 같이 코드를 각 장치에 배포해야 합니다. 유선 또는 무선 연결 모드는 중요하지 않지만 각 장치가 브로커에 액세스 할 수 있도록 보호해야합니다. 즉, 브로커는 보안 목적으로 인트라넷과 인터넷 사이의 경계에서 게이트웨이 역할을 할 수 있습니다. 물론 모든 장치가 인터넷에 노출되더라도 통신 관점에서 볼 때 아무런 문제가 없습니다.

  1. 이더넷을 통해 압출 컨트롤러, 주 게시자 및 추가 게시자를 인트라넷 포트에 연결합니다.
  2. 브로커의 이더넷 포트 하나를 인트라넷에 연결하고 다른 이더넷 포트를 인터넷에 연결합니다.
  3. 모든 구독자에 대해 4.1단계를 반복하여 구독자를 인터넷에 연결합니다.

7. 실행

참고 : 전체 시스템을 테스트하기 위해 압출 라인을 시작하고 모든 Python 코드와 Mosquitto를 실행했습니다.

  1. 압출 프로세스를 시작하십시오. 기계의 HMI에서 온도를 설정하고 HMI 화면의 버튼을 터치하여 히터를 켭니다. 필요한 온도에 도달하면 스크류 회전을 시작하여 폴리머 용융물을 밀어냅니다.
  2. 모든 컴퓨터를 켜고 "net start mosquitto" 명령으로 브로커 장치에서 브로커 소프트웨어를 시작한 다음 Python 코드를 실행하여 필요에 따라 처리 데이터를 모니터링하고 기록합니다.
    참고: 7.1단계와 7.2단계의 순서는 되돌릴 수 있습니다. 파이썬 코드는 명령 줄에 "python3 xxxxx.py"를 입력 한 다음 Enter 키를 눌러 간단히 실행할 수 있습니다. 장치가 재부팅될 때마다 명령을 입력하지 않도록 시작 프로그램에 이 명령을 추가하십시오.

Subscription Required. Please recommend JoVE to your librarian.

Representative Results

HMI에 나타낸 데이터와 라즈베리 피스에 의해 측정된 데이터가 도 5에 도시된 바와 같이 가입자에 모니터링 및 기록되었음을 알 수 있었다. 비디오에 표시된 대로 처리 데이터가 데이터베이스에 기록됩니다.

Figure 1
그림 1: MQTT 프로토콜을 사용한 데이터 전송의 개요. 브로커는 게시자의 메시지를 구독자에게 릴레이합니다. 이 다이어그램의 게시자는 기본 게시자와 추가 게시자(Raspberry Pi)입니다. 메인 퍼블리셔는 압출 기계에 직접 연결되어 데이터를 수신합니다. 가입자 수는 네트워크 용량이 허용하는 한 제한되지 않습니다. 구독자는 데이터를 다른 구독자에게 다시 게시하여 Microsoft Access와 같은 데이터베이스에 기록할 수 있습니다. 이 그림의 더 큰 버전을 보려면 여기를 클릭하십시오.

Figure 2
그림 2: 필름 압출 라인에서 출판, 중개 및 구독별 데이터 흐름. 처리 데이터는 왼쪽 위 상자에 표시된 물리적 시스템에 의해 게시됩니다. 구독자의 경우 그래픽 사용자 인터페이스를 만드는 Python 코드가 PyQt5를 기반으로 작성되어 수신 된 데이터를 화면에 표시합니다. 이 그림의 더 큰 버전을 보려면 여기를 클릭하십시오.

Figure 3
그림 3: ODBC를 통해 MS Access 파일에 가입된 데이터 기록 Microsoft Access에 대한 연결을 설정하기 위해 ODBC가 사용되었습니다. pyodbc를 사용하는 Python 코드는 연결을 위해 작성되어 사용자가 생성 한 쿼리를 전송하여 로깅 및 분석을 허용합니다. 이 그림의 더 큰 버전을 보려면 여기를 클릭하십시오.

Figure 4
그림 4: 전체 시스템의 배포. 건물 2의 브로커 장치에는 두 개의 이더넷 포트가 필요하며, 하나는 인트라넷으로, 다른 하나는 인터넷으로. 보안을 위해 게시자는 인트라넷에 연결되고 구독자는 인터넷에 연결되어 있습니다. 브로커는 캠퍼스 외부에서 공용 IP 주소에 액세스해야합니다. 따라서 인터넷상의 모든 장치가 게시된 데이터를 구독할 수 있습니다. 이 그림의 더 큰 버전을 보려면 여기를 클릭하십시오.

Figure 5
그림 5: 필름 압출 라인을 작동하는 동안 데이터 모니터링 시스템을 실행합니다. 처리 데이터는 전체 시스템이 배치되면 압출 작업 중(오른쪽 아래)에 모니터링할 수 있습니다. HMI (오른쪽 위)에 표시된 데이터는 외부에 게시됩니다. 브로커가 시작된 후 게시자 및 구독자 장치의 코드를 실행해야 합니다. 그런 다음 데이터 흐름은 시스템에서 계획한 대로 시작됩니다. 들어오는 데이터를 사용하여 촬영된 압출 라인을 모니터링하고 표시할 수 있습니다(왼쪽 아래). 이 그림의 더 큰 버전을 보려면 여기를 클릭하십시오.

보충 데이터. 이 파일을 다운로드하려면 여기를 클릭하십시오.

Subscription Required. Please recommend JoVE to your librarian.

Discussion

제시된 프로토콜을 따름으로써, MES와 같은 고가의 IT 솔루션 없이도 처리 데이터를 모니터링하고 기록할 수 있다. IoT 기술을 사용하면 기존 기계에서 데이터를 더 쉽게 수집하고 제공할 수 있습니다. 메시지 기반 프로토콜인 MQTT는 폴리머 처리 라인을 위한 데이터 통신을 위한 플랫폼 역할을 성공적으로 수행하는 것으로 나타났습니다. 또한 추가 데이터를 유연하게 측정하고 함께 전송할 수 있습니다. 이 작품에 고용 된 추가 출판사는 라즈베리 파이스였습니다. 특히, 산업용 라즈베리 파이 인클로저에 하우징하여 가혹한 조건에서도 견고한 작동을 보장함으로써 더욱 보호 할 수 있습니다. 가입자는 모든 운영 체제가있는 모든 장치가 될 수 있습니다. 가입자 장치는 가입할 토픽을 선택함으로써 필요한 데이터만을 수신할 수 있다. 이 연구는 MQTT가 IoT 디바이스와 함께 폴리머 처리 라인에 대한 데이터 모니터링을 큰 어려움 없이 가능하게 한다는 것을 보여주었습니다. 현대 산업 통신 아키텍처는 퍼듀 모델과 같은 피라미드 아키텍처에서 벗어나는 경향이 있으며, 제안 된 방법은 이러한 추세가 정당하다는 것을 보여줍니다.

파이썬을 사용하여 소프트웨어를 구현함으로써, 코드는 다양한 플랫폼(19)에 재사용될 수 있다. 결과적으로 플랫폼이 다른 장치는 처리 데이터를 게시하고 구독하는 데 참여할 수 있습니다. 또한 PyModbus, pyodbc, paho.mqtt 및 PyQT5와 같은 여러 사전 빌드 된 코드를 가져 와서 많은 코딩로드를 줄일 수 있습니다. MQTT에 관한 개발은 간단하고 간단했기 때문에 디버깅에 큰 어려움이 없었습니다. 그러나 레거시 컨트롤러에서 게시자 장치로 처리 데이터를 가져오려면 상당한 노력이 필요했습니다. 데이터 포맷 및 프로토콜이 명확하게 알려지지 않은 경우, 데이터 패킷은 신중하게 분석되어야 한다. 또한 원치 않는 데이터 유출을 방지하기 위해 사이버 보안 문제를 검토해야합니다.

기계가 많은 대형 공장에서는 여전히 OPCUA 통신을 사용하는 기존의 MES 기반 데이터 수집이 필요할 수 있습니다. 이러한 경우 IT 시스템에 대한 투자는 너무 많은 위험없이 이루어질 수 있습니다. 그러나 예산이 부족한 소규모 공장의 경우 제안 된 모델은 유망한 대안20입니다. 따라서 MES와 IoT는 상당한 기간 동안 공존하고 발전 할 것으로 예상됩니다. 사출 성형 및 압출과 같은 폴리머 공정 외에도,이 접근법은 데이터 통신을 필요로하는 모든 제조 공정에 적용될 수 있습니다.

Subscription Required. Please recommend JoVE to your librarian.

Disclosures

저자는 이해 상충을 선언하지 않습니다.

Acknowledgments

본 연구는 서울테크(서울과학기술대학교)가 후원하는 연구프로그램의 지원을 받았다.

Materials

Name Company Catalog Number Comments
Edge Device Adavantech UNO 420 Intel Atom E3815 Fanless
Film Extrusion Machine EM Korea Not Available For production of 450 mm film
Pydroid IIEC Not Available Android Devices
Python3 Python Software Foundataion Not Available Windows, Linux
Raspberry Pi 4 CanaKit Not Available Standard Kit

DOWNLOAD MATERIALS LIST

References

  1. Shafiq, S. I., Szczerbicki, E., Sanin, C. Proposition of the methodology for Data Acquisition, Analysis and Visualization in support of Industry 4.0. Procedia Computer Science. 159, 1976-1985 (2019).
  2. Dilda, V., et al. Manufacturing: Analytics unleashes productivity and profitability. McKinsey & Company. , https://www.mckinsey.com/business-functions/operations/our-insights/manufacturing-analytics-unleashes-productivity-and-profitability (2017).
  3. Ismail, A., Truong, H. L., Kastner, W. Manufacturing process data analysis pipelines: A requirements analysis and survey. Journal of Big Data. 6, 1 (2019).
  4. Nwanya, S. C., Udofia, J. I., Ajayi, O. O. Optimization of machine downtime in the plastic manufacturing. Cogent Engineering. 4 (1), 1335444 (2017).
  5. Zhou, T., Song, Z., Sundmacher, K. Big data creates new opportunities for materials research: A review on methods and applications of machine learning for materials design. Engineering. 5 (6), 1017-1026 (2019).
  6. Rousopoulou, V., Nizamis, A., Thanasis, V., Ioannidis, D., Tzovaras, D. Predictive maintenance for injection molding machines enabled by cognitive analytics for Industry 4.0. Frontiers in Artificial Intelligence. 3, 578152 (2020).
  7. Mamo, F. T., Sikora, A., Rathfelder, C. Legacy to Industry 4.0: A Profibus Sniffer. Journal of Physics: Conference Series. 870, 012002 (2017).
  8. Figueroa-Lorenzo, S., Añorga, J., Arrizabalaga, S. A role-based access control model in Modbus SCADA systems. A centralized model approach. Sensors. 19 (20), 4455 (2019).
  9. Schleipen, M., Gilani, S. -S., Bischoff, T., Pfrommer, J. OPC UA & Industrie 4.0 - Enabling technology with high diversity and variability. Procedia CIRP. 57, 315-320 (2016).
  10. Nițulescu, I. -V., Korodi, A. Supervisory control and data Acquisition approach in node-RED: Application and discussions. IoT. 1, 76-91 (2020).
  11. Perez-Lopez, E. SCADA systems in the industrial automation. Tecnología en Marcha. 28 (4), 3-14 (2015).
  12. Andersen, D. L., Ashbrook, C. S. A., Karlborg, N. B. Significance of big data analytics and the internet of things (IoT) aspects in industrial development, governance and sustainability. International Journal of Intelligent Networks. 1, 107-111 (2020).
  13. Kashyap, M., Sharma, V., Gupta, N. Taking MQTT and NodeMcu to IOT: Communication in Internet of Things. Procedia Computer Science. 132, 1611-1618 (2018).
  14. Connet, J. Mythbusting the MES. Systema. , Available from: https://www.systema.com/blog/mythbusting-the-mes (2021).
  15. Yeh, C. -S., Chen, S. -L., Li, I. -C. Implementation of MQTT protocol based network architecture for smart factory. Proceedings of the Institution of Mechanical Engineers, Part B: Journal of Engineering Manufacture. 235 (13), 2132-2142 (2021).
  16. Parian, C., Guldimann, T., Bhatia, S. Fooling the master: Exploiting weaknesses in the Modbus protocol. Procedia Computer Science. 171, 2453-2458 (2020).
  17. Mishra, B., Kertesz, A. The use of MQTT in M2M and IoT systems: A survey. IEEE Access. 8, 201071-201086 (2020).
  18. pyodbc 4.0.34. , Available from: https://pypi.org/project/pyodbc/ (2021).
  19. Ayer, V., Miguez, S., Toby, B. Why scientists should learn to program in Python. Powder Diffraction. 29 (2), 48-64 (2014).
  20. Boyes, H., Hallaq, B., Cunningham, J., Watson, T. The industrial internet of things (IIoT): An analysis framework. Computers in Industry. 101, 1-12 (2018).

Tags

엔지니어링 문제 185 IoT MQTT 압출 통신
폴리머 압출 공정에서 MQTT를 기반으로 하는 데이터 통신
Play Video
PDF DOI DOWNLOAD MATERIALS LIST

Cite this Article

Kim, J. H., Moon, S. H., Ryu, J. S., More

Kim, J. H., Moon, S. H., Ryu, J. S., Kim, S. K. Data Communication Based on MQTT in a Polymer Extrusion Process. J. Vis. Exp. (185), e63717, doi:10.3791/63717 (2022).

Less
Copy Citation Download Citation Reprints and Permissions
View Video

Get cutting-edge science videos from JoVE sent straight to your inbox every month.

Waiting X
Simple Hit Counter