工业设备的数据存储,容易被当成"配置一个容量就完事"。但结果数据和曲线数据的特性完全不同,混在一起设计,后期一定出问题。
这篇以拧紧设备为例,讨论存储模型与归档策略。
一、两类数据,两种模型
结果数据:结构化、单条小、查询频繁。适合关系表,按条码、时间、工单建索引。
曲线数据:单条大、查询少、写入频繁。适合独立表或对象存储,按结果 ID 关联。
如果混在一张表里,结果是:查询变慢、备份变大、归档困难。
二、容量口径要按系列核对
以砺星 Leetx 为例,存储容量按系列区分:
- TCS.2000 系列:结果 10 万条、曲线 3 万条;
- WCS.2000 系列:结果 100 万条、曲线 10 万条;
- ICS.1000 与 PCS.1000 系列:结果 10 万条、曲线 1 万条。
采样频率全系列统一 1000 Hz。
注意:曲线容量通常是先触顶的那一个。按曲线容量倒推归档周期,比按结果容量算更准。
三、归档策略:三种常见做法
做法 1:本地滚动 + 定期导出。控制器按容量滚动,超过部分导出到外部存储。适合中小产线。
做法 2:冷热分离。近期数据留本地(快查),历史数据入 MES 或对象存储(慢查)。适合高频产线。
做法 3:异常优先留存。只长期保留 NG 与超差曲线,正常曲线按周期滚动。存储成本较低,但需要提前定义"异常"。
四、字段设计
结果字段参考:日期、时间、工具信息、程序号、扭矩、角度、条码。
工程建议:
- 条码建索引(追溯主键);
- 时间字段统一时区与精度;
- 程序号与版本分离(工艺迭代后可区分)。
五、写性能的坑
1000 Hz 采样下,曲线写入对 I/O 压力不小。两个优化方向:
- 批量写入而非逐条写入;
- 曲线压缩后再落库(保留关键段 + 降采样)。
六、小结
存储模型的设计目标不是"存得下",而是"查得到、归档得了、成本可控"。