前一篇文章中有网友留言(Kepware 如何实现与PLC的通讯(点击阅读)),想了解如何将kepware采集到数据写入数据库,今天以SQL Server为例,给大家分享一下如何实现,当然你可以换为其他数据库如MySQL,Oracle,Access等支持ODBC的。
首先认识一下两位主角。
1. 首先建立Kepware与设备的连接,如与PLC,DCS等设备的连接。使用自带的Simulator进行数据仿真。
2. 新建通道,通道类型为:Simulator,下一步指定名称为:Sim,其他可以为默认,直到完成设置。
3. 配置Data Logger 设置与数据库的连接,新建一个 Log Group
3.1 设置Log Group 的Name : SQL Server ,Update rate
3.2 然后设置数据源,及使得Kepware建立与数据库的连接,此处使用ODBC方式建立连接。在系统DSN中设置名称:kepware,选择服务器的名称:SCADA,可以是本地数据库或者远程数据库。
3.3 设置SQL Server 的验证方式,两种方式根据需求进行设置。
3.4 设置需要连接的数据库,需要提前在SQL Server 数据库中建立数据库,如下连接到:JZGK_DATABASE 数据库。
3.5 下一步直到完成,可以点击“测试数据源”,测试是否连接数据库成功。
4. 完成以上设置后,在DSN中选择刚才建立的ODBC连接名称为:kepware 的连接。
5. 然后进行Data Map的设置,将需要写入数据库的点添加到这里,点击“Browse”,查找到需要添加的点,如下图。
6. 然后选择数据库中的表,如果已经建立了表格,选择第一个,一般不需要建立,可以选择第三项由KEPWARE自动建立,需要输入自己设定的表的名称如:data11;在”Table Format”中选择“Narrow”。
7. 设置Triggers,默认已经包含一个500ms的,可以自己修改
8. 完成配置点击将配置应用到当前的 Log Group
9. 打开SQL Server数据,找到JZGK_DATABASE数据库,打开“表”,可以看到我们刚才在第6步中建立的表:dbo.data11,右键选择表进行查询,在右侧可以看到查询结果,Kepware以设定的速率将数据写入到了数据库中。
至此实现了将现场设备的数据采集后实时写入数据库中,同时也为MES,ERP等系统提供了数据源。
可以通过数据库进行各种数据的筛选,清洗,以及可视化,对于数据可视化,常用的如Power BI等工具,当然最简单就是在之前的公开课中讲到的SSRS,基本可以实现我们常用的各种报表需求,同时报表在部署后,可以通过浏览器直接进行报表的浏览,对于目前大多数SCADA软件,DCS等内置有WEB Browser 控件的也可以实现直接访问报表。
当然KEPWARE也可以作为OPC Server 为MES等系统直接提供实时数据。