- 延长归档周期,从1秒改成5秒,数据量直接降80%,趋势曲线几乎看不出差别。
- 定期导出CSV文件到冷存储,系统里只保留最近三个月的在线查询数据。
长期存储的硬成本在硬盘,SSD确实快,但频繁写入会缩短寿命,历史服务器上用企业级HDD做RAID 1或RAID 5是更稳妥的方案,你要是有条件,配一块热备盘就更安心了。
pcs7服务器和工程师站的区别:为什么不能混着用
这个问题是很多初学者搞不懂的,简单说:工程师站(ES)负责编程组态和调试,历史数据服务器(OS Server)负责长期采集和记录。 虽然PCS7的ES上也能开趋势查询,但那是临时看个大概,不是让你长期存储用的。
核心区别有三点:
- ES的CPU和内存主要分给编译和仿真,历史服务器则需要大内存和磁盘I/O性能,两者工作负载特性完全不同。
- ES的数据库是项目库,存的是组态数据和技术规范,历史服务器的数据库是运行库存的过程值和报警信息。
- ES重启不会太影响生产,历史服务器重启一次,断档期的数据就永久丢了。
所以在项目设计阶段,哪怕预算紧张,也别把OS和ES做在同一台机器上。单机版PCS7只能用在实验室或培训环境,生产现场强烈不建议。
pcs7项目备份历史数据时要注意什么
备份这块是用户问得最多的问题之一,因为它直接关系到你的数据能不能找回来,这里的备份分两类:在线备份和离线归档。
在线备份就是在系统运行的时候把数据库文件复制走,WinCC的归档文件是连续写入的,直接在运行状态下拷贝会有损坏风险,业内专家指出:多数历史数据损坏事件都是因为直接在运行目录里拖文件导致的,正确的做法是:
- 在WinCC里先停掉归档服务(不是停整个系统,而是停归档组)。
- 在SQL Server Management Studio里执行“收缩数据库”或“备份数据库”。
- 把备份文件拷贝到NAS或外置硬盘。
离线归档则是把某个时间段的数据导出成文件格式,查询控件里选择时间段,右键导出,可以导出为CSV或Excel格式,要注意导出的数据是原始记录,不能事后修改,审计要求严格的项目正好需要这个特性。
另外一个容易忽略的事:备份的验证,备份文件拷完不等于就安全了,你至少要在另一台机器上恢复一次,打开确认数据能查、曲线能画,这才能算备份完成,我见过有人备份了三个月,恢复时发现文件已损坏,这种事一次就够让人崩溃了。
报警归档的备份方式和过程值归档几乎一样,只是操作入口在报警记录编辑器里,报警的存储优先级其实比过程值高,是安全追溯的重要依据,公司审计系统会检查这个,在规上企业,报警记录至少保留12个月是行业基本线,有的石化项目要求3年以上。
历史数据查询与导出:客户端怎么访问服务器
部署好的历史服务器不是让你天天在服务器前看画面的,其他工位上的操作员站(OS Client)需要通过网络访问历史数据。
查询历史趋势的方法就是在WinCC画面上放一个“趋势控件”,绑定到服务器的归档变量。 变量选好、时间范围一拖,曲线立刻会从数据库里调出来,如果你对这些变量的可视化有更高要求,可以建立自定义的画面模板,把趋势控件和报表模板放在一起,让操作员一键生成生产日报。
远程查询有几种常见方式:
- 操作员站直接打开WinCC客户机模式,浏览归档变量,这种方式响应最快、最稳定。
- 用Web Navigator发布到内网网站,浏览器就能查曲线,不需要装WinCC软件,车间主任的办公电脑上用起来方便。
- 第三方报表工具连接SQL Server数据库,直接读历史表,想怎么分析就怎么分析,格式也不受WinCC限制,但需要懂数据库查询。
导出到Excel的功能也经常用到,在趋势控件里右键就有导出选项,但一次导出的点数有上限,长时间段数据需要分多次导出。想要大批量导出,最顺手的方式是直接用SQL查询语句从数据库拉取,然后存成CSV。 如果你不会SQL语句,让自动化工程师帮你写一个固定格式的查询模板,以后每次套用就行。
这里要注意权限控制问题,生产系统允许查看和分析历史和允许删除历史数据,完全是两个权限级别,在客户机上打开操作员权限,戴好“只读”帽子,别让人能误改历史数据内容,一旦被篡改,后面审计会说不清楚。
PCS7历史数据服务器离线备份方案对比
| 备份方式 | 优点 | 缺点 | 适合场景 |
|---|---|---|---|
| 手动复制归档文件 | 操作简单零额外成本 | 容易漏备、在线备份易损坏 | 临时性备份 |
| SQL备份工具 | 数据库一致性有保障 | 需要停归档 | 定期全备 |
| 第三方备份软件 | 增量备份效率高 | 额外软件成本 | 大型项目 |
| 虚拟化快照 | 恢复快速 | 对存储性能要求高 | 虚拟化环境 |
选型时别只盯着价格,数据丢失一次的直接经济损失,通常远超任何备份软件的购买成本。把备份当消防器材来管理,宁可一辈子用不上,不能不备。
常见问题
历史服务器数据存多久后查询会变慢?
这个没有固定边界,但通常在数据量超过50GB后趋势查询会有明显延迟,如果你发现曲线加载要等十几秒,可以试试缩短查询跨度和增补索引,数据量再大就要考虑分区存储或定期归档。
PCS7服务器能直接访问PLC的实时数据吗?
不能,PCS7的架构里,OS Server通过工业以太网从OS Client或AS(自动化系统)获取数据,不是直接连接PLC的IO模块。历史数据库里的数据来自WinCC进程的实时缓存区,缓存满了按优先级覆盖旧值。 所以出现数据断档时,不要先怀疑数据库坏了,先看网络负荷和CPU占用率。
时间跳变引起的历史数据空档怎么处理?
制氢装置或化工项目对时间敏感度较高,如果服务器的系统时间被手动拨快,数据库直接在对应时间段产生连续空值,处理方式是把时间戳错误的归档段删掉,重新对时后让数据重新写入,没有其他捷径,所以为了防止这个,系统中最好启用NTP服务。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/684438.html





