WinCC归档数据报表控件

1、背景
     WinCC实现报表历来是老大难,自带的报表功能不好使,又没有好用的第三方控件。虽然网上也有很多实现报表的方法,但是毫无例外的要求使用者具有脚本编程功底,HwDataReport的出现将终结这一现象。您无需一行脚本即可完成WINCC报表,除了可以打印及导出Excel外还支持曲线展示。

  该控件不但可以嵌入到WinCC/TIA WinCC画面中,还有单独的可执行程序提供查询。除了可以在控件界面里操作查询,还支持使用脚本控制该控件,功能非常强大。


2、控件授权
     控件授权:V4.0以下免费,V5.0及以上收费

 

3、HwDataReport简介
      HwDataReport是一个第三方报表控件,它的使用极其简单,你只需将它拖到画面上即可,在运行时通过选择起始时间、结束时间即可显示该时间段内的数据。通过查询时间间隔可以设置读到报表中的数据间隔时间,比如取一分钟的平均值、10分钟的平均值或是1小时的平均值等,可以很容易的形成日报表、班报表及月报表等等。所有功能无需一行脚本代码即可完成。

 

4、控件功能
     控件名称: HwDataReport  
          V35.0

       1、不用写一行脚本;

      2、可以自定义查询时间,支持生成班、日、月和年报表;

      3、可以自定义报表标题、背景色和字体;

      4、可以自定义列标题,替换归档变量名称为自定义名称;

      5、自定义显示的小数位数;

      6、支持累积量、平均值、最大值、最小值和差值;

      7、支持多个不同格式的报表;

      8、支持数据预览和打印;

      9、支持导出为Excel;

      10、提供API接口,可以使用VBS控制它定时自动生成报表并打印;

      11、支持运行在客户机上,可以设置归档数据服务器名称;

      12、支持自定义报表打印样式;

      13、支持曲线展示;

 

5、控件下载
    下载地址(这里有使用演示):
    https://pan.baidu.com/s/1dF3gpt3

 

      购买地址;

     https://item.taobao.com/item.htm?spm=a1z10.1-c-s.w4023-18175796676.16.54639955

 

6、控件支持平台
   下列平台已测试通过:
     Win7/Win8/Win8.1/Win10 32/64bit

 经典WinCC V7.0及以上版本

   TIA WinCC Prefessional V11.0及以上版本


   经过若干大版本更新及根据客户使用反馈对bug的修补,该控件目前已非常成熟,欢迎使用!任何使用中的问题请随时反馈,谢谢支持和关注!

 

7、技术优势

  目前市面上做WinCC报表的非常多,但是无外乎是基于MSFlexGrid及OWC,它们无一例外都属于ActiveX技术,这是微软一种过时的技术。MSFlexGrid表格样式太古老,非常难看,未来的操作系统未必会支持。OWC在Win10上会有问题,且它不是免费的,绑定了Office授权,也就是说如果你的Office不是正版,那么使用OWC是存在版权问题的。

  HwDataReport基于微软最新的DotNet技术,界面清新且完美支持Win10及未来版本,可以放心使用。

8、主要更新记录

  2018-9-22: V33.0(PRO)&V3.1(Int'l)

        允许自定义打印时的表头和表尾,下图是配置窗口:

        下图是打印效果:

    2019-4-5: V35.0(PRO)&V10.0(Int'l)

      优化对曲线的支持、可选横向和纵向打印;

 

  

转载于:https://www.cnblogs.com/InhaSoftware/p/7786665.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/251569.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue数组操作不更新视图问题

vue 观察数组的变异方法 更新视图 push() pop() shift() unshift() splice(i,n,arr) sort(xx) reverse() ex: app.book.push({ name:css, author:lee }) 有些方法不会改变数组 filter() concat() slice() 返回新数组 需要用 新返回的数组 更新原数组 ap…

java中如何计算两个时间段的月份差

直接计算,先取得两个日期的年份和月份,月份差(第二年份-第一年份)*12 第二月份-第一月份转载于:https://www.cnblogs.com/pretty-guy/p/3284593.html

Node --- Promise中的多异步协作

当我们需要处理多个异步调用时,应该如何处理呢? //首先假设有2个读取文件的异步调用,promise1和promise2 var promise1 readFile ("foo.txt", "utf-8"); var promise2 readFile ("bar.txt", "uft-8");//然后,我们可以使用all()方法…

Software-OO 面向对象思维

2017-11-06 11:02:50 所有编程语言的最终目的都是提供一种“抽象”方法。 解决问题的复杂程度直接取决于抽象的种类及质量。这儿的“种类”是指准备对什么进行“抽象”? 汇编是对基础机器的少量抽象。“命令式”语言是对汇编语言的一种抽象。 (Alan Kay …

Go Python 7: 2-Layer Neural Network

转载于:https://www.cnblogs.com/wordchao/p/9182511.html

LiveWriter测试

test livewriter 转载于:https://www.cnblogs.com/wujun/archive/2006/11/21/567052.html

第三次实验报告

项目一 项目分析 本项目目的就是考察我们调用searching类和sorting类中的方法,通过提交测试用例设计情况(正常,异常,边界,正序,逆序)确保类的可行性 代码截图 排序截图 运行截图 项目二 代码截…

Node --- 构建一个HTTP服务

代码如下: var http require(http); http.createServer(function (req, res){res.writeHead(200,{Content-Type: text/plain});res.end(Hello World\n); }).listen(1337, 127.0.0.1); console.log(Server running at http://127.0.0.1:1337);运行如下: 详情见《深…

python中#!/usr/bin/python与#!/usr/bin/env python的区别

目的是在运行python脚本的时候告诉操作系统我们要用python解释器去运行py脚本 所以我们在第一句往往会写如下两句中的其中一句: #!/usr/bin/python或 >#!/usr/bin/env python 就是说在没有在执行程序时指出用什么程序运行py脚本时,系统会去调用python程序来执行。…

页面级缓存@ OutputCache

最近要用到缓存,所以才去找了相关资料,开始在一个用户控件头加入 OutputCache指令,发现第一次进入页面是对了,第二次再进入时就出错了。郁闷……这里 OutputCache的一些参数说明: 以声明的方式控制 ASP.NET 页或页中包含的用户控件…

$.ajax的一些坑啊

1.如果发送ajax返回的数据为json务必设置其 Content-Type:application/json;charsetUTF-8不然会导致其success:function(data)中的data返回的为字符串,导致后面的文本解析失败 转载于:https://www.cnblogs.com/lonecloud/p/7794670.html

JavaScript --- 解析Cookie

var parseCookie function(cookie){var cookies {};if(!cookie){return cookies;}var list cookie.split(;);for (var i0;i<list.length;i){var pair list[i].split();cookies[pair[0].trim()] pair[1];}return cookies; };

DDR3和eMMC区别

DDR3内存条和eMMC存储器区别&#xff1a; 1. 存储性质不同&#xff1b;2. 存储容量不同&#xff1b;3. 运行速度不同&#xff1b;4. 用途不同。 具体区别如下&#xff1a; 1、存储性质不同&#xff1a;eMMC是非易失性存储器&#xff0c;不论在通电或断电状态下&#xff0c;数据…

Sql Server临时表中插入标示列

select ROW_NUMBER() over( order by sort_id asc) as rows,* into #tmp_tb from tb_district 其中sort_id为您原表的排序列。 tb_district为要操作的表。 转载于:https://www.cnblogs.com/daretodream/archive/2013/04/03/2997800.html

17秋 软件工程 团队第五次作业 Alpha Scrum3

17秋 软件工程 团队第五次作业 Alpha Scrum3 今日完成的任务 杰麟&#xff1a;java后端学习&#xff1b;世强&#xff1a;Android的部门基础信息模块的信息显示和对接后台&#xff1b;港晨&#xff1a;后台管理登陆界面ui设计&#xff1b;树民&#xff1a;超级管理员Web后端数据…

Node --- Basic认证

Basic认证: 当客户端与服务器端进行请求时,允许通过用户名和密码实现的一种身份认证方式. // 如果一个页面需要Basic认证,它会检查请求报文头中的Authorization字段的内容,该字段的值由认证方式和加密值构成: $ curl -v "http://user:passwww.baidu.com/" > GET …

用列表+for循环生成乘法口诀表

1 # 结合一下列表生成&#xff0c; 准备设计乘法表2 # numlist [1,2,3,4,5]3 # [pow(i,3) for i in numlist]4 # ## [1, 8, 27, 64, 125]5 # [[pow(i,2), pow(i,3), pow(i,4) ] for i in numlist]6 # ## [[1, 1, 1], [4, 8, 16], [9, 27, 81], [16, 64, 256], [25, 125, 625]]…

event.target【转载】

[转载] 1.this和event.target的区别&#xff1a; js中事件是会冒泡的&#xff0c;所以this是可以变化的&#xff0c;但event.target不会变化&#xff0c;它永远是直接接受事件的目标DOM元素&#xff1b; 2.this和event.target都是dom对象&#xff0c;如果要使用jquey中的方法可…

node --- http数据上传

// 通过报头的Transfer-Encoding或Content-Length即可判断请求中是否带有内容 var hasBody function(req) {return transfer-encoding in req.headers || content-length in req.headers; };// 在HTTP_Parser解析报头结束后,报文内容部分会通过data事件触发 function (req, re…

MVC是架构模式,而不是设计模式

最早学编程的时候看过一些书&#xff0c;印象深刻的一本书《设计模式解析》&#xff0c;那本书给我后来的工作提供了很大的帮助。 他叫我站在问题模型的立场上指定解决方法&#xff0c;也教会了我软件设计中每个问题都可以细化到到不可再分割的原子性。 在那书以后看到过一些设…