谈到WinCC中的批次数据处理和批次报表,也许有人会想到PM-Quality这款专业的批次报表软件。但如果你的银子有限,批次报表要求又比较简单,不妨看看此文。
—《通过 WinCC 基本功能实现批次数据过滤查询以及打印批次数据报表》
实现的功能描述
模拟生产数据的生成
-
首先在批次名称输入域中输入将要开始生产的批次名称,例如“P202002071102”(在实际应用中也可以通过全局脚本根据用户需求自动输入批次名称)。
-
然后点击“开始批次生产”按钮启动生产。此时“开始时间”会自动显示当前批次开始生产的时间。
-
当生产完成后,点击“结束批次生产”按钮来停止生产。此时“结束时间”会自动显示当前批次结束生产的时间。
-
最终生产结束时该批次的“批次名称”、“开始时间”、“结束时间”会被归档,同时会显示到左侧的“TableControl”控件中。而右侧“TableControl2”及下方的“TrendControl”控件中的数据还处于实时更新之中。经过多次生产过程后,左侧的“TableControl”控件即批次选择列表中会出现之前所有已完成批次的信息以供选择。
查询批次数据
-
首先在查询批次选择列表(左侧的TableControl 控件)工具栏上点击“启动/停止”按钮来停止控件的实时更新。
-
然后在列表中选择希望查询的批次,例如“P202002071125”。
-
点击“选择并查询”按钮。列表中所选择的批次信息将会显示在右侧的输出域中,包括查询批次名称、生产启停时间以及该批次的生产时长。如本例中所选择的批次生产是从“2020-02-07 11:25:21”到“2020-02-07 11:25:33”,持续了12秒,转换为分钟后则为0.2分钟。最终该批次内的生产数据则呈现在右侧的TableControl2以及下方的TrendControl中。
打印批次数据报表
点击“打印”按钮,该批次的数据将会被打印成 PDF 文档存储到项目文件夹当中
双击最新打印出的文件。在 Wind10 中可通过 Microsoft Edge 浏览器进行查看
实现原理
首先明确应用需求的重点是希望根据批次名称进行历史数据的查询。那么也就意味着只要能够在 WinCC中归档批次名称的同时,将该批次的开始生产时间以及结束生产时间与批次名称一同进行归档。当选择了需要查询的批次名称的时候也就能够获取到该批次的生产起始以及结束时间,再根据这两个时间即可过滤查询出该批次生产过程中归档的所有历史数据。
实现步骤( 环境:WinCC V7.5 SP1 亚洲版)
-
创建测试变量
创建测试变量(为便于演示,此例中创建的变量均为内部变量。实际项目中,生产数据变量为外部变量)。
在变量管理器中创建变量组并命名为“report”。在变量组“report”中创建变量,注意数据类型。各个变量的用途参考变量注释。
-
创建过程值归档
在变量记录中创建过程值归档“batchState”,并在该归档中添加归档变量 “batchName”、“beginTime”、“endTime”。采集类型均选择为“非周期”,起始变量均选择为“batchRecordTrigger”。这将意味着变量“batchRecordTrigger”的值一旦发生改变,则会对 3 个归档变量进行一次归档。该过程值归档用于记录批次名称以及批次生产的开始和结束时间。
在变量记录中创建过程值归档“batchDatas”,并在该归档中添加归档变量 “data1”、“data2”、“data3”。采集类型均选择为“周期 - 连续”,采集周期与归档/显示周期均设置为 “1 second”(实际应用根据需要确定即可)。该过程值归档用于记录生产数据。
-
编辑画面监视域
在画面编辑器中添加静态文本以及输入/输出域进行数据监视及输入。
根据需要添加静态文本以及输入/输出域,并按照图中的蓝色标签关联之前已经创建的相应变量。其中“批次名称输入/输出域”用于批次名称的输入,其它输入/输出域均设置为输出类型即可。
-
编辑画面控件
添加 2 个“OnlineTableControl”控件,分别命名为“TableControl”及“TableControl2”。添加 1 个“OnlineTrendControl”控件,命名为“TrendControl”。
控件“TableControl”关联 3 个归档变量:“batchName”、“beginTime”、“endTime”。
控件“TableControl2”关联3个归档变量:“data1”、“data2”、“data3”。
控件“TrendControl”关联3个归档变量:“data1”、“data2”、“data3”。
-
编辑按钮
添加3个按钮,开始批次生产、结束批次生产以及选择并查询。
为开始批次生产按钮编写脚本
为结束批次生产按钮编写脚本
为选择并查询按钮编写脚本
-
创建并编辑报表布局
创建布局“batchReport”并根据需要编辑布局。关键步骤:在CCAxOnlineTableControl.表格的动态参数中,关联 TimeColumnBeginTime 到变量“queryBeginTime_1”,关联TimeColumnEndTime 到变量“queryEndTime_1”。
表格控件 Properties 中,取消选择时间列选项页中的“刷新”。
-
创建并组态打印作业
创建打印作业命名为“batchReport”,并在常规选项页中选择已完成编辑的报表布局“batchReport.RPL”,选择“无对话框”。
在打印机设置选项页中取消勾选“打印机”,并勾选“PDF”(该选项需要安装了 WinCC DataMonitor 选件后可用)。
-
添加打印按钮
添加打印按钮,并在按钮单击鼠标事件中编写 C 脚本。
完成组态过程,运行后效果即如开篇所述。
博途工控人平时在哪里技术交流博途工控人社群
博途工控人平时在哪里技术交流博途工控人社群