工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 産業技術

PythonとREST APIを使用してPLCnextからPDFレポートを生成

PLCプログラムからのプロセス データでPDFレポートを作成する方法についてよく質問されます。簡単な方法は、REST API経由でプロセス データを収集し、デバイス上でPDFを作成するPythonスクリプトを使用することです。スクリプトの実行は、PLC上のIEC 61131ファンクション ブロックによってトリガーされます。

必要な手順は以下の通りです:

  1. ユーザー「plcnext_firmware」用にPLCにpipをインストールします。これは、Pythonを実行するファンクション ブロックで使用されるユーザーです。

     sudo passwd plcnext_firmware --> 新しいパスワードを割り当て
     su plcnext_firmware
     curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
     python3 get-pip.py
    
  2. 必要なPythonライブラリをインストールします:

python3 -m pip install requests

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) # オプション
         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')
 ################################## REST経由でPLCからデータ読み取り ##################################
 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']
 ############### タイムスタンプ ###############
 now = datetime.now()
 current_time = now.strftime("%m.%d.%Y %H:%M:%S")
 ################ 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にはretainタグをチェックする必要があります。

注記:

Makers Blogは、Phoenix Contactによってテストまたはレビューされていないコミュニティ メンバーのアプリケーションとユーザー ストーリーを紹介しています。自己責任でご利用ください。

産業技術

  1. アルミニウム陽極酸化処理の完全ガイド:初心者からプロまで
  2. プリント基板実装を最適化しコスト削減する9つのトップヒント
  3. AIaaS完全ガイド:AI as a Serviceを解き明かす
  4. 精密加工で使われる7つの主要材料
  5. COVID-19時代のメンタルヘルスを守る:燃え尽き症候群とワークライフバランスの戦略
  6. 2021年トップ13 B2B SaaS企業:実証済みのリーダーと革新者
  7. シートメタル設計ソフトウェアが製造成功を導く:効率化の鍵
  8. QFNパッケージング:種類、実装、高性能エレクトロニクスへの主なメリット
  9. Raspberry Pi GPIOピンアウト完全ガイド:機能と活用法
  10. ロストワックス鋳造と加工:先進金属製造を探る – 第1部
  11. ビッグデータプロジェクト成功を予測する重要要因