在自动化设备项目中,经常会遇到这样一类需求:
PLC负责设备控制,上位机负责读取生产信息,并将每一个产品的生产数据长期保存。
例如记录:
产品QR
生产时间
当前产品CT
刀具使用次数
产品结果
设备状态
同时还要求:
数据保存5年以上;
能够按日期查询;
每月自动归档;
每天自动生成Excel报表;
电脑异常关机以后不能轻易丢数据。
如果数据量很小,直接写Excel当然可以。
但如果设备24小时生产,并且持续运行几年,直接把Excel当数据库使用并不是一个好的方案。
本文整理一套我目前比较推荐的:
C#
+
WinForms
+
Siemens S7
+
SQLite
+
EPPlus
生产数据采集软件架构。
1. 为什么不建议PLC数据直接写Excel
很多项目一开始会写成:
PLC
↓
C#
↓
Excel
产品生产一次就:
WriteExcel();
短时间没有问题。
但运行时间长以后会遇到:
文件越来越大;
Excel占用;
写文件异常;
断电风险;
查询速度下降;
多人读取;
文件损坏;
历史数据管理困难。
所以比较合理的



