组态王数据库访问在PLC控制系统中的应用
更新时间:2023-12-02 20:56:01 阅读量: 教育文库 文档下载
1 引言
人机界面组态技术广泛应用于以ipc(工控机)为核心的计算机控制系统中。组态软件通过plc采集现场的数据,构造人机界面以动画显示、趋势曲线以及数据报表等方式提供plc控制系统现场的运行状况。操作人员通过对数据的分析,能够更好地对控制过程进行优化。
对采集到的大量分散型数据进行分析时,通过报表输出的方式显然存在着不够灵活、实时性差以及难以进一步处理的问题。
作者提出一种解决的方法,即将数据采集与数据处理分开,组态王具有odbc(ms开放式数据库互连标准)数据库访问功能,一方面在ipc中建立相应的数据 库,由组态王将采集到的数据动态写入库中保存,另一方面操作人员可脱离控制系统随时随地利用ms access、visual foxpro等数据库强大的功能实现数据的处理。
2 组态王数据库访问
组态王数据库访问功能实现组态王与其他odbc数据库之间的数据传输。它支持的数据库主要有oracle6、oracle7.2、sybase或 sqlserver数据库、dbase数据库及microsoft access数据库。先在系统odbc数据源中添加数据库,后通过组态王sql访问管理器和sql函数实现连接、断开数据库,写入、查询数据等各种操作。
组态王sql访问管理器包括表格模板和记录体两部分。表格模板用来定义表格的结构,包括字段名称,字段类型等。记录体用来连接表格的列和组态王数据词典中的变量。当执行sql函数sqlcreattable()时,使用的表格模板将定义创建的表格结构;当执行sqlinsert()、 sqlselect();或update()时,根据记录体中的定义使组态王中的变量和数据表格中的变量相关联。
3 组态王sql函数
组态王使用sql(结构化查询语言)函数和数据库交换信息。这些函数是组态王标准函数的扩充,可以在组态王的任一种命令语言中使用,这些函数允许操作人员 选择、修改、插入、删除数据库表中的数据。sql主要函数如附表所示。
附表 sql主要函数
除sqlnumrows()外,所有sql函数都返回结果代码,如果代码不为零,表示调用失败,结果代码可以通过sqlerrormsg()获得。
4 组态王与odbc数据库连接
4.1 odbc
odbc(open database connectivity)称为开放式数据库互连,目的是实现异构数据库的互联。在此之前,由于各种数据库产品都有自己独立的编程语言和文件格式,要想实现异构数据库之间的数据共享和访问,就必须为特定的应用单独编写程序。这种临时编写的程序不具备丝毫的通用性,当数据库的结构字段等属性发生变化时,原来 的程序就不可以再次使用了。access、sql server、sybase等数据库都支持odbc。
一个完整的odbc由下列几个部件组成:
(1) 应用程序(application);
(2) dbc管理器(administrator)。该程序位于windows控制面板(control panel)的32位odbc内,其主要任务是管理安装的odbc驱动程序和管理数据源;
(3) 驱动程序管理(driver manager)。驱动程序管理器包含在odbc32.dll中,对用户是透明的。其任务是管理odbc驱动程序,是odbc中最重要的部件;
(4) odbc api函数;
(5) odbc驱动程序,提供了odbc和数据库之间的接口;
(6) 数据源。数据源包含了数据库位置和数据库类型等信息,实际上是一种数据连接的抽象。
4.2 数据源的建立
首先在ipc上建立一个数据库存储和处理采集到的各种数据,名为“系统数据库.mdb”,然后在控制面板上的odbc 数据源控制台中定义一个数据源。这里选择microsoft access数据库。
双击数据源选项,弹出odbc数据源管理器对话框,点击“系统 dsn”属性页,增加microsoft access driver(*.mdb)驱动程序,单击“完成”按钮,进入odbc microsoft access安装。输入数据源名称“mydata- source”选择相应数据库(“系统数据库.mdb”),完成数据源定义。
4.3 数据源与odbc数据库连接
在组态王中定义变量,名为“deviceid”,变量类型:内存整型。建立plc设备,定义i/o变量,名为“plcdata”,负责采集数据。新建一个 名为“mybind”的记录体,增加字段“mydata”, 与“plcdata”相关联。新建一个名为“mytemplate”的表格模板,增加字段“mytabledata”, 定义相应变量类型、字段长度、索引类型。
建立人机界面,通过sqlconnect()函数建立与“系统数据库.dbc”的连接。如 下:sqlconnect(device1id,“dsn=mydatasource;uid=mine;pwd=”);
其中deviceid 用来保存sqlconnect()函数为每个数据库连接分配的一个数值, deviceid最多为255。
组态王与数据库连接成功后,通过组态王sql函数调用就可以在数据库中创建表格写入数据了。
4.4 数据动态写入
通过sqlcreatetable()函数按照表格模板“mytem- plate”结构新建数据库表格,名称为“采集数据表”,具体如下:
sqlcreatetable(deviceid,“采集数据表”,“mytemplate”);
通过sqlinsert函数根据记录体“mybind”向表中插入数据,具体如下:
sqlinsert(device1id,“plc数据”,“mybind”);
该命令执行后,组态王运行系统会将从plc采集到的“plcdata”的当前值插入到“系统数据库”中表格“采集数据表”中“plc数据”字段的最后一条 记录中。
5 系统设计案例
plc选用三菱fx2n,通信参数设置为96波特率9600,偶校验,7为数据位,1位停止位。
整个系统通过plc由传感器等设备获取现场数据,ipc安装组态王6.5,完成监控和数据采集,同时连接odbc数据库以表(dbf)的形式保存有用数 据,这样操作人员可以脱离控制系统,利用ms access或visual foxpro等对数据进行处理。
6 结束语
由组态软件本身(sql函数)或vc、vb等高级语言处理采集到数据往往需要十分复杂的编程,而通过组态王数据库访问功能,只需简单编程就可将数据采集与数据处理分离,这样一方面极大地减轻了编程人员的工作量,另一方面数据处理人员可以脱离控制系统独立的完成数据分析处理,灵活性实用性大大增强。
正在阅读:
组态王数据库访问在PLC控制系统中的应用12-02
最专业最新的财务报表数据分析模板07-18
2012年1月自考儿童文学概论试题06-05
16年北京市西城区高考二模试题带答案10-01
爱心教育特色学校创建实施方案04-11
2017年华中师范大学新闻传播学院440新闻与传播专业基础之传播学教程考研冲刺密押题04-29
公司金融习题09-03
医疗质量管理制度03-22
115-规划课题申报指南04-06
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 组态
- 控制系统
- 数据库
- 应用
- 访问
- PLC
- 冯晶数学平移与旋转公开课教案(1) - 图文
- 锉削姿势 - 图文
- 襄樊学院音乐学院《合唱与指挥教案》
- 小学语文课代表竞选演讲稿
- 大学物理2(上)总复习2--填空题60题(1)
- 地方政府企业社会责任政策分析
- midascivil技术讨论汇总 - 图文
- 人物访谈作业要求
- 2019春五年级数学下册 第4单元《分数的意义和性质》测试卷3(新版)新人教版
- 二年级数学暑假作业打印版(每天10道计算5道应用题共40天)
- 年产处理3万吨废旧轮胎再利用项目可行性研究报告
- 市场营销(三)案例题
- 贵州省百万公众网络学习工程活动试题
- 审计大师软件升级方法及常见错误
- 西安交通大学17年9月课程考试《机械电子工程基础》作业考核试题100分答案
- 高级英语精读课课程设计探究
- 最新企业技术人员培训管理制度
- 钢筋混凝土材料的力学性能试题及答案
- 艺术生如何去日本留学?费用、申请条件及学校推荐 - 图文
- 西华大学-焊接方法与设备实验指导书