核心内容摘要
Jazzon:不止是腕间的旋律,更是品味的灵魂
WINCC报表(
0-
7.
画面自动全屏轮播是全屏哦WEB发布网页可浏览(需安装webnavigate插件)。
需要实现其他任何一项功能可咨询 客户机可登录访问(C/S架构多机访问)。
比如:我需要在B电脑访问Wincc服务器但是只能访问部分界面(服务器可以分配权限分配页面)。
在C电脑也只能看部分页面。
这样就可以灵活控制工程师站的访问权限 一键导入EXECL和导出EXECL数据。
注意是可读取可导出
实现各类动画里面包含丰富的VBS脚本(不需要Sql基础)一看就会。
报表功能包含: a:自定义时间存储:按秒分小时日等单位查询时可以自定义时间查询同时求出每列的最大值最小值平均值。
b:可以设定查询的值范围比如设定温度大于20和小于100范围出现的次数。
C:一键导出到报表成execl文件 d:统计设备的运行时间故障时间待机时间产量Oee等指标。
控件功能:自己封装好的.Net控件里面有报表图表水球和各种设备画面。
你可以很快熟悉运用全局脚本画面脚本按钮脚本各种元素脚本。
运用结构变量历史变量OPC等。
最近在车间折腾WINCC报表系统
0-
5版本发现这玩意儿比想象中好玩多了。
先说个特别实用的——全屏轮播功能不需要手动切画面直接给操作工展示关键生产数据。
实现起来也不难在画面属性里塞段VBSSub AutoScreenSwitch() Dim screens screens Array(PumpStation,BoilerRoom,ValveGroup) For Each scrn In screens HMIRuntime.ActiveScreen scrn HMIRuntime.Tags(ScreenTimer).Write 30 30秒切换 Do While HMIRuntime.Tags(ScreenTimer).Read 0 HMIRuntime.Trace 倒计时 HMIRuntime.Tags(ScreenTimer).Read vbCrLf Delay 1000 Loop Next End Sub这段脚本用了个倒计时变量控制画面停留时长调试时打开Trace功能能看到实时切换日志。
记得在全局脚本里设置开机自启动工人连鼠标都不用碰。
WEB发布功能对远程监控特别友好不过坑点在Webnavigate插件安装。
实测发现必须用IE内核浏览器别笑还真有厂子用着Windows XP安装包路径千万别带中文。
分享个权限控制的骚操作——在用户管理里给不同电脑设置可见画面白名单Function CheckPermission(compName) Select Case compName Case EngineerPC01: ScreenList Main,Debug,History Case OperatorPC02: ScreenList Main,Alarm Case Else: ScreenList Main End Select HMIRuntime.Tags(AllowedScreens).Write ScreenList End Function这样B电脑工程师能看到调试界面C电脑操作工只能看报警信息。
配合结构变量食用更佳比如把权限组和画面树形结构绑定。
报表模块的自定义查询才是重头戏举个统计温度异常次数的例子Function TempAbnormalCount(startTime, endTime) Set logs HMIRuntime.DataLogging.GetData(TempLog, startTime, endTime) abnormalCount 0 For i 1 To logs.Count If logs(i).Value 20 And logs(i).Value 100 Then abnormalCount abnormalCount 1 End If Next HMIRuntime.Tags(AbnormalCount).Write abnormalCount End Function配合趋势控件的时间轴选择器操作工自己拉取时间段就能生成统计报表。
导出Excel直接调COM组件Set excelApp CreateObject(Excel.Application) excelApp.Visible True Set workbook excelApp.Workbooks.Add() workbook.Sheets(
.Range(A
.Value 设备运行报告 ...填充数据... workbook.SaveAs D:\Report\Production_ FormatDateTime(Now,
.xlsx注意要关闭Excel进程避免内存泄漏建议用后台导出模式。
WINCC报表(
0-
7.
画面自动全屏轮播是全屏哦WEB发布网页可浏览(需安装webnavigate插件)。
需要实现其他任何一项功能可咨询 客户机可登录访问(C/S架构多机访问)。
比如:我需要在B电脑访问Wincc服务器但是只能访问部分界面(服务器可以分配权限分配页面)。
在C电脑也只能看部分页面。
这样就可以灵活控制工程师站的访问权限 一键导入EXECL和导出EXECL数据。
注意是可读取可导出
实现各类动画里面包含丰富的VBS脚本(不需要Sql基础)一看就会。
报表功能包含: a:自定义时间存储:按秒分小时日等单位查询时可以自定义时间查询同时求出每列的最大值最小值平均值。
b:可以设定查询的值范围比如设定温度大于20和小于100范围出现的次数。
C:一键导出到报表成execl文件 d:统计设备的运行时间故障时间待机时间产量Oee等指标。
控件功能:自己封装好的.Net控件里面有报表图表水球和各种设备画面。
你可以很快熟悉运用全局脚本画面脚本按钮脚本各种元素脚本。
运用结构变量历史变量OPC等。
说到设备OEE统计结构变量派上大用场了。
定义个设备状态结构体#pragma code(useadmin.dll) #include apdefap.h struct DEVICE_STATUS{ BOOL isRunning; BOOL isFault; TIME_STRUCT startTime; TIME_STRUCT endTime; };配合报警触发器记录状态变更时间点运行时长计算直接取时间差就行。
全局脚本里挂个定时器每分钟更新一次OEE看板。
最后安利下自研的.NET控件库比如这个动态水球图public class LiquidGauge : Control { protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); using (var path new GraphicsPath()) { path.AddEllipse(ClientRectangle); using (var brush new PathGradientBrush(path)) { brush.CenterColor Color.FromArgb(120, 0, 255,
; brush.SurroundColors new[] { Color.Transparent }; e.Graphics.FillPath(brush, path); } } } }扔到画面里绑定变量值液位变化时会有流体效果。
控件库还封装了实时曲线、3D管道图这些直接拖拽就能用。
其实玩转WINCC的关键在于活用脚本和结构变量官方文档里很多隐藏功能。
比如用OPC DA读第三方PLC数据时记得设置异步读取模式防止界面卡死。
最近在尝试把历史数据推送到MQTT有进展再分享。