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

2021-11-09 10:21:16 浏览数 (1)

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: luoyhWINCC

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,数据库等。

0 人点赞