发表于:2004-04-26 14:52:00
13楼
你说的很对,我现在看到存储的记录了,也就是,记录的数据可以放到access数据库里,但由于组态王本身的缘故,用历史曲线查询控件无法显示曲线,对吧。我看到你的例程里。怎么SQL访问管理器里没有创建表格模板啊。是不用吗?
我看到的文章说组态王和access进行数据交换时需要设置表格模板和记录体的,但我用6.5版本是(xp系统)却创建不了表格模板,这是怎么回事啊!
以下是我见到的另一篇文章,不知你能不能看懂:
试验数据储存与管理解决方案
客户需求:
1、 客户的每次试验可以按照1秒、100毫秒、200毫秒、300毫秒、500毫秒的频率进行记录
2、 试验开始前先选择数据是否保存,如果选择保存的话再进行数据的保存
3、 数据记录到两个表中,数据记录按照次进行保存,每次试验的数据保存为不同的文件名
4、 可以随时管理数据文件并编辑数据文件、查看数据曲线、删除数据文件
解决方案:
1、 组态王的历史数据的最小记录频率为秒,因此对于客户的该需求利用组态王的sql函数,将试验数据按照客户选择的频率插入access数据库,事件命令语言如下:
if(\\本站点\开关==1 &&\\本站点\保存参数==3)
{
时间=\\本站点\A1.TimeDateString+" "+\\本站点\A1.TimeTimeString;
SQLInsert( DeviceID,"Table1", "bind1" );
SQLInsert( DeviceID,"Table2", "bind2" );
}
该段语言根据保存参数的不同分别在不同的事件命令语言中,其存在时的刷新频率进行不同的设定。
注:1)、以秒为单位的数据保存见例程的数据改变命令语言
2)、为了使数据的时间更为准确,因此毫秒数据时间的值取自I/O变量的时间戳
2、 access数据库的处理
由于access数据库容量的限制,应在每次试验结束后将数据库的数据导出为一个EXCEL文件,可以利用数据库的宏进行编程完成该功能,对于设置完成的数据库需要再进行编辑时只需将窗体关闭并从新打开即进行编辑。
(access数据库详细设置过程见ACCESS演示动画)
3、 由于access数据库导出的表格为固定的文件名,因此应利用组态王的后台命令语言将该源表另存为要求的文件名以便于编辑和处理,该命令语言的处理见例程中的事件命令语言的开关==0
4、 对于access数据库导出的文件也可根据实际情况改为导出文本文件或其他格式的文件
5、 曲线的查看在打开数据文件(XLS)格式后可利用EXCEL的数据表功能即可显示曲线,同时也可进行编辑和打印
6、 利用组态王的ListLoadFileName函数 将演示工程数据目录中的*.xls文件显示在列表框中便于编辑和整理
实现功能:
1、 在组态王界面中实现数据保存的选择以及保存数据频率的设定
2、 数据的输出和保存在后台进行执行,操作人员不用手动打开其他程序进行设置
3、 在组态王中可以浏览数据文件目录并可进行删除和编辑管理
4、 组态王运行界面中直接打开数据文件并进行编辑和曲线查询、打印,同时可在组态王中直接删除该数据文件]
5、 试验数据可按次存储成一个数据文件,文件名可按每次开始的时间存为不同的名字以便于日后的查找和处理
6、 该解决方案主要针对数据的记录频率要求较高,并且要求按试验的次对数据进行处理的客户需求