组态王:请教岁月留金 点击:2707 | 回复:19



啊读

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 24回
  • 年度积分:0
  • 历史总积分:51
  • 注册:2003年11月10日
发表于:2004-04-21 10:42:00
楼主
你好,你说的:我现在可以每秒采集最高16个数据,把变量的采集频率可以设置为10毫秒以上,而数据库插入语句最高为55毫秒,这是在应用程序命令语言中的设置。把这两者都设置为最高的话(我个人认为变量采集频率的设置只要小于等于数据库插入语句的执行频率都是一样的),然后再设置运行系统-特殊-运行系统基准频率设置为最高的55毫秒(亚控技术人员说最好是200毫秒),就可以每秒采集16个数据了,当然这是在变量个数少的时候,多的时候我并没有试过。大家有什么见解交流一下吧,我们共同进步! 我现在就对一个变量进行采集,你说的应该是没问题的。但我不会做,能否把你做的工程传给我参考一下啊,本人不胜感激!还有,你的数据存储到哪里啊,用组态王里的历史曲线能把这些数据全部显示出来吗?你是我大海里的一根草,一根救命草啊!



岁月流金

  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 168回
  • 年度积分:0
  • 历史总积分:195
  • 注册:2003年11月19日
发表于:2004-04-21 18:07:00
1楼
我把数据存储到数据库里面,能看到每秒采集的个数。但是我在画面中-插入通用控件-历史趋势曲线这个控件,把变量显示到这个控件里面,控件属性里面可以设置每多少毫秒绘制一个点最小到1毫秒。采用历史库可以看到效果,这里你可以在定义数据记录和安全区中的记录为数据变化记录,变化灵敏设置为很小也可以,这样在你的历史库中记录的数据就很多,数据变化很快的情况下你能看到每秒内的数据变化,不过不变化的时候不能记录,所以不能达到要求。还可以采用定时记录,不过最低为每1分钟记录一次,这也不能达到要求。最重要的是可以采用数据库,把数据库中的数据读入到控件中,我用表格模板创建表格但是设置历史趋势曲线控件属性时总是不能添加时间和毫秒字段,因为在表格模板中选的是定长字符串型,配置历史趋势曲线控件的数据库时不能选择。后来我就自己创建表格,数据能写入而且每秒最多16个,但是在这个控件中不能见到。我认为我的错误是在那个毫秒字段上,我采用的是系统的那个毫秒变量,记录在数据库中的毫秒值不是象想象中的实时的毫秒值,而是按顺序排列的值从1一直增长直到数据停止记录。如果你能找到错误就能达到你的要求,如果你需要例子,请把你的地址写给我。

啊读

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 24回
  • 年度积分:0
  • 历史总积分:51
  • 注册:2003年11月10日
发表于:2004-04-22 10:08:00
2楼
我的地址是:哈尔滨理工大学东区229信箱 150040 杜鹏 Email dupeng_8032@163.com

啊读

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 24回
  • 年度积分:0
  • 历史总积分:51
  • 注册:2003年11月10日
发表于:2004-04-22 10:17:00
3楼
我把数据存储到数据库里面,能看到每秒采集的个数。但是我在画面中-插入通用控件-历史趋势曲线这个控件,把变量显示到这个控件里面,控件属性里面可以设置每多少毫秒绘制一个点最小到1毫秒。采用历史库可以看到效果,这里你可以在定义数据记录和安全区中的记录为数据变化记录,变化灵敏设置为很小也可以,这样在你的历史库中记录的数据就很多,数据变化很快的情况下你能看到每秒内的数据变化,不过不变化的时候不能记录,所以不能达到要求。 这种方法我觉得也可以采取,变化灵敏设置为很小时,我的问题就可以解决,只是它的灵敏度能达到多少呢? 自己创建表格,数据能写入而且每秒最多16个,但是在这个控件中不能见到,这句话是什么意思啊。 谢谢指教!

岁月流金

  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 168回
  • 年度积分:0
  • 历史总积分:195
  • 注册:2003年11月19日
发表于:2004-04-22 13:35:00
4楼
你可以试一试,当然最小的灵敏度就是根据你的数据采集卡的位数算出来的,比如你的采集卡为12位而最大电压为5V那么最大的灵敏度即为5/4095=0.0012,我认为你设定为0.002就可以了。 我自己创建的表格后数据库中写入数据没有问题,但是应用表格模板建立的表格就是不能写入数据因为字段不匹配。在历史趋势曲线控件中选择时间和毫秒字段时不能选择,因为表格模板中只有定长字符型等,而没有时间/日期型,所以采集的毫秒级数据就不能在历史趋势曲线中显示。我用自己创建的表格后能够和数据库连接了,但是在历史趋势曲线控件中还是看不到毫秒级数据。我也正在研究。

啊读

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 24回
  • 年度积分:0
  • 历史总积分:51
  • 注册:2003年11月10日
发表于:2004-04-23 11:13:00
5楼
利用Access数据库记录毫秒级历史数据的方法(内部参考)。 目前组态王本身历史数据库不能记录和分辨小余一秒的数据记录,如果有这种历史记录的存储需求,只能通过第三方的数据库完成。 通过这种方式记录的历史数据可以被组态王的历史趋势曲线(控件)和报表使用,但是由于历史趋势曲线(控件)与历史数据记录的时间的时区存在差异(差8个时区),则需要进行一些处理。可以参考使用下面的方法。 定义数据库创建操作参见数据库操作使用,定义的时间字段在Access数据库做如下处理即可:选择时间字段的设计: 在组态王做记录插入时此时间字段不做插入(在记录体中不与具体变量建立连接关系)。 可以参考后附例程。 在解决方案中的高速历史记录中有这这么一个文档,你看了吗?有一个图我传不上来,但没有相应的例程啊! mcgs 技术人员说他们的软件可以通过数据存盘进行每秒10个数据的存储,然后有历史曲线控件可以进行调用,不知道组态王是否有此功能

啊读

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 24回
  • 年度积分:0
  • 历史总积分:51
  • 注册:2003年11月10日
发表于:2004-04-23 14:33:00
6楼
你可以将数据写到数据库中(如:acess数据库),如果你的点数不多的话,最快可以100ms存储一次,然后通过通用控件中的历史趋势控件查询数据。 这是组态王技术人员给我的答复,我想问问,能实现吗? SQL数据库还要再另行安装吗? 麻烦你了,不胜感激!

岁月流金

  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 168回
  • 年度积分:0
  • 历史总积分:195
  • 注册:2003年11月19日
发表于:2004-04-23 15:30:00
7楼
我已经实现了每秒16个数据的数据库记录,但前提是在采集变量不多的情况下的.用Access就可以实现.

啊读

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 24回
  • 年度积分:0
  • 历史总积分:51
  • 注册:2003年11月10日
发表于:2004-04-24 10:41:00
8楼
我就两个采集变量,应该没问题的。可以把你的例程给我吗?你实现了通过通用控件中的历史趋势控件查询数据吗?应该可以八!

啊读

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 24回
  • 年度积分:0
  • 历史总积分:51
  • 注册:2003年11月10日
发表于:2004-04-24 11:02:00
9楼
我收到了,谢谢!!!!!!!!1

啊读

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 24回
  • 年度积分:0
  • 历史总积分:51
  • 注册:2003年11月10日
发表于:2004-04-24 15:16:00
10楼
你用的是6.5的版本吧,我在6.03的版本下打不开啊,我想重装6.5版本,但又怕以前的工程给废了,怎么办啊! 还有,是不是得设置SQL数据库啊,需不需要另行安装什么软件啊,我的XP系统下ODBC找不到啊!

啊读

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 24回
  • 年度积分:0
  • 历史总积分:51
  • 注册:2003年11月10日
发表于:2004-04-24 15:39:00
11楼
我按你说的设置了ODBC数据库,打开运行环境时出现画面,但提示:ODBC驱动程序失败的小框,又说不能使用’|’;文件正在使用中。确定后又显示:从ODBC数据库中读取数据失败。 这是怎么回师啊!

岁月流金

  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 168回
  • 年度积分:0
  • 历史总积分:195
  • 注册:2003年11月19日
发表于:2004-04-24 21:57:00
12楼
当然需要设置数据库了,你只要安装了office就可以配置ODBC了,不用装其它的软件。我用的是6.5,6.03的也应该差不多,6.03确实打不开6.5的工程,因为历史库好像不兼容。我用Access写入数据没有什么问题,我的主要问题是数据库的容量问题。你知道Access最多可以记录多少条记录吗?还有我想把数据导入EXCEL中但是条数有限制,也请各位高人告诉一声EXCEL数据表格的限制。

啊读

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 24回
  • 年度积分:0
  • 历史总积分:51
  • 注册:2003年11月10日
发表于: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、 该解决方案主要针对数据的记录频率要求较高,并且要求按试验的次对数据进行处理的客户需求

岁月流金

  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 168回
  • 年度积分:0
  • 历史总积分:195
  • 注册:2003年11月19日
发表于:2004-04-26 15:45:00
14楼
可以创建表格模板也可以自己设计表格,但是用表格模板建立的表格没有日期等类型,应用历史趋势曲线的数据库的时候很不方便,所以还不如自己创建表格。你说的这个例子是组态王给你的例程,跟咱们做的差不多,只不过它用了I/O变量的时间戳而使采集的周期更加准确。

啊读

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 24回
  • 年度积分:0
  • 历史总积分:51
  • 注册:2003年11月10日
发表于:2004-04-26 20:36:00
15楼
那自己在哪里创建表格啊,有什么要求吗?

啊读

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 24回
  • 年度积分:0
  • 历史总积分:51
  • 注册:2003年11月10日
发表于:2004-04-27 14:30:00
16楼
他们的方法存储的数据可以通过历史曲线控件进行查询显示吗?

岁月流金

  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 168回
  • 年度积分:0
  • 历史总积分:195
  • 注册:2003年11月19日
发表于:2004-04-27 19:23:00
17楼
不知道,应该是可以但是我没有做成功,用自己在Access里创建的表格也没有成功。

啊读

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 24回
  • 年度积分:0
  • 历史总积分:51
  • 注册:2003年11月10日
发表于:2004-04-30 10:30:00
18楼
岁月流金,我想再请教一下,你知不知道如果把数据存储到excel中后,能不能使其自动显示曲线啊,象组态王那样.我现在只能是自己一步一步设置曲线,想看其他的数据,还得重设,没有实时性,我怎么样才能做出能自动显示的曲线呢?(当然其他方法也行)!帮忙想个办法吧,谢谢了!!!!!!!!!!!!!!!!!!!!!!!!!!

梦萝

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 17回
  • 年度积分:0
  • 历史总积分:61
  • 注册:2003年8月05日
发表于:2004-05-06 19:55:00
19楼
lion518你丫欠揍啊

热门招聘
相关主题

官方公众号

智造工程师