摘要:前两天有个学员来咨询了一个关于组态王的问题,说是要把组态王采集到的变量值写到 Access 数据库里。可在写入的时候,发现数据怎么都写不进去。检查了一下,组态王已经跟数据库连上了,而且数据库表格也能正常创建,可就是没法把变量值写进去。找了好一阵子,也没弄明白问
前两天有个学员来咨询了一个关于组态王的问题,说是要把组态王采集到的变量值写到 Access 数据库里。可在写入的时候,发现数据怎么都写不进去。检查了一下,组态王已经跟数据库连上了,而且数据库表格也能正常创建,可就是没法把变量值写进去。找了好一阵子,也没弄明白问题出在哪儿。后来通过远程帮他找,才发现原来是组态表格模板里建立的跟时间有关的字段所选的变量类型,跟记录体里的变量类型不相符。把数据类型改好之后,就能正常把采集到的变量值写到数据库里啦。
那组态王里采集到的变量值到底是怎么写到数据库里去的呢?本文用简单举例子的办法给读者讲讲怎么把采集到的变量值,写到组态王的 Access 数据库里,主要的步骤有下面这几个:
Part.01新建变量
首先建立组态王与下位设备的通信连接,然后在组态王的数据词典中分别建立四个变量用于完成本次实例的测试,如下图所示:
各变量的数据类型和变量的作用如下表格所示:
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运行效果演示与总结
分别点击“连接数据库”按钮,建立与数据库的连接,然后点击“创建数据库表格”,可在数据库中生成一个驱动器数据的表格,最后点击“插入数据库”每点击一次 ,可插入一次数据到数据库的表格中。如下图所示
本实例中若需要自动连接数据库和创建数据表格,或是插入数据库时可通过使用命令语言的方式进行编写命令语言进行数据的插入。
来源:PLC技术玩一点号