[西门子] 组态王中如何把采集到的变量值存入到Access数据库

[复制链接]
查看54334 | 回复0 | 4 天前 | 显示全部楼层 |阅读模式

前两天碰到一个学员咨询了一个组态王的问题,要把组态王中采集到的变量值写入到Access的数据库中,在写入的过程中发现无法把数据写入到数据库中,检查时发现组态王已经和数据库建立了连接,而且也能够正常创建数据库表格,就是无法把变量的值写入到数据库中,找了半天也没有发现问题在哪里,后来通过远程的方式帮他查找问题发现是组态表格模版里面建立的时间相关字段所选择的变量类型与记录体里面的变量类型不匹配,修改好数据类型后可把采集到的变量值正常写入到数据库中。

那么组态王中采集到的变量值是如何写入到数据库中呢?本文通过简单的举例方式为读者描述介绍如何把采集到的变量值,写入到组态王的Access数据库中,主要步骤分为以下几个:

Part.01新建变量

首先建立组态王与下位设备的通信连接,然后在组态王的数据词典中分别建立四个变量用于完成本次实例的测试,如下图所示:



各变量的数据类型和变量的作用如下表格所示:

变量名称

数据类型

变量的作用

DeviceID

整形

用于存储于数据库的连接ID

驱动器电压

浮点数

采集驱动器电压值

驱动器电流

浮点数

采集驱动器电流值

驱动器速度

浮点数

采集驱动器的运行速度

Part.02建立Access数据库

(1)新建Access数据库文件

可在项目文件的存储路径下的空白处点击鼠标右键,选择插入一个Microsoft Access数据库,如下图所示。



此时建立的数据库的后缀名为“.accdb”,打开数据库文件后,选择“文件”菜单,然后单击“另存为”选项,选择保持为后缀名为“.mdb”的格式的文件,并取名为Access,如下图所示:



(2)定义数据源

通过ODBC 的方式定义数据源,在电脑的“开始”所有程序菜单中找到“windows 管理工具”选项,选择里面的ODBC Data Sources(32-bit)的选项,如下图所示:



在打开ODBC数据源管理程序对话框中,选择“用户DSN”选项,然后点击“添加”按钮,添加一个用户数据源,在弹出的创建新数据源中选择如图所示的选项,并点击“完成”按钮。



在弹出的ODBC Microsoft Access安装页面中,定义一个数据源名称,并单击选择按钮,选择前面所建立的“Access.mdb”的文件。



新建完成后,点击“确定”按钮即可完成数据源的定义,这里需要注意的是定义的数据源名称建议使用英文字符,后续组态使用的时候需要用到。

Part.03在SQL访问管理中组态表格模版和记录体

(1)表格模版

新建表格模版,表格模版为后面在数据库文件中建立数据库表格时候需要使用,如下图所示,在新建的表格模版中建立一个名为“Access模版”的表格模版,如图所示的6个字段,为每个字段匹配好对应的变量类型。



(2)定义记录体

建立完表格模版后,需要定义记录体,记录体定义是按表格模版的方式建立,并需要给定义的字段关联对用的变量,新建一个名称为“驱动器数据插入”的记录体,并在该记录体中定义如下图所示的内容。



Part.04组态画面

在组态王的画面中建立三个变量用于显示驱动器的电压,电流和速度,并建立三个按钮,用于实现与数据库的连接、新建和数据的插入,如下图所示:



连接数据库按钮的组态:在弹起的对话框中调用“SQLConnect”函数实现与数据库的连接 ,组态如图所示:



创建数据表格按钮组态:在弹起的对话框中调用“SQLCreateTable”函数实现与数据库表格的创建,组态如图所示:



插入数据库按钮组态:在弹起的对话框中调用“SQLInsert”函数实现把变量数据填入到数据库的表格中,组态如图所示:



Part.05运行效果演示与总结

分别点击“连接数据库”按钮,建立与数据库的连接,然后点击“创建数据库表格”,可在数据库中生成一个驱动器数据的表格,最后点击“插入数据库”每点击一次 ,可插入一次数据到数据库的表格中。如下图所示





本实例中若需要自动连接数据库和创建数据表格,或是插入数据库时可通过使用命令语言的方式进行编写命令语言进行数据的插入。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则