下一代工业自动化软件的开发平台 Wonderware ArchestrA™Wonderware 企业级应用和信息系统的新平台 -- ArchestrAWonderware 在过去的 5 年中投入了巨大的人力和资金为工业应用开发这样一个强大的平台(见图一) 。
Wonderware 很早就认识到在一个统一的平台之上创建和运行工业应用程序的重要性。
这样的一个新的平 台框架使应用程序的开发者能专著于充分利用他们本行业的专业知识,而不用再底层技术细节上花费过多 的精力。
这个全新的技术叫做:ArchestrA™ -- 她不是传统意义上的一个单独的产品,而是一个平台,一套底层服 务。
这个新的技术给工业自动化应用的开发者:从系统集成商、OEM、增值销售商到最终用户带来巨大的 好处。
(图一) Wonderware 将工业自动化软件都需要的一些的共同的基本的功能和服务( Services )抽象出来,构成 ArchestrA™ 平台。
她旨在将用户从复杂的底层技术中解放出来,他们只需要“组合”的技能,而不是“编 程” 技术, 并专注于他们已经熟悉的本行业的专业知识。
这个平台构架在微软操作系统和相关软件 (例如.Net 框架)之上。
ArchestrA™ 致力于提供一个可以在各种自动化行业实施的,包含通用底层结构的平台。
ArchestrA™ 提供如 下一些公共服务: • 设计和开发环境 Design and development environment • 部署机制 Deployment Services• 脚本和计算服务 Powerful scripting and calculation services • 报警和事件子系统 Alarm and Event subsystem, for management, delivery, printing, and historization services for alarm and events • 强大的内置的历史纪录和数据传输服务 Powerful built in historization and guaranteed delivery services • 规模可伸缩性 Built in distributed architecture services for scaleability • 集成硬件驱动 Integration with and data acquisition from all types of field devices • 对象间通讯和命名服务 Inter-object communications and name service management services • 版本管理服务 Version management services • 安全机制服务 Security Model services • 集中授权和部署服务 Centralized license management and deployment services • 集中故障诊断服务 Centralized system diagnostics and system administration services • 对象和应用服务的国际化 Internationalization of objects and application services • 界面编辑服务 Graphical/UI editing services, with multiple runtime rendering services • 报表和查询服务 Reporting and Query services • 支持 OPC 和 SQL 等工业标准 Common support for industry standards such as OPC and SQL 这个仍然可以扩展的特点列表,预示着在不久的将来工程师们开发工业自动化应用的方式将会发生巨大的 变化!工程师们将用一种全新的,以工厂为中心(Plant-centric ) ,组件化对象化的方式进行系统设计。
在 微软 Windows 和 Wonderware 的 ArchestrA™ 所构筑的新平台之上, 工程师可以复用在不同的工程中产生的 对象。
Wonderware 的 FactorySuite 已经有多年的历史,此套件已经经历了两代的增强集成,集管理控制、制造执 行、 批管理以及其它功能于一身, 但是 ArchestrA 将把集成度带到一个新的水平。
由 FactorySuite 向 ArchestrA 转变将分两个阶段进行: • The FactorySuite Scalable Application • FactorySuite Next Generation (NG) 在第一个阶段中,系统采用一种 “ 混合 ” 策略,引入的新的组件“ Application Server ”就是一个架构在 ArchestrA™ 之上的后台服务器,最新的 FactorySuite 的其他组件可以和 Application Server 配合使用,现有 的 FactorySuite 用户不会被抛弃。
在第二个阶段 FactorySuite NG 中,新的 FactorySuite 应用将全部组件化,给用户提供了空前的可扩展性和 灵活性。
Application Server(图二)Application Server 给系统提供了充份的扩展性和自然的 N 层结构(见图二)? ? Presentation Layer : 是各种瘦客户端应用程序,InTouch,ActiveFactory,IE 浏览器等。
Application Layer :脚本,事件,报警检测,数据获取和工程单位转换等在这里执行。
这个层次替换了 以往大部分的数据改变脚本,条件脚本和标记名数字典,并根据设备和功能对工厂以对象的方式进行 建模。
Control Layer :工厂控制底层,PLC,DCS ,现场仪表等。
?在图二中有几个关键的部分,首先在图中 Application Layer 的左侧有一个 Configuration 工作站,上面运行 ArchestrA™ 平台的开发配置环境:IDE(图三) 。
在 IDE 中对工厂对象建立模型,这些信息都储存在一个 数据库中,我们叫做 Galaxy Database。
同样也是在 IDE 中将建好的对象部署( Deploy) 到 Application Server 服务器中 (图中有三个 Application Server ) 。
Application Server 中的 DAS(data acquisition server)和硬件通讯, 执行控制逻辑,将数据送至显示层(InTouch 等)和 InSQL。
这样的一种结构将控制逻辑引擎从客户端中抽象出来,从而极大的提高了客户层的可伸缩性,各种类型的 客户端应用可以联接到一个统一的工厂模型中, 客户端的个数可以任意增加,并且都在同一个命名空间中。
图三Application Server 的功能和优点一个包含 Application Server 的 FactorySuite Scalable 系统给我们带来那些功能和有点呢?主要有以下几个 方面: 1,代码复用 在 ArchestrA™ 环境中核心的一个概念就是“应用对象” ApplicationObject。
一个 ApplicationObject 代表了 工厂里的某种设备,例如:泵,阀门,马达等,或是它们的组合。
Wonderware 提供了一些原始的,基本的 ApplicationObject 的模板( Template) ,例如:$DiscreteDevice,$AnalogDevice, 等等。
开发者可以在 IDE 中, 利用这些原型构筑自己的 ApplicationObject,并进而在 Application Server 上部署这些对象(实例化) 。
The $Valve Template has been used to create severalThis is a base Template that can be used toHere the template has been configureCV10CV20 $DiscreteDevic$Valv CV30CV40图四 可以把 ApplicationObject 比作 InTouch 中的 Tag 以助理解, 但实际上 ApplicationObject 的内涵要比 Tag 多 的多。
每一个 ApplicationObject 都有自己的属性:输入/输出、报警、安全、历史纪录和脚本,甚至还可以 包含其它的 ApplicationObject。
Inputs/Outputs Alarms/Events$ValveSecurityScripting History图五2,一个共同的命名空间( Namespace) ,不受点数限制 我们在用 InTouch 的时候会有 64K 的点数限制,如果一个大于 64K tag 的项目我们就必须增加一个 InTouch(Tag Server)的节点。
但这两个 Tag Server 的 Tagname 并不在同一个命名空间中,实际上使两个分 离的 Server 。
(见图六)图六图七 在图七中,由于 Application Server 的引入,问题得到了彻底的解决。
Application Server 没有点数的限制, 唯一的限制就是硬件平台:CPU 得处理能力,内存的大小等。
当一个 Application Server 不能接受更多的负 载时,只需增加一台 Application Server ,然后再 IDE 中把部分负载部署到新的 Server 上就可以了。
那些转 移过去的点仍然都在同一个命名空间中,仍然是原来应用中的一部分,在客户端不需额外的工作。
3,统一管理和维护 因为所有的 ApplicationObject 都是有摸板( template)产生的,一个摸板所产生的实例的共同属性可以在模 板中维护。
图八 在图八中,一个叫做$Tank 的模板已经被用来产生了若干个实例。
我们可以在 IDE 中对模板$Tank 增加一 个高限报警的属性,然后将这个改变“推”向已经存在的实例对象,而不需要去每一个实例里面修改。
而且, 我们可以在 Object 这个层次定义安全属性, 而不必象以往那样必须要在每一个 InTouch 的 Application 中定义 User, Password 等。