参考文献:
(基本都是千禧年的文章,此时国产组态软件行业正处于井喷时期,虽然我知道写论文需要时效性强的参考文献,但这些文章所表述的内容竟然惊人地没有过时)
- 自动化组态软件的发展_马波
- 组态软件的现状与发展_欧金成
- 组态软件架构的研究与设计_刘耀
可以通过阅读以下参考文献来进一步了解组态软件:
4. 基于国产平台的工控组态软件的设计_李峰
我过去一直认为此类主题的文章毫无写作的必要,你只需要去理解如可使用一款组态软件即可;但实际上,随着对组态概念理解的加深,你会意识到从理论上重新认识一类产品,可以更好的帮助以后的工作。
●什么是组态?
组态(Configure),英文原意为“配置”,是指用户在不需要编写计算机程序的前提下,通过类似“搭积木”的简单方式(二次开发)来完成自己所需要的软件功能。
●工业控制系统
工业控制系统(Industrial Control Systems,ICS)是指包括计算机设备、自动化设备、实时数据采集和检测所涉及的过程控制设备在内的自动化控制系统,实现工业设施的自动化运行、过程监测和业务流程的管理控制。组态软件是工业控制系统不可或缺的重要组成部分。
我尝试使用自己的话来描述什么是组态软件,但实际上恐怕还是引用教科书段落来得更为精确。
组态软件指一些数据采集与过程控制的专用软件,它们是在自动控制系统监控层一级的软件平台和开发环境,能以灵活多样的组态方式提供良好的用户开发界面和简捷的使用方法,其预设置的各种软件模块可以非常容易地实现和完成监控层的各项功能,并能同时支持各种硬件厂家的计算机和IO设备,与高可靠的工控计算机和网络系统结合,可向控制层和管理层提供软、硬件的全部接口,进行系统集成。
按照使用对象来划分,可以将组态软件分成两类:
组态软件具有实时性、周期性、相关性、人为性的特点,搭配了比较完善的编辑工具,其构成如下图所示:
组态系统主要由组态环境和运行环境两大系统组成,前者供开发人员进行系统组态,后者直接针对现场操作使用,二者通过实时数据库连接。它所具备的灵活的画面显示组态功能,实时多任务的软件运行环境,完善的数据库管理以及易于配置的通信功能,可以为用户的系统投资以及其他实际问题提供解决方案。
组态软件所具备优点如下:
使用C++语言进行程序设计可以获得可复用性、可靠性、数据隐藏、继承性和多态性等众多优势。
OPC 将不同厂商的设备和应用程序之间的软件接口标准化,硬件开发商向用户提供不依赖于特定开发环境的具有 OPC 接口的程序,而软件开发商只需编写支持 OPC 的接口。
STEP7是用于SIMATIC S7系列创建可编程逻辑控制程序的标准软件,可使用梯形图逻辑、功能块图和语句表进行编程操作。
从前文描述可看出组态软件属于上位机软件,而STEP7属于下位机软件,因此STEP7不是组态软件。
以同为西门子公司出品的WINCC为例,我们所熟悉的组态软件页面通常是这样的:
组态软件由一系列的功能子系统和一些系统工具组成,它们提供了绘图存储、数据处理、报表生成、通讯等功能,覆盖了模型的多个抽象层次,支持控制系统的设计和现场监控。
组态软件在诞生之初,仅为其本身硬件配套 , 现如今通过大力加强对其他硬件产品的驱动支持和调整软件内部的各种功能 , 已发展成为专业化的通用组态软件。
组态软件是随着计算机在工业领域的广泛应用而兴起的,最早的组态软件诞生于上世纪80年代,它起源于DCS,壮大于PLC。在组态软件进入工业领域之前,企业往往需要聘请编程人员或向软件公司定做工业控制软件来应对日常生产。这类软件是专为了某套自动控制系统编写的,如果该系统在硬件上做出改动,则必须修改源程序,此过程将延长开发周期;制作完成的软件因其特殊性导致重复使用率低,使得价格居高不下。 这些缺点使得传统的工控软件渐渐无法满足用户日益增多的需求以及种类繁多的工业设备,而组态软件的出现很好地解决了上述问题。
目前中国市场上的组态软件产品按厂商划分大致可以分为三类:
国际上较有影响力的组态软件有IFIX、INTOUCH、WINCC,而国内行业知名的组态软件公司共有三家:MCGS、组态王和力控。考虑到微薄的软件销售额,目前国产组态软件厂商常以组态软件技术为基础, 结合嵌入式技术的发展趋势 , 简化产品功能 , 发展以人机界面为主的综合性的软硬一体化产品;或是以组态软件平台为基础, 借用多年开发软件的经验和技术积累 , 向系统集成方向发展,以期实现盈利。
由于需要在工业现场使用,可靠性始终被列为第一位,工程业绩成为衡量软件的决定性因素。同时由于工业现场检验认同的时间一般较长,因此一个组态软件被市场认可需要漫长的过程。
完成这篇文章后我依然感到意犹未尽,这是因为我觉得我仍然没有清楚表达“组态软件”这一事物,如果刚接触组态软件的我看到这篇文章,或许停留时间不会超过3秒,因为这篇文章同质化过强,因此很难让人留下印象。
所以我想在此做一个总结,如果有人询问我:“什么是组态软件?”,并期望我立刻做出回答,我会告诉他:
“在回答这个问题前,首先你需要明白什么是’组态’。”
“组态是指通过非编程的方式实现目标功能,即通过厂商提供的各个模块进行系统搭建,如同搭积木一般。”
“组态软件就是这么一种用于数据采集与过程控制的专用软件,其实质为监控软件。”