本文介绍了一种在Auto CAD下的组态工具软件的设计方法,它面向那些具有实际过程控制经验、但缺乏编程知识的用户,采用较流行的图形化组态方法和开放的算法模块库结构,适用于中小规模的控制系统。
组态是指根据应用对象及控制要求,配置用户软件的过程。利用组态软件,用户只需通过一种近似“搭积木”式的方法,便能生成所需的应用“软件”,它取代了以往基于计算机语言的软件开发,必将成为计算机控制系统软件的主流。目前,工控系统的组态软件多数是国外大公司设计的,尽管它们功能齐全,但引进需要大量资金。本文介绍了一种在Auto CAD下的组态工具软件的设计方法,它面向那些具有实际过程控制经验、但缺乏编程知识的用户,采用较流行的图形化组态方法和开放的算法模块库结构,适用于中小规模的控制系统。
1、设计思路
&nbs
Auto CAD作为窗口交互式图形系统,为用户提供了具有稳定格式的图形交换文件(DXF文件)。这样,只要编写DXF文件的转换程序,就能实现应用程序与Auto CAD间的图形数据交换,摆脱靠传统编程实现功能块的定义和组态图的编辑,代之以通过设计转换程序获取组态图的相关信息。因此,在Auto CAD系统平台上,开发图形化组态工具软件不仅是省时的,而且是可行的。
2、图形化组态的实现
在Auto CAD中,块可以有多个属性,同一属性在块被多次插入时,可以有不同的取值。我们将上述特性应用于功能块的图形化设计,将其定义为带属性的图形块,将功能块的规格参数定义为它的属性,利用Auto CAD的属性编辑功能对其进行编辑。
2.1 功能块图形库的建立
功能块即控制算法模块,它包括规格参数输入项和运算结果输出项。功能块的图形化设计就是用带属性的图形符号来表述功能块。图1为乘法器,其中S1、S2为地址型规格参数,分别表示被乘数和乘数的地址,S3为数据型规格参数,表示增益。
图1 功能块(乘法器)的图形符号
2.2 组态图的图形交换文件的获取
首先根据控制要求调用功能块,并为其分配输出地址,填写数据型规格参数值(或取缺省值),再对功能块进行逻辑连接,便完成了组态图的设计。利用Auto CAD的DXFOUT功能,可以得到上述组态图的图形交换文件。
2.3 组态数据库文件的生成
组态图中的实体可归纳为:点、线、功能块3类。为此,首先设计3种数据结构,分别存储从图形交换文件中获取的上述实体的图形信息和组态信息。
(1) 点的数据结构
struct point{
float x; (x坐标)
float y; (y坐标)
int blk; (属性值)
struct point*next; (指向点的指针)
&n
Auto CAD中的点仅定义了横、纵坐标,它们只能反映点的图形特征。但是,当点与功能块的输出相连时,该点就同时具有了组态特征,为此,我们引入属性值来扩充点的定义。利用点的属性值概念,我们成功地解决了功能块地址型规格参数值的传递问题。同时,利用点属性值的唯一性,初步解决了组态的逻辑判错问题。
(2) 线的数据结构
对直线和折线,可采用统一的点链结构来描述,即
struct ptline{
struct point*pt; (指向线起点的指针)
struct ptline*next;
};
(3) 功能块的数据结构
考虑到功能块的规格参数数量及含义各异,我们定义两个结构分别描述其图形特性和组态特性。其中,功能块的图形特性表述为
struct fc—list{
struct point*pt;
struct fc—rec*fc—desc;
struct fc—list*last,*next;
};
功能块的组态特性表述为
struct fc—rec{
char start—blk[4]; (输出开始块号)
char end—blk[4]; (输出结束块号)
char f—code[3]; (功能块号)
char sheet[2]; (功能块规格参数的实际个数)
char S1[12]; (规格参数S1的描述)
……
char S40[12]; (规格参数S40的描述)
};
在图形交换文件中,带属性的块以INSERT为标志,随后是其块名、插入点坐标及属性值,可依此判断插入的是否为功能块,若是,则根据插入点坐标,计算块输出点及规格参数输入点的坐标,并用一个点指针将其按照先功能块输出、后规格参数输入的顺序形成一个线性点链,分别读取各属性项的取值(即输出块号、规格参数项S1,S2,…的值)等,并存入表述功能块组态特性的相应结构项;否则,越过此插入块,不予处理。
扫描整个图形交换文件,将点、线及功能块的图形信息和组态信息自动填入相应的数据结构,便得到分别指向由组态图中点、线、功能块组成的点链、线链和功能块链的指针,再根据它们在组态图中的连接关系,就可以确定各功能块的地址型规格参数的取值,完成由组态图向组态数据库文件的转化,生成组态控制字。
3 结论
由此可见,只要画出控制框图,就能从我们提供的功能块图形库中选取相应的功能块(或自
行定义新的功能块),在Auto CAD系统平台上,通过功能块的规范连接和数据型规格参数的填写,形成控制系统的组态图,进而生成组态数据库文件(组态控制字),完成图形化组态。将该控制字下装,借助下位机的监控程序,便可实现组态图所描述的控制策略,对被控对象实施控制。