有没有实现过组态软件的大侠? ( 积分: 200 )

  • 主题发起人 主题发起人 同道中人
  • 开始时间 开始时间

同道中人

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟想实现一个仿照Intouch的组态软件,
谁能告诉我:最大的障碍会是什么?
 
小弟想实现一个仿照Intouch的组态软件,
谁能告诉我:最大的障碍会是什么?
 
不知道Intouch是什么样的软件,什么功能?
 
没有用过Intouch!!
 
Intouch是最出名的组态软件,类似监控系统[:)]
 
最大的障碍当然是对应不同的硬件,需要编制不同的通信协议,这不是一个人能完成的工作。也可以简单些,只选一种协议进行编程,例如选OPC协议,因为现在大部分的PLC和仪表等设备都支持OPC。其它的如图形,工作量也较大,不要图形也可以。
 
我使用过实时系统的DCS组态软件(担不是你说的Intouch,但是我认为组态软件其实现的基本原理是相同的)而且我也很有兴趣开发一个类似的组态软件(但那是以后的事情了:)呵呵)。我认为组态软件的难点或者说是重点是:
1、要设计好合理的数据结构(包括数据的存储结构以及数据在内存中的结构等等)
2、要设计好适宜的基类和各个派生类。因为只有类设计的好才能够最好的实现封装和数据隐藏,从而使整个程序具有最大的灵活性。(灵活性,这也是组态软件的初衷和最大特色)
3、要对系统充分了解和理解后再设计整个系统的构架。换句话说就是要有优异的需求分析和系统分析。(因为,就算是你的类设计得再好、算法设计得再出色,要是需求就错了,那也都是白搭!可是现在国内有不少公司都是这样的...拥有一批出色的程序员,但是却又有一个大忽悠似的所谓“系统分析员”...悲哀!)
呵呵,话扯远了。而且好像开发步骤整个顺序颠倒了... ^_^ 别说我语无伦次啊!
应该是首先有好的需求分析,然后形成稳固的系统构架(就好像人的骨骼),然后在此基础上设计好数据结构和类(就好像是肌肉和皮肤)。
那么最后就是你所需要的组态软件了(肌肉和和皮肤可以在身上移来移去,哈哈,有人管这个叫美容。但是从没听说过把某块骨头换个位置的,但是也许以后会后吧...who knows!)这就是组态!
 
一诺说得很对。对于组态软件其实通讯也是一个很大的难点(有多种协议,如:FieldBus,ModBuse等)。但是我觉得软件的灵活性也是一个重点和难点...
 
我先回答“一诺”的问题:
为不同的硬件编制不同的通信协议确实很繁琐,但我觉得这不是组件软件的责任,组态软件只提供几种标准的数据接口(如早期的Intouch只提供DDE接口方式),如果你在使用过程中需要组态软件没有提供的数据接口,那需要您自己完成接口转换:)

再回答“Johnny_du”:
您发表的文字比较多,非常感谢!
您是在提醒我按正常的开发步骤做,因为我是一个人,我没有很多时间做功能系统分析,所以我才挑了一个最出名的组态软件Intouch,照着它做,做成一摸一样,哈哈。
 
to 同道中人:其实你说的意思明白。但是你说你选好了一个好的软件模板想仿照它去作,但是你要注意一点:如果你只是一味的模仿,那么你只能够做到形似而非神似,当你觉得开发完毕可以交付使用的时候你就会感觉到功能和灵活性方面与模板却大相径庭。你要想把它模仿好重点是需要神似而形却只是次要问题。那么做到神似的关键还是正确的需求分析(姑且省去这一步,因为你是要做的和Intouch一样)、合理的数据存储结构和良好的模块化设计(对象和接口)。你说呢?
 
to Johnny_du,
“。。。那么做到神似的关键还是正确的需求分析(姑且省去这一步,因为你是要做的和Intouch一样)、合理的数据存储结构和良好的模块化设计(对象和接口)。”
我觉得你说的对,但好象所有的软件实现都是这样要求的,哈哈。
 
to 同道中人,
我还要说一名,理论再完美也没用,如果你的通讯部分做的做的不好,经常出错,没人会用的,即使只选用一种协议(如OPC,可应付当前的大部分知名厂商的设备),也要做得完美些,别指望用户自己去解决通讯问题,最终用户一般对通讯的细节并不太了解,通讯部分必须模块化且易于扩展,也方便自己以后为特殊用户单独编写驱动程序。通讯做好了,这个软件才有市场。而最终用户最关心的问题,是你的这个东西支持不支持某某设备,如不支持,是不会用的。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
回复
0
查看
776
老衲
后退
顶部