品牌
经销商厂商性质
厦门市所在地
多功能数据采集NI PCI-6233-信号分析仪
面议Eaton Cutler-Hammer 万能式断路器
面议Eaton Cutler-Hammer 万能式断路器
面议Eaton Cutler-Hammer 万能式断路器
面议Eaton Cutler-Hammer 万能式断路器
面议HONEYWELL DCS卡件-I/O单元
面议HONEYWELL DCS卡件-I/O单元
面议ABB-中大型PLC
面议ABB 3HAC047184-003-中大型PLC
面议WOODWARD电磁阀-控制单元
面议WOODWARD扩展机箱电源5437-092-控制单元
面议WOODWARD速度控制2301A-控制单元
面议FOXBORO DCS卡件 FOXBORO 43AP-FA42C STYLE B INSTRUMENT DATA
FOXBORO DCS卡件 FOXBORO 43AP-FA42C STYLE B INSTRUMENT DATA
FOXBORO DCS卡件 FOXBORO 43AP-FA42C STYLE B INSTRUMENT DATA
集散控制系统(DCS)是应用计算机技术对生产过程进行集中监视、操作、管理而对现场装置的控制分散的基本控制技术。集散控制系统的重要组成部分是组态软件。传统的工业控制软件重复使用率低开发周期长,很难满足工业自动化的要求。工业自动化组态软件的出现为解决实际工程中的问题提供了一种新的方法,它能够使用户根据自己的控制对象和控制目的任意组态,使自动化工程人员能够面向问题的设计。
控制组态仿真软件要比传统仿真软件作出改进,使其不仅仅可以供控制人员进行一些控制的组态构建,还可以提供给操作人员进行仿真培训,以及进行控制管理人员的培训。只要使其控制组态的模式和现场模式保持*,就可以达到仿真的目的,而不必在实际的dcs控制室进行试验和调试,这样可以减少投资,并减小和避免工艺投放风险。因此,开发结构合理、安全可靠、简单实用的仿真系统控制组态软件,具有很好的应用前景。
2 系统结构及其实现
2.1 控制组态概述
控制组态仿真软件作为集成的图形编程语言,是针对dcs系统所开发的全中文界面的控制方案组态工具,它与dcs系统流程图组态软件联合完成对系统的图形组态,是新型dcs系统组态软件的重要组成部分之一,也是算法控制组态的核心部分。
本设计参考了电工委员会iec61131-3提供的用于控制的4种编程语言标准:梯形图,结构化高级语言,方框图,指令助记符,采用了简单方便易于用户学习和使用的方框图形式的编程语言,使编程环境更加高效,更加人性化。
本文根据面向对象的设计思想,基于目前控制领域通用的windows2000平台,采用visualc++6.0语言实现了程序设计。这样,不仅使人机界面更加友好,而且能够更好地利用windows系统的资源,使组态软件的功能更为强大。
系统的结构如图1所示。各部分的功能及实现方法叙述如下。
图1 系统结构图
2.2 算法显示模块和控制算法组态
该软件向工程人员提供了一个图形化的控制算法组态平台,工程人员可以根据实际工业过程,选用合适的控制算法,用图形的方式,即选用算法显示模块,组成各种控制回路,然后将组态信息保存到组态文件中。控制算法组态的主界面如图2所示。
图2 控制组态主界面
图2算法显示模块指的是对具体算法的抽象显示。在图形化组态界面上,每种具体的控制算法对应一种算法显示模块,以方框图的形式显示,用户只需用简单的鼠标操作就能将的算法显示模块添加到的控制回路中,或删除和修改参数,从而完成控制算法的组态。其在控制组态界面中的显示是带有输入输出端子的矩形,图3是一个加法显示模块的外观及显示说明:
图3 算法显示模块图
其中,模块在回路中的编号只有在进行过编译且用户确定后才正确显示,编译前不显示。而模块流水号只是在绘制过程中记录的全局*的模块的id号,它由系统自动生成,用户不能修改。
设计控制组态仿真软件的界面时,主要是实现组态用到的算法显示模块、连线和文本注释的绘制和显示。从共性的角度考虑,决定将对算法模块的实现用一个从cobject类派生的类cfunmod来统一实现和管理,在该类中设定标志变量对具体的算法显示模块类型进行区分,同时标记该模块的输入输出端子数目。连线使用从cobject类派生的类clinkline实现,包含对连线两端所连算法显示模块的标记。而文本注释则由另一个从cobject类派生的类ctext来实现,为普通注释时,记录字符串类型的注释参数,而与数据库中的点关联时,记录点名。在绘制回路的过程中,它们都是由基于各类的链表来操作和管理的。
为支持对算法显示模块和文本注释的参数配置,需实现属性对话框,这是很容易实现的。这样,通过鼠标双击算法模块,弹出属性对话框,用户填入相应的参数,点击确定保存即可。
2.3 控制算法库
控制算法库是整个系统仿真运行的基石。系统中内置了若干种控制算法。为了保证控制算法的可扩展性和统一性,所有的控制算法实现了一个统一的接口,供算法运行模块调用。
具体来讲,是采用模块化设计的思路,将dcs的控制算法分解成若干个功能独立的、能分别设计、编码和调试的算法模块,组成控制算法库。每个算法模块完成的功能既明确又单纯,从而使处理的问题局部化和简单化。算法模块作为控制组态仿真软件结构中的zui基本元素,实际上就是完成一个特定算法的独立程序。算法模块的接口简明而又统一,且能彼此隔离和独立。从用户角度看来,控制算法库中的各种控制算法都是*一样的,而且系统也是采用统一的接口对各种算法进行调用的,用户无需关心每个控制算法的具体实现细节。另外,用户使用时,只需对控制算法模块的参数进行修改,而无需修改算法模块的代码。
将各算法编成独立的可反复调用的算法模块,对应每一个功能模块都有一个参数列表和输入列表,系统运行时,控制调度程序依据这些信息,顺序依次执行。
设计算法库时,先设计一个算法基类cfunction,其中实现一个虚函数fun,具体算法从该类中派生。在程序中,采用统一调用各算法模块的fun函数的方法实现对控制算法的调用,这样的接口简单明了。