MySQL数据库课程设计_Wincc实现与数据库的交互以及报表的实现方式

经常会有朋友用到将部分有用的数据单独写到关系型数据库如: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)

dac89a9ddc0b8d2103be5f6b67d9bb86.png
图1

7a17b6d392509bb25eef21f4fc8864c9.png
图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控件将网页嵌入到你的画面中进行报表的查看。此方式非常方便,比组态软件自带的报表功能强大。

098dc724669ea540dbd5ba32f473689d.png
SSRS 开发的简单报表

611111b232323eed1fd26254e958e460.png
各种 Chart

3916e04a6f1a438399a8c4af88a8cb05.png
各种仪表盘

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


免责申明:本机构号所载文章为本号原创或根据网络搜索编辑整理,文章版权归原作者所有。因转载众多,无法找到真正来源,如标错来源,或对于文中所使用的图片,资料,下载链接中所包含的软件,资料等,如有侵权,请跟我们联系协商或删除,谢谢!


本文为剑指工控原创技术类文章,2020年2月18日首次发表于《剑指工控》公众号。

特别鸣谢本文作者

剑控老罗

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


本账号为《剑指工控》官方知乎账号。剑指工控由一群带有工控情结的技术青年组织在一起,他们都是在工控一线的技术达人,如果你是工控一线的工程师,如果你在日常工控工作当中会遇到种种的技术问题,如果你热爱工控技术和工控生活,欢迎加入我们,随手提出你的技术问题会有技术达人第一时间为你解答。可以分享你的工控喜怒哀乐,会有兄弟们跟你产生共鸣。可以获得最新的工控资讯,指明技术和行业路线,做到未雨绸缪。

欢迎大家关注我们的公众号剑指工控(JZGKCHINA),更多的了解我们。

Ps. 进入公众号,“群&社区”菜单中有各个”技术交流学习群“的入口链接,获取小编微信号,添加小编微信并备注“行业+微信名+城市”(格式不对能通过好友验证,但一律不加群),期待你的加入~

高校在校生请告知小编,进入“高校自动化专业交流群”~

高校自动化专业群,旨在专业课程学习,专业方向选择,课程设计,毕业设计,就业方向,考研方向,高校杯自动化竞赛等方面进行交流和经验分享~

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要连接WinCC中的SQL Server数据库,可以使用Java中的JDBC驱动程序。下面是连接WinCC中SQL Server数据库的基本步骤: 1. 下载Microsoft SQL Server JDBC驱动器。您可以从Microsoft官方网站下载最新的JDBC驱动程序。 2. 添加JDBC驱动程序到项目中。将JDBC驱动程序的jar文件添加到Java项目的类路径中。 3. 加载JDBC驱动程序。使用Class.forName()方法加载JDBC驱动程序,例如: ``` Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); ``` 4. 创建连接。使用DriverManager.getConnection()方法创建与SQL Server数据库的连接,例如: ``` String url = "jdbc:sqlserver://localhost:1433;databaseName=your_database_name"; String username = "your_username"; String password = "your_password"; Connection conn = DriverManager.getConnection(url, username, password); ``` 其中,url是SQL Server数据库的连接字符串,username和password为连接数据库的用户名和密码。 5. 执行SQL语句。使用创建的连接对象创建Statement对象,然后使用Statement对象执行SQL语句,例如: ``` Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM your_table_name"); while (rs.next()) { // 处理查询结果 } ``` 6. 关闭连接。使用Connection对象的close()方法关闭连接,例如: ``` conn.close(); ``` 这些是连接WinCC中SQL Server数据库的基本步骤。根据具体情况,您可能需要进行更多的配置和调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值