组态(Configure),翻译为配置、设定的意思,从大的方面来说可以这样理解,根据生产需要,配置出合适数量及功能的数据采集卡、主控单元等硬件设备,然后在配套软件中建立好与设备的通信关系、控制方案、操作画面及其他各种辅助管理的功能,这有点像搭积木,我们根据需要搭建出各种系统,然后让它完成我们的控制要求。
1、组态软件的组成
组态任务是我们的工作重点,在硬件配置合理的情况下,我们的大部分工作会依赖组态软件实现和完成。现有的组态软件基本上分为两个类别,一种是专用的,一种是广泛适用的。其实从纯粹的软件思想来看待这个问题,我们完全可以把它做成一种通用的软件,目前我国很多软件就是这种形式。为什么这样说呢?我们来看看组态软件的基本构成(见图1)。
图1 组态软件组成示意图
组态软件一般包括两个基本部分,大多采用类似C/S结构(Client/Server客户/服务器,也可以划分为上位机软件和下位机软件),主控单元为客户端,HMI(人机接口软件,Human Machine Interface)为服务器端。在HMI部分完成数据的显示、设备的操作、历史数据的记录及查询、报表的生成及打印、操作日志的记录及查询、报警信息的显示及查询等功能,这些功能是直接面对操作员的,工程师搭建好具有以上功能的操作平台后,让它不间断地运行,为生产服务。
那么,系统所需要的数据是从哪里来的呢?就是我们的客户端-主控单元。主控单元完成控制方案的实现、数据的采集与输出、硬件设备状态的监控等功能。这些数据通过一定的通道并且按照一定的规则传输到服务器中,这样就组成了“组态”的整体结构。
因此,我们对于不同设备厂家的主控单元,配置好不同的数据传输协议硬件结构,那么,只要我们能把每个厂家的数据传输协议都搞通了,服务端程序就应该是通用的了。当然了,以上仅仅是从整体结构上来描述的,实际应用中会有更加复杂的网络体系。
来个形象的比喻,比如我们想吃红烧肉(生产要求),不管是谁家的肉(数据),只要我们用钱买回来(通信协议),就可以做出来了(上位软件),当然了,我的手艺和你的手艺(软件特点)是有区别的,我做出的味道可能就会比你做的好吃那么一点点(满足了客户需求)。那为什么还会有专用软件呢?因为一些比较著名的大厂商是不会把数据传输协议完全透明给用户,或者因为在使用过程中一旦有了问题,不好归咎责任(是他卖的肉不好呢了还是你的手艺不行呢,这样会造成不必要的麻烦,因此目前大部分。“不差钱”的用户在选择系统时还都会选择同一家的产品(如果不好吃就让他重新买肉,重新做,直到客户满意为止),还是那个目的,系统的稳定是第一位,标准的协议说明文档,就会避免其中的纠纷。因此,科学技术只有开放才能得到更好的发展,云南昌晖仪表制造有限公司强烈支持软件的开源事业。
2、组态软件的功能
现在组态软件很多,不论谁家的软件,功能主要有两个,第一实现与下层数据的连接第二实现与人的沟通,也就是完成数据的显示,数据的修改。其他辅助功能有操作记录、历史趋势、报警信息及查询等。对于一个成熟的专业的软件,为了实现辅助功能,只需要做适合的配置工作就可以完成了。
自动化工程组态的过程大多分四步:
a、协议配置。
b、建立连接。
c.数据库配置。
d、画面组态。
一般控制系统软件分为上位和下位,有些公司把这两部分整合在一起。
①上位软件
上位软件基本上包括图形界面的组态,历史数据的组态,报表的组态,操作日志的组态等。还有一些提供给用户二次开发功能,方便用户定制个性化系统,由于这类功能大部分使用C语言、VB-Script等编程语言,所以需要有较高水平的工程师来使用,否则会造成不必要的麻烦。
除了必需的和系统本身的功能外,一般的上位组态软件还包含或者支持与其他系统通信的功能,比如OPC服务,DDE功能等,或者直接提供其他软件访问本身数据库的方法,使得系统能与其他系统进行数据的交互,为工厂级信息管理系统提供数据。严格上来讲,生产管理信息系统仅能从生产系统读取所需要的数据,也就是说这里的数据流向是单向的,不能是交换的,同时需要单独设立一台网关机,从物理上把两个网络隔离开,从以上两个方面来保证生产系统的安全(见图2)。
图2 上位组态软件的通信结构
②下位软件
下位软件一般完成控制方案的组态,为了方便用户使用,国际电工协会(IEC)在1992年颁布了IEC1131-3《可编程序控制器的编程软件标准》,该标准制订了五种不同的编程方式,如梯形图(LD)、功能块(FBD)、结构文本(ST)、指令表(IL)、顺序功能图(SFC)等。每种形式有各自的特点,可以在不同的需求下选择不同的方式,也可以混合使用。比如LD适应于逻辑控制,类似我们以前的电气图纸,很容易看懂。FBD适用于复杂的控制算法,如PID等,它可以把某个常用的算法封装成一个功能块,在程序其他地方调用。SFC亦称流程图或状态转移图,是一种图形化的功能性说明语言,专用于描述工业顺序控制程序,使用它可以对具有并发、选择、跳转等复杂结构的系统进行编程。
一般来说,LD和IL是等效的,FBD和ST是等效的,SFC中的步S0到步S3与转换条件t1到t5是可以使用其他任何编程语言实现的。
共有访客发表了评论
网友评论