산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 산업기술

Python 및 REST API를 사용하여 PLCnext에서 PDF 보고서 생성

PLCnext를 사용하여 PLC 프로그램의 프로세스 데이터가 포함된 PDF 보고서를 생성하는 방법에 대한 질문을 자주 받았습니다. 쉬운 방법은 REST API를 통해 프로세스 데이터를 수집하고 장치에 PDF를 생성하는 Python 스크립트를 사용하는 것입니다. 스크립트 생성은 PLC의 IEC61131 기능 블록에 의해 트리거됩니다.

필요한 단계는 다음과 같습니다:

  1. 사용자 "plcnext_firmware"를 위해 PLC에 pip를 설치합니다. 파이썬을 실행하는 펑션 블록에서 사용하는 사용자입니다.

     sudo passwd plcnext_firmware --> assign a new password
     su plcnext_firmware
     curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
     python3 get-pip.py
    
  2. 필수 Python 라이브러리를 설치하십시오:

python3 -m pip 설치 요청

python3 -m pip install fpdf

  1. Python 스크립트를 생성하여 PLC의 /opt/plcnext/ 폴더에 복사합니다.
 import requests
 import json
 import sys
 from fpdf import FPDF
 from datetime import datetime
 sys.path.append('/opt/plcnext/.local/python3.10/site-packages/')
 class PDF(FPDF):
 def header(self):
 self.image('Logo.png', 10, 8, 40) # optional
 self.set_font('Arial', 'B', 20)
 self.cell(0,10,'Monthly report', border=False, ln=True, align='C')
 self.ln(20)
 def footer(self):
 self.set_y(-15) 
 self.set_font('Arial', 'I', 12)
 self.cell(0,10,f'Page {self.page_no()}/{{nb}}',align='C')
 ##################################
 Read data from the PLC via REST
 ##################################
 response = requests.get('https://192.168.178.10/_pxc_api/api/variables?paths=Arp.Plc.Eclr/INST_SolarEnergy.diPower', verify=False)
 data = response.json()
 variables = data['variables']
 value = variables[0]['value']
 ###############
 Timestamp 
 ###############
 now = datetime.now()
 current_time = now.strftime("%m.%d.%Y %H:%M:%S")
 ################
 Create PDF 
 ################
 pdf = PDF('P','mm','A4')
 pdf.alias_nb_pages()
 pdf.set_auto_page_break(auto=True, margin = 15)
 pdf.add_page()
 pdf.set_font('Arial', '', 12)
 mes = 'The power of the pump is ' + str(value) + ' W'
 pdf.cell(200, 10, 'Report '+current_time, ln=True) 
 pdf.cell(200, 10, txt = mes, ln=True) 
 pdf.output('Report.pdf')
  1. 새로운 PLC 프로젝트를 생성하세요.

  2. 프로젝트에서 REST API를 통해 액세스할 수 있는 변수를 만듭니다. 지역변수의 경우 "HMI" 태그를 선택해야 합니다.

  1. PLCnextBase 라이브러리를 프로젝트로 가져옵니다. 라이브러리는 PLCnext Store에서 이용 가능합니다.

  2. PBCL_LinuxShell 명령을 사용하여 Python 스크립트를 실행하는 프로그램을 만듭니다. FB를 처음 실행한 후 PLC가 웜스타트를 수행한다는 점에 유의하세요.

  1. 프로그램을 다운로드하고 시작하세요. 스크립트는 xExecuteScript 변수를 통해 실행됩니다. PDF 보고서는 /opt/plcnext/ 폴더에 저장됩니다. 지역 변수 xRetain에는 보유 태그가 선택되어 있어야 합니다.

참고:

메이커스 블로그에는 피닉스컨택트의 테스트나 검토를 거치지 않은 커뮤니티 회원의 애플리케이션과 사용자 스토리가 표시됩니다. 자신의 책임하에 사용하십시오.


산업기술

  1. AD9850 모듈:상세 가이드
  2. 제조업체가 운영을 디지털화하는 방법(결과적으로 더 나은 결정을 내리는 방법)
  3. 새로운 과정 E3.cable L1 - 케이블 연결을 위한 견고하고 최적화된 제작
  4. 양자 캐스케이드 레이저 주파수 빗:WiFi 속도의 차세대 혁명
  5. 배터리 분리기 – 알아야 할 모든 것
  6. 개인 상표 제조업체가 되는 방법
  7. 차세대 로봇공학을 뒷받침하는 우레탄 성형 부품
  8. 제조에서 기계 가동 중지 시간을 줄이는 방법
  9. 트랜지스터 정격 및 패키지(IGFET)
  10. 분무 용접이란 무엇입니까?- 공정 및 기술