前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【预告:模块化工业PC(早10点开课)】正文: Wincc实现与数据库的交互以及报表的实现方式

【预告:模块化工业PC(早10点开课)】正文: Wincc实现与数据库的交互以及报表的实现方式

作者头像
剑指工控
发布2021-11-09 10:21:16
2K0
发布2021-11-09 10:21:16
举报
文章被收录于专栏:剑指工控

JZGKCHINA

工控技术分享平台

经常会有朋友用到将部分有用的数据单独写到关系型数据库如:SQL Server ,MySQL等,然后通过制作报表进行数据的显示,而对于报表,我目前比较常用的是 SQL Server 自带的免费的 SSRS 来制作报表,用户可以通过网页的形式进行访问,页可以导出为PDF,WORD,或者可以选择打印,非常方便。

那么对于WINCC软件大家肯定非常熟悉了,

那么,如何将实时数据写入WINCC自带的关系数据库SQL Server,并读出。

步骤:

1)在SQL SERVER中创建一个数据库

登录到 SQL Server,登录方式默认为Windows账户,而非混合账户sa(如图2),首先需要在SQL Server中建立一个数据库,如名称为“DBTEST”,然后建立一个表,如value,表中输入字段,并设置数据格式,如字段名称为 press,temp,他们对应的数据类型都为 float , 此处的字段名称需要与WINCC中变量的名称一致,(如图1)

图1

图2

如果你对数据库不懂,那么可以观看此专栏进行学习,掌握数据库的相关知识,以及报表的制作方法。

2)wincc 数据写入到数据库

可以使用按钮来将数据写入,在按钮的VBS脚本中输入代码;一般我们常通过全局脚本,周期触发将数据写入(必须在计算机属性—启动选项卡中勾选"全局脚本运行系统")

代码如下(按钮和全局脚本相同):

'定义变量

Dim sCon

Dim sSql

Dim oRs

Dim conn

Dim oCom

Dim Con

Dim Data1, Data2

'将需要写入的数据从WINCC中读取到变量中,此处的press和temp必须与数据库中的建立的字段一致

Data1=HMIRuntime.tags("press").read

Data2=HMIRuntime.tags("temp").read

'数据库连接,"Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial ‘Catalog=DBTEST;Data Source=.\WINCC"中Initial Catalog=DBTEST需要改为实际建立的数据库的名称,Data Source=.\WINCC需要修改为数据源,完整的名称应该是登录数据库时的Server name: luoyh\WINCC

Con="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=DBTEST;Data Source=.\WINCC"

Set conn = CreateObject("ADODB.Connection")

conn.ConnectionString = Con

conn.CursorLocation = 2

conn.Open

'将实时数据插入到数据库,"insert into value VALUES(" & Data1 & "," & Data2&");" 此处value为表的名称," & Data1 & "," & Data2&" 此处的数据为字符串时需要用单引号,如:' " & Data1 & " ',' " & Data2&" '

sSql="insert into value VALUES(" & Data1 & "," & Data2&");"

Set oRs = CreateObject("ADODB.Recordset")

Set oCom = CreateObject("ADODB.Command")

Set oCom.ActiveConnection = conn

oCom.CommandType = 1

oCom.CommandText = sSql

Set oRs = oCom.Execute

Set oRs = Nothing

conn.Close

Set conn = Nothing

以上代码就可以实现将实时读取到数据写入到关系数据库,写入的频率主要看全局脚本中周期触发的设置。

3)通过 SSRS 开发报表,进行数据的显示分析等操作。

通过 SSRS 可以以表格的形式进行数据显示,可以对数据生成趋势曲线,饼图,仪表盘,地图等元素,通过一定脚本,还可以实现对数据的筛选功能等。还可以通过网页形式访问报表,而对于很多组态软件都已经具有Web控件,那么就可以通过此web控件将网页嵌入到你的画面中进行报表的查看。此方式非常方便,比组态软件自带的报表功能强大。

SSRS 开发的简单报表

各种 Chart

各种仪表盘

以上关于 WINCC 在与数据库的数据交互,以及如何使用 SSRS实现强大的报表功能的介绍到此结束。

。。。。。。

姿势已摆好

就等你点啦

作者简介

剑控老罗

具有10年工业自动化领域SCADA,DCS,PLC等项目实施经验,熟悉石化行业,油田数字化行业,熟悉多个品牌PLC,HMI,SCADA,数据库等。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-02-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 剑指工控 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档