自动化1302班001597 冯颖组态软件组成应用及通信技术Word文件下载.docx
《自动化1302班001597 冯颖组态软件组成应用及通信技术Word文件下载.docx》由会员分享,可在线阅读,更多相关《自动化1302班001597 冯颖组态软件组成应用及通信技术Word文件下载.docx(14页珍藏版)》请在冰豆网上搜索。
![自动化1302班001597 冯颖组态软件组成应用及通信技术Word文件下载.docx](https://file1.bdocx.com/fileroot1/2023-1/9/7137dcbd-643d-4205-a33d-6e8979ceccef/7137dcbd-643d-4205-a33d-6e8979ceccef1.gif)
在实现通信过程时,包括两种方式:
本地方式和远程方式。
通过介绍组态软件相关的组成和应用,能够充分了解认识到组态软件的构成及发展,能够对通信技术有更深刻的理解和认知。
通过了解组态软件在生活中的应用,也可以帮助我们提高学习的兴趣,结合通信技术能让我们更好的应用。
关键词:
组成;
应用;
通信技术
Introductiontothecompositionofconfigurationsoftware,theapplicationandcommunicationtechnologies
Abstract
Configurationsoftwareissomeofthedataacquisitionandprocesscontrolofspecializedsoftware,theyareinthelevelofautomaticcontrolsystemmonitoringlayersoftwareplatformanddevelopmentenvironment,theuseofflexibleconfigurationmode,toprovideuserswithrapidbuildindustrialautomaticcontrolsystemformonitoringfunctionofthegenerallevelofsoftwaretools.Configurationsoftwarecompositionofthedivisionhasavarietyofstandard,heretousethesoftwareworkstageandamemberofthesoftwaresystemconstitutetwostandarditsarchitecturearediscussed.1.Configurationsoftwarecomponentclassification:
(1)thesystemdevelopmentenvironment
(2)thesystemrunningenvironment2.Membersoftheconfigurationsoftwareof:
(1)
(2)agraphicalinterfaceapplicationmanagerdevelopmentprogram(3)thegraphicalinterfacetoruntheprogram(4)thereal-timedatabasesystemconfigurationprogram(5)thereal-timedatabasesystemtoruntheprogram(6)theI/Odriver(7)expansionofoptionalcomponents.Configurationsoftwareiscommonlyusedinautomaticcontrolsystemmonitoringlayer,allkindsofPLC,instrumentandsoonsystemcontrollayer.Inthecommunicationprocess,includingtwoways:
localmodeandremotemode.Throughtheintroductionofthecompositionandapplicationofconfigurationsoftwarerelated,tofullycomprehendthecompositionanddevelopmentofconfigurationsoftware,thecommunicationtechnologycanhaveamoreprofoundunderstandingandcognition.Byunderstandingtheapplicationofconfigurationsoftwareinthelife,alsocanhelpustoimprovethelearninginterest,combinedthetechnologyofcommunicationcanmakeusbetterapplications.
Keywords:
Composition;
Application;
Communicationtechnology
目录
摘 要II
AbstractIII
第1章绪论I
1.1组态软件的简介I
1.2组态软件的特点I
1.3组态软件的背景I
第2章组态软件的组成III
2.1组态软件的系统组成III
2.1.1组态软件的结构划分III
2.1.2组态软件的成员划分IV
第3章组态软件的通信技术VI
3.1组态软件通信概述VI
3.2组态间通信技术VI
3.2.1本地通信VI
3.2.2远程通信VII
3.2.3结合实例VIII
第4章组态软件的应用X
4.1组态的发展历史X
4.2组态的功能X
4.3组态在生活中的应用例子XII
结论XIII
参考文献XIV
致谢XV
第1章绪论
1.1组态软件的简介
组态软件是指一些数据采集与过程控制的专用软件,它们是在自动控制系统监控层一级的软件平台和开发环境,使用灵活的组态方式,为用户提供快速构建工业自动控制系统监控功能的、通用层次的软件工具。
组态软件的应用领域很广,可以应用于电力系统、给水系统、石油、化工等领域的数据采集与监视控制以及过程控制等诸多领域。
在电力系统以及电气化铁道上又称远动系统(RTUSystem,RemoteTerminalUnit)。
组态软件在国内是一个约定俗成的概念,并没有明确的定义,它可以理解为“组态式监控软件”。
“组态(Configure)”的含义是“配置”、“设定”、“设置”等意思,是指用户通过类似“搭积木”的简单方式来完成自己所需要的软件功能,而不需要编写计算机程序,也就是所谓的“组态”。
它有时候也称为“二次开发”,组态软件就称为“二次开发平台”。
“监控(SupervisoryControl)”,即“监视和控制”,是指通过计算机信号对自动化设备或过程进行监视、控制和管理。
1.2组态软件的特点
组态(Configuration)为模块化任意组合。
通用组态软件主要特点:
1延续性和可扩充性。
用通用组态软件开发的应用程序,当现场(包括硬件设备或系统结构)或用户需求发生改变时,不需作很多修改而方便地完成软件的更新和升级;
⑵封装性(易学易用),通用组态软件所能完成的功能都用一种方便用户使用的方法包装起来,对于用户,不需掌握太多的编程语言技术(甚至不需要编程技术),就能很好地完成一个复杂工程所要求的所有功能;
⑶通用性,每个用户根据工程实际情况,利用通用组态软件提供的底层设备(PLC、智能仪表、智能模块、板卡、变频器等)的I/ODriver、开放式的数据库和画面制作工具,就能完成一个具有动画效果、实时数据处理、历史数据和曲线并存、具有多媒体功能和网络功能的工程,不受行业限制。
1.3组态软件的背景
“组态”的概念是伴随着集散型控制系统(DistributedControlSystem简称DCS)的出现才开始被广大的生产过程自动化技术人员所熟知的。
在工业控制技术不断发展和应用的过程中,PC(包括工控机)相比以前的专用系统具有的优势日趋明显。
这些优势主要体现在:
PC技术保持了较快的发展速度,各种相关技术已经成熟;
由PC构建的工业控制系统具有相对较低的拥有成本;
PC的软件资源和硬件资源丰富,软件之间的互操作性强;
基于PC的控制系统易于学习和使用,可以容易地得到技术方面的支持。
在PC技术向工业控制领域的渗透中,组态软件占据着非常特殊而且重要的地位。
监控组态软件是工业应用软件的重要组成部分,其发展受到很多因素的制约,归根结底,是应用的带动对其发展起着最为关键的推动作用。
关于新技术的不断涌现和快速发展对监控组态软件会产生何种影响,有人认为随着技术的发展,通用组态软件会退出市场,例如有的自动化装置直接内嵌“WebServer”实时画面供中控室操作人员访问。
作者并不这样认为。
用户要求的多样化,决定了不可能有哪一种产品囊括全部用户的所有的画面要求,最终用户对监控系统人机界面的需求不可能固定为单一的模式,因此最终用户的监控系统是始终需要“组态”和“定制”的。
这就是监控组态软件不可能退出市场的主要原因,因为需求是存在且不断增长的。
监控组态软件是在信息化社会的大背景下,随着工业IT技术的不断发展而诞生、发展起来的。
在整个工业自动化软件大家庭中,监控组态软件属于基础型工具平台。
监控组态软件给工业自动化、信息化、及社会信息化带来的影响是深远的,它带动着整个社会生产、生活方式的变化,这种变化仍在继续发展。
因此组态软件作为新生事物尚处于高速发展时期,目前还没有专门的研究机构就它的理论与实践进行研究、总结和探讨,更没有形成独立、专门的理论研究机构。
第2章组态软件的组成
2.1组态软件的系统组成
2.1.1组态软件的结构划分
(1)
系统开发环境
自动化工程师为了实施项目指定的方案,通过一系列用户数据文件,生成最终的图形目标应用系统供系统运行环境时使用。
系统开发环境由若干个组态程序组成例如图形界面程序实时数据库程序设备通信程序历史数据库程序脚本程序等等。
制定方案—绘制运行时环境-与设备连接通信-测试-部署
(2)系统运行环境
在系统运行环境下,目标应用程序被装入计算机内存并投入实时运行,实时采集数据并且显示在系统中。
系统运行环境由若干个运行程序组成,如图形界面运行程序、实时数据库运行程序等。
组态软件支持在线云组态技术,即在不退出系统运行环境的情况下可以直接进入组态开发环境并修改组态,使修改后的组态直接生效。
自动化工程设计工程师最先接触的一定是系统开发环境,通过一定工作量的系统组态和调试,终极将目标应用程序在系统运行环境投进实时运行,完成一个工程项目。
2.1.2组态软件的成员划分
(1)应用程序管理器
应用程序管理器是提供应用程序的搜索、备份、解压缩、建立新应用等功能的专用管理工具。
应用程序治理器是提供给用程序的搜索、备份、解压缩、建立新应用等功能的专用治理工具。
在自动化工程设计工程师应用组态软件进行工程设计时,经常会碰到下面一些烦恼:
经常要进行组态数据的备份;
经常需要引用以往成功应用项目中的部分组态成果(如画面);
经常需要迅速了解计算机中保存了哪些应用项目。
固然这些要求可以用手工方式实现,但效率低下,极易出错。
有了应用程序治理器的支持,这些操纵将变得非常简单。
(2)图形界面开发程序
在图形编辑工具的支持下进行图形系统生成工作所依赖的开发环境,开发运行时环境的界面数据的显示等功能。
生成最终图形目标应用系统供图形运行环境运行时使用。
是自动化工程设计工程师为实施其控制方案,在图形编辑工具的支持下进行图形系统天生工作所依靠的开发环境。
通过建立一系列用户数据文件,天生终极的图形目标应用系统,供图形运行环境运行时使用。
(3)图形界面运行程序
在系统运行环境下图形目标应用系统被图形界面运行程序装入计算机内存并投入实时运行。
(4)实时数据库系统组态程序
目前国内组态软件(亚控、力控、紫金桥、易控)都有自己的独立的实时数据库组件,有些公司是先从实时数据库起家的,说明它在组态软件上的重要性。
有的组态软件只在图形开发环境中增加了简单的数据治理功能,因而不具备完整的实时数据库系统。
目前比较先进的组态软件(如力控等)都有独立的实时数据库组件,以进步系统的实时性,增强处理能力。
实时数据库系统组态程序是建立实时数据库的组态工具,可以定义实时数据库的结构、数据来源、数据连接、数据类型及相关的各种参数。
(5)实时数据库系统运行程序
在系统运行环境下,目标实时数据库及其应用系统被实时数据库系统运行程序装入计算机内存并执行预定的各种数据计算、数据处理任务。
历史数据的查询、检索、报警的管理都是在实时数据库系统运行程序中完成的。
(6)I/O驱动程序
这个在组态软件中必不可少的的组成部分,用于和I/O设备通信,互相交换数据,DDE和OPCClient是两个通用的标准I/O驱动程序,用来和支持DDE标准和OPC标准的I/O设备通信。
多数组态软件的DDE驱动程序被整合在实时数据库系统或图形系统中,而OPCClient则多数单独存在。
(7)扩转可选组件:
1.通用数据库接口(ODBC)组态程序
通用数据库接口组件用来完成组态软件的实时数据库与通用数据库(如Oracle、Sybase、Foxpro、DB2、Infomix、SQLServer等)的互联,实现双向数据交换,通用数据库既可以读取实时数据,也可以读取历史数据;
实时数据库也可以从通用数据库实时地读进数据。
通用数据库接口(ODBC接口)组态环境用于指定要交换的通用数据库的数据库结构、字段名称及属性、时间区段、采样周期、字段与实时数据库数据的对应关系等。
2.通用数据库接口(ODBC)运行程序
已组态的通用数据库连接被装进计算机内存,按照预先指定的采样周期,对规定时间区段按照组态的数据库结构建立起通用数据库和实时数据库间的数据连接。
3.策略(控制方案)编辑组态程序
策略编辑/天生组件
是以PC为中心实现低本钱监控的核心软件,具有很强的逻辑、算术运算能力和丰富的控制算法。
策略编辑/天生组件以IEC-1131-3标准为使用者提供标准的编程环境,共有4种编程方式:
梯形图、结构化编程语言、指令助记符、模块化功能块。
使用者一般都习惯于使用模块化功能块,根据控制方案进行组态,结束后系统将保存组态内容并对组态内容进行语法检查、编译。
编译天生的目标策略代码即可以与图形界面同在一台计算机上运行,也可以下装(Download)到目标设备(如PC/104、WindowsCE系统等PC-Based设备)上运行。
4.策略运行程序
组态的策略目标系统被装进计算机内存并执行预定的各种数据计算、数据处理任务,同时完成与实时数据库的数据交换。
5.实用通信程序组件
实用通讯程序极大地增强了组态软件的功能,可以实现与第三方程序的数据交换,是组态软件价值的主要表现之一。
第3章组态软件的通信技术
3.1组态软件通信概述
组态软件作为用户可定制功能的软件平台工具,目前已经在各个行业和领域得到了广泛应用。
组态软件伴随着dcs及计算机控制技术的发展而逐渐成熟进来,组件化、分布式已经成为组态软件的基本特征。
优秀的组态软件大多将它的实时数据库、hmi、i/o服务器、数据服务器等几个主要部分设计成分别可独立运行的组件。
这些组件可以同时运行在一台计算机内,也可以分布式地运行在不同的计算机内,通过网络等方式实现组件间的通信。
这种体系结构可以让用户灵活地配置自己的系统,合理地分配各个服务器的运算负荷。
但实现组件化同时也带来了软件设计上的复杂性。
特别是如何实现组件间的高效、实时、可靠地通信成为一个关键问题。
3.2组态间通信技术
组态间在实现通信过程时,包括两种方式:
在设计时,可以考虑将本地方式作为远程方式的基础。
或者说,实现了本地通信,也就实现了远程通信。
因为可以将组件间交换的数据通过远程方式,传送到目的机后,再通过本地方式与远程组件通信。
下面我们分别讨论如何实现组件间的本地通信和远程通信。
3.2.1本地通信
组态间实现本地通信时,在底层上要解决的本质问题上是进程间通信问题。
进程间通信是一种与os密切相关的技术。
本文所介绍的方法是以微软的windows操作系统为基础的。
windows各个版本的操作系统都提供了丰富的进程间通信手段。
从早期版本提供的管道、邮件槽、dde技术,到后来推出的com技术,以及目前最新的“.net”中提供的全新方法等。
本文介绍的技术属于“传统”技术,它的基础是windows的消息传递功能,同时辅助内存文件映射和信号量技术。
笔者认为这种方法有以下几个优点:
(1)实现简便因为涉及的技术都不很复杂,因此实现起来比较容易。
(2)实时性高这种方法使用的都是os的底层技术,中间环节少,运行效率高,可以实现快速数据通信。
(3)移植性好因为采用的是os底层技术,这种方法受os版本升级的影响很小,也很容易移植到非windows操作系统上。
而某些进程间通信技术,如dde,在新版的windows操作系统上已经不再被支持。
其它一些技术也因os升级在接口形式和实现方法上发生了很大变化,使应用程序受到影响。
(4)功能可控性好这里的可控性是指开发人员在使用一种技术时,能否有效地控制这种技术的运用。
例如,开发人员在选用一种技术时,如果这种技术作了过多的封装,虽然应用简单,但要实现自己的灵活控制时就会处处受缚。
(5)可靠性易控这一点与上面提到的可控性是相关的。
操作系统越是底层的技术,可靠性就越强。
封装得越多的技术,其可靠性就越无法控制。
(6)对系统环境的适应能力这个问题可以用一个简单的例子说明:
用过基于com/dcom技术开发的软件产品(如:
opc类软件)的用户,很多人都经历过因不同系统环境而必须面对com/dcom复杂配置的困惑。
本地通信在计算模式上仍然属于c/s结构。
主要问题是如何实现多个client与server之间快速、并发式的数据交换实例。
见3.2.3节例子
3.2.2远程通信
远程通信完全建立在本地通信的基础之上。
但要增加两个专用于网络通信服务的组件:
netclient和netserver。
netclient和netserver也是两个完全独立的进程。
以采用tcp/ip网络为例,netclient和netserver分别相当于socket?
client和socket?
server端。
netclient和netserver并不关心传送的报文的内容,它们只负责网络连接的建立、报文的传输、网络通信故障时的数据缓存与恢复等。
仍结合下一节实例。
当client程序与server进行远程数据交换时,client将与netclient运行在同一计算机内,而server与netserver运行在同一计算机内。
此时icom将client的请求报文首先通过本地通信方式发送给netclient,再由netclient通过网络发送给远程的netserver,然后由netserver通过本地通信方式传送给server。
而server的回复报文的传送过程正好相反。
在实际开发产品时,netclient和netserver可以设计成为更具广泛意义上的网络服务组件。
除了支持tcp/ip网络,还可以支持udp/ip、串行通信、gprs等任何一种通信形式。
而无论使用哪一种通信方式对于client和server来说都是完全透明的,这也正是产品实现组件化的优势所在。
3.2.3结合实例
下面结合实例进行说明。
多个client与server通信实例
假设client和server是采用这种技术的客户端和服务器端程序,它们都是基于窗口的独立进程。
每次进行数据交换时client向server发送一个请求报文,server收到请求报文后,再向client回复一个应答报文,如此不断往复。
?
因为可能有多个client与同一server同时进行快速数据交换,因此上述交互过程必须采用异步方式方能保证可靠性和并发性。
为了实现方便,需要抽象一个专用于进程通信的中间件icom以供各个client同时调用。
(1)提供3个最基本的接口
a)open()在这个接口里icom实现的功能包括:
初始化用于数据交换的内存映射文件、创建上行(client到server)和下行(server到client)事件通知的信号量对象、创建用于防止共享冲突的信号量对象,启动服务线程,同时client向server发送消息进行身份认证和注册。
b)?
close()?
client在关闭进程或断开与server的通信时调用该接口。
这个接口icom要释放在执行open()方法时创建的对象资源,同时client向server发送消息执行注销操作。
c)?
sendmessage()?
client向server发送报文时调用该接口。
(2)?
报文的传递过程
当client调用icom的sendmessage()方法向server发送报文时,需要使用信号量控制时序。
当用sdk函数sendmessagetimeout()将报文发送给server后,通过信号量等待server的回复,一旦等到回复信号,便知道server已经将回复报文放到内存映射文件中,就可以取得该报文并以参数的形式传递给client。
为了接收对方发送的消息,server程序的主窗口类上要增加消息“wm_copydata”的映射函数。
当client调用icom的sendmessage()方法向server发送报文时,server会立刻接收到wm_copydata消息,并通过消息参数获取报文信息。
但是server在接收到请求报文后并不立即处理、回复,要首先用replymessage()方法对wm_copydata消息进行应答,以免对方进程发生无谓等待,然后将报文放到内部缓冲队列中,再向自身的主窗口用postmessage()发送一个通知消息,在另外一个消息映射函数中处理缓冲队列中的请求报文。
server的这种处理机制是保证交互过程为异步方式的关键。
这种异步机制非常重要,它可以在多个client程序与server之间进行频繁的大数据量交换时合理地分配cpu资源,避免发生“死锁”现象。
server解析请求报文的内容,将回复报文放至icom中分配的内存映射文件中,并通过信号量通知icom接收回复报文。
一次完整信息交互过程完成。
报文的格式由报头和数据尾两部分组成。
报头为固定结构,其中要包含消息号、数据长度、client的id等信息。
数据尾部分为不定长的任何内容。
组件间通信技术是设计组态软件、数据通信类软件的关键技术之一。
如何能够在实现快速、高效、多用户并发处理的前提下,保证可靠性、灵活性和广泛适应性,值