我的一些想法 点击:1181 | 回复:3



qsoft

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 17回
  • 年度积分:0
  • 历史总积分:23
  • 注册:2003年9月02日
发表于:2002-08-13 09:38:00
楼主
在大学时我就开始从事DCS的监控系统开发,曾经独立我公司开发过一套监控系统,用Delphi的IDE作组态平台,我想在这里谈一些我的看法。 首先我觉得这里的学习气不如何好,倒像的各大公司在卖。 我看了关于OPC-XML的介绍文章,我个人认为,OPC-XML并不是如何好,其实OPC-XML主要解决OPC不能透过网关或防火墙被外层访问,和更有利于被WEB应用而开发的技术。从效率上说是很低的。它的一个卖点是跨平台和标准化,但在实际应用中,特别是在国内,能够使用跨平台系统的又有几家?都是清一色的Windows系列,任何跨平台技术对他们都没有意义;XML的效率比不如何高,大家想一下就知道了,每个看过XML文档的人都知道,如果你将一个小字段的数据结构转化为XML文档的话,我想这个文档会大原来的数据大一倍有余的,又何来效率。所以在国外,OPC-XML能用得上的只有WEB应用,我并不反对OPC-XML,但看清楚它,方能更好的使用它。 我看了马先生关于实时数据库的介绍,说实在的有时一些名词上把我都说糊涂了,比如实时数据和历史数据,这是一个很难区分的概念,有人认为实时数据是当前一个工位号的实时值,更多的是存放在内存区中的。而历史数据是对以上实时数据以某个采样频率或采样点进行采集所得到的数据集。但我有时又会看到一些说法将实时数据和历史数据认为是一样的概念,认为实时数据是对工位的实时值进行采样所得到的数据集,也就是说,实时数据等于历史数据。????? 听马先生说过,工厂最好将当前所有能得到的数据存储下来,因为工厂无法知道将来需要哪些数据,我同意马先生的说法,在我和一些工程师的接触中也觉得工厂的实际情况是这样的,厂方总想我们将他们的DCS的每个变化最记录下来。比如我们现在就接手一个项目,两套DCS共五千个工位,厂方要求我们最好对数据进行每秒钟采样,我想尽各种办法来实现它,种种难题都可以解决。从我们现在的软件进行情况来看,只要硬盘足够大,50000-100000个工位也可以到每秒甚至更快的采样速率进行采样存储。但好多厂家都忘了,这些数据并不是用来存储的,在国外,如果一个数据库的存储投入1$,可能就要投入近10$的钱用于对这些数据进行分析管理上。大家可以想一下对5000个工位进行每秒采样所得到的数据量是多大,大概每天的数据量不下600M吧,据此数据量,我想国内没有几家是可以处理的。但我看了许多的监控软件,至多也只是用这些数据进行存储存储,又或画画几线趋势线,生成一些报表,而并没有对这些宝贵的数据进行充分的应用。而要真正使用这些数据,有许多难题要解决的,首先就是数据检索问题,这么大的数据量执行任何的检索条件都是很可怕的。我想这将是我们行业里要进行深入研究的方向。 我看到日本横河已经在走这条路了,现在日本横河有一个软件包,能够对这些数据和报警信息进行关联分析,但也仅仅是一个统计系统,离真正实用的专家系统还有很长的路要走,而且我想该软件包对这么大的数据量也是无能为力的。 何清 hq.com@263.net



cocolux

  • 精华:1帖
  • 求助:0帖
  • 帖子:4帖 | 7回
  • 年度积分:0
  • 历史总积分:24
  • 注册:2002年7月16日
发表于:2002-08-11 14:46:00
1楼
有道理· 我现在做的一个工程所面临的数据量也是海量数据, 在图形分析上也很麻烦!找不到相应的软件·只有自己做了哟。 在其中遇到很多问题,跟你说的差不多。 我想我们可以交流一下?

qsoft

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 17回
  • 年度积分:0
  • 历史总积分:23
  • 注册:2003年9月02日
发表于:2002-08-12 10:21:00
2楼
你可以直接给我发信,咱们可以交流交流。 以我的看法,如果过于海量的数据,就应该考虑从底层入手了,如果这些数据在远程服务器上,而又要在本地多次调用的话,可以考虑将部分数据取到本地处理;如果用Delphi、BCB等开发工具就不要使用BDE引擎为好,不过Delphi的ADO一直有问题,好你也不大可用,如果能用数据为我们提供的底层API最多了,不过开发难度就大多了。我只在MySQL上使用过这种API,不知道其他的数据API如何。在数据库的设置上,该考虑适当加大数据库的缓冲区大小了。

cocolux

  • 精华:1帖
  • 求助:0帖
  • 帖子:4帖 | 7回
  • 年度积分:0
  • 历史总积分:24
  • 注册:2002年7月16日
发表于:2002-08-13 09:38:00
3楼
我的这套系统是基于vc++开发的,现在我在测试oracle与 sql server 数据库的并发数据的优缺点,以确定用那种数据库. 如果用sql server就用ADO.我想在系统的初始化建立数据库的连接. 而在多线程中只负责数据的写入,只要缓冲池足够大,是可以满足大数据的存贮的.而用ORACEL可以直接用它提供的pro/c来做数据库的接口,在数据的存贮上不需要其他的转化,在时间上要优越一些.不用它很麻烦.

热门招聘
相关主题

官方公众号

智造工程师