亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 工业技术

使用 Python 和 REST API 从 PLCnext 生成 PDF 报表

常被问及如何用 PLCnext 创建包含 PLC 程序过程数据的 PDF 报表。简便方法是用 Python 脚本通过 REST API 收集过程数据并在设备上创建 PDF。脚本创建由 PLC 上 IEC61131 功能块触发。

必要步骤:

  1. 为用户 "plcnext_firmware" 在 PLC 安装 pip。此用户为执行 Python 的功能块使用的用户。

     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 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) # 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') ################################## 通过 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. 30款顶级库存管理软件助您像专家一样掌控与追踪库存
  3. 电化学磨削(ECG)原理、优势与应用全解析
  4. 解读FDA医疗器械唯一标识(UDI)最终规则
  5. 防水标签为企业带来的5大核心优势
  6. HRS为欧盟资助穆尔西亚零液排放项目提供MVR蒸发系统
  7. 光敏电阻 (LDR) 光照检测电路设计全攻略:原理、运放/三极管/555 三种驱动方案与应用
  8. 应对贸易摩擦的三大实证策略
  9. 关键燃料系统组件驱动 New Flyer 创新巴士技术
  10. 《可能性创造者》第1期:Nora Toure——推动医疗行业工业4.0
  11. 电化学切割(ECC)优劣势全解析:二轴金属切断的明智之选?
  12. 手工数据采集:现代制造业的瓶颈所在