CN107077128A - 控制工业设施中的现实世界对象 - Google Patents
控制工业设施中的现实世界对象 Download PDFInfo
- Publication number
- CN107077128A CN107077128A CN201480081728.XA CN201480081728A CN107077128A CN 107077128 A CN107077128 A CN 107077128A CN 201480081728 A CN201480081728 A CN 201480081728A CN 107077128 A CN107077128 A CN 107077128A
- Authority
- CN
- China
- Prior art keywords
- server
- module
- connection
- node
- attribute
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 62
- 238000004590 computer program Methods 0.000 claims description 40
- 230000004044 response Effects 0.000 claims description 24
- 238000013475 authorization Methods 0.000 claims description 4
- 230000005055 memory storage Effects 0.000 claims description 4
- 238000007689 inspection Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims 2
- 238000000926 separation method Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 36
- 230000008569 process Effects 0.000 description 25
- 241000196324 Embryophyta Species 0.000 description 20
- 238000004891 communication Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 8
- 238000007726 management method Methods 0.000 description 8
- 230000002085 persistent effect Effects 0.000 description 8
- 230000006399 behavior Effects 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 5
- 238000004886 process control Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000009434 installation Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 239000004568 cement Substances 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 239000012530 fluid Substances 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000011017 operating method Methods 0.000 description 2
- 241001062009 Indigofera Species 0.000 description 1
- 241000406668 Loxodonta cyclotis Species 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000003337 fertilizer Substances 0.000 description 1
- 235000013305 food Nutrition 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 239000003921 oil Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000003348 petrochemical agent Substances 0.000 description 1
- 238000003908 quality control method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000009628 steelmaking Methods 0.000 description 1
- 239000004575 stone Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/4185—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
- G05B19/4186—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication by protocol, e.g. MAP, TOP
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/32—Operator till task planning
- G05B2219/32161—Object oriented control, programming
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/33—Director till display
- G05B2219/33148—CLS client server architecture, client consumes, server provides services
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/80—Management or planning
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Manufacturing & Machinery (AREA)
- Automation & Control Theory (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
- Computer And Data Communications (AREA)
Abstract
提出了一种用于控制工业设施(3)中的现实世界对象(2、2a‑f)的方法。方法在服务器节点(10)中执行,并且包括以下步骤:接收(100)包括用户身份的连接建立请求;认证(102)用户身份;建立(104)连接;接收(106)服务请求,其中,服务请求包括对属性对象的引用和对属性对象的属性的引用;向服务调度器模块(22)转发(108)服务请求和用户身份;通过查询目录服务器模块(24)根据对属性对象的引用确定(110)目标服务提供者(26);以及向目标服务提供者发送(112)服务请求和用户身份。
Description
技术领域
本发明涉及用于控制工业设施中的现实世界对象的方法、服务器节点、客户节点、计算机程序以及计算机程序产品。
背景技术
自动化***是用于控制例如用于炼油、石油化工产品、化学制品、肥料、药物、食物以及饮料制造、发电、水泥生产、炼钢以及造纸的工业设施中的工业制造过程的专用***。
自动化***可以连接到传感器和致动器,并且使用顺序逻辑和设定点控制来控制材料穿过工厂的流动和处理。常见示例是包括压力传感器、控制器以及控制阀的设定点控制回路。压力或流量测量结果通常借助信号调节输入/输出(I/O)单元传输到***。当所测量变量达到特定点时,***指示阀或致动设备打开或关闭,直到流体流动过程达到期望的设定点为止。
过程厂房可以具有数千I/O单元。过程不限于穿过管道的流体流动,而且包括其他方面,诸如造纸装置及其关联质量控制、变速驱动器、马达控制中心、水泥窑、采矿工作、矿石处理设施、各种离散制造机以及许多其他方面。
除了用于控制过程的操作之外,自动化***通常还包括监测和监督操作,监测和监督操作包括用于生成取决于与受控和受监督过程有关的各种条件的事件的操作。其他事件源包括软件应用,诸如用于条件监测、优化、计算等的应用。事件可以存储在用于随后检索的一个或更多个事件日志中,以便作为事件列表向用户呈现,并且用于各种其他操作,诸如事件起因分析等。事件还可以用于生成警报。
自动化***通常还包括用于收集并存储历史数据的操作。历史数据是表示过程变量(诸如测量结果)随着时间的发展的系列值。其他历史数据源包括诸如用于条件监测、优化、计算等的应用的软件应用。历史数据被存储用于随后检索,以便作为趋势图或以其他形式呈现给用户,并且用于由其他应用进行的另外处理,诸如用于受控过程的分析和调谐。
总之,现代先进过程自动化***相当复杂。为了使得开发和维护可管理且使用容易直观,需要高效软件基础设施,该软件基础设施提供用于有效集成许多不同软件应用的部件,并且允许用户在这些应用之间顺利且无缝操纵。
国际标准IEC81346-1“Industrial systems,installations and equipment andindustrial products-Structuring principles and reference designations”提供了用于通过指定用于结构化包括关联信息的对象的原理来建立工业厂房、机器、建筑物等的模型的基础。在该标准中,术语“对象”意指在开发、实现、使用以及处置过程中处理的实体,并且可以引用物理或非物理“实体”,(即,可能存在、现在存在或过去存在的任何事物)。根据IEC 81346-1的“对象”具有关联到它的信息。
根据IEC 81346-1的大多数对象因为它们有形而具有物理存在(例如,马达、泵、阀、建筑物等)。然而,存在不实在但为了不同目的而存在的对象,例如,仅借助于其子对象的存在而存在的对象(即,该对象为了结构化目的而存在)(诸如***);或对于一组信息的识别而存在的对象。
IEC81346-1不区分具有物理存在的对象与不具有物理存在的对象。两种对象被相关为在***的寿命周期中识别并处理。
当描述对象内部及其与其他对象的相互关系时,从不同视角看对象是有用的。在IEC81346-1中,对象的这些不同视角被称为“属性”(aspect)。IEC81346-1中论及的属性集中于:对象打算做什么或它实际上做什么—操作属性;对象借助于哪种手段来做它打算做的事情-产品属性;以及对象的预期或实际空间-位置属性。
用于过程控制统一架构的对象链接和嵌入(Object linking and embedding forProcess Control Unified Architecture,OPC UA)是来自提供用于过程控制的跨平台面向服务架构的OPC基金会的规范。与其前身(俗称为经典OPC)相反,OPC UA是平***立的。
然而,OPC UA未公开以高效方式实现所述过程控制的客户和服务器的内部结构。
发明内容
一个目的是提供一种支持用于控制工业设施中的现实世界对象的客户节点与服务器节点之间的通信的高效结构。
根据第一实施例,提出了一种用于控制工业设施中的现实世界对象的方法。方法在服务器节点中执行,并且包括以下步骤:在连接服务器模块中接收包括用户身份的连接建立请求;在连接服务器模块中认证用户身份;仅在认证成功时,在连接服务器模块中建立连接,并且使连接与用户身份关联;在连接服务器模块中,在所建立的连接上接收服务请求,其中,服务请求包括对属性对象的引用和对属性对象的属性的引用,其中,属性对象是表示现实世界对象中的一个的软件对象,并且属性定义与现实世界对象关联的操作;在连接服务器模块中向服务调度器模块转发服务请求和用户身份;在服务调度器模块中根据对属性的引用确定目标服务提供者;以及在服务调度器模块中向目标服务提供者发送服务请求和用户身份。
根据第二实施例,提出了一种用于控制工业设施中的现实世界对象的服务器节点。服务器节点包括:处理器;和存储器,该存储器存储连接服务器模块和服务调度器模块。连接服务器模块存储指令,该指令在由处理器执行时,使得服务器节点:接收包括用户身份的连接建立请求;认证用户身份;仅在认证成功时,建立连接,并且使连接与用户身份关联;在所建立的连接上接收服务请求,其中,服务请求包括对属性对象的引用和对属性对象的属性的引用,其中,属性对象是表示现实世界对象中的一个的软件对象,并且属性定义与现实世界对象关联的操作;并且向服务调度器模块转发服务请求和用户身份。服务调度器模块存储指令,该指令在由处理器执行时,使得服务器节点:根据对属性的引用确定目标服务提供者;并且向目标服务提供者发送服务请求和用户身份。
根据第三实施例,提出了一种用于控制工业设施中的现实世界对象的计算机程序。计算机程序包括计算机程序代码,该计算机程序代码在运行在服务器节点上时,使得服务器节点:在连接服务器模块中接收包括用户身份的连接建立请求;在连接服务器模块中认证用户身份;仅在认证成功时,在连接服务器模块中建立连接,并且使连接与用户身份关联;在连接服务器模块中,在所建立的连接上接收服务请求,其中,服务请求包括对属性对象的引用和对属性对象的属性的引用,其中,属性对象是表示现实世界对象中的一个的软件对象,并且属性定义与现实世界对象关联的操作;在连接服务器模块中向服务调度器模块转发服务请求和用户身份;在服务调度器模块中根据对属性的引用确定目标服务提供者;并且在服务调度器模块中向目标服务提供者发送服务请求和用户身份。
根据第四实施例,提出了一种计算机程序产品,该计算机程序产品包括根据第三实施例的计算机程序和上面存储计算机程序的计算机可读部件。
根据第五实施例,提出了一种用于控制工业设施中的现实世界对象的方法。方法在客户节点中执行,并且包括以下步骤:在服务调度器模块中接收来自客户节点的应用模块的服务请求,其中,服务请求包括对属性对象的引用和对属性对象的属性的引用,其中,属性对象是表示现实世界对象中的一个的软件对象,并且属性定义与现实世界对象关联的操作;基于对属性对象的引用和对属性的引用在服务调度器模块中确定服务器节点的位置;在服务调度器模块中向连接管理器模块转发服务请求、对服务器节点的位置的引用以及用户身份;在连接管理器模块中检查是否与服务器节点建立连接;当未与服务器节点建立连接时,在连接管理器模块中发送包括用户身份的连接建立请求;以及当建立与服务器节点的连接时,在连接管理器模块中向服务器节点发送服务请求。
根据第六实施例,提出了一种用于控制工业设施中的现实世界对象的客户节点。客户节点包括:处理器;和存储器,该存储器存储服务调度器模块和连接管理器模块。服务调度器模块存储指令,该指令在由处理器执行时,使得客户节点:接收来自客户节点的应用模块的服务请求,其中,服务请求包括对属性对象的引用和对属性对象的属性的引用,其中,属性对象是表示现实世界对象中的一个的软件对象,并且属性定义与现实世界对象关联的操作;基于对属性对象的引用和对属性的引用确定服务器节点的位置;并且向连接管理器模块转发服务请求、对服务器节点的位置的引用以及用户身份。连接管理器模块存储指令,该指令在由处理器执行时,使得客户节点:检查是否与服务器节点建立连接;当未与服务器节点建立连接时,发送包括用户身份的连接建立请求;并且当建立与服务器节点的连接时,向服务器节点发送服务请求。
根据第七实施例,提出了一种用于控制工业设施中的现实世界对象的计算机程序。计算机程序包括计算机程序代码,该计算机程序代码在运行在客户节点上时,使得客户节点:在服务调度器模块中接收来自客户节点的应用模块的服务请求,其中,服务请求包括对属性对象的引用和对属性对象的属性的引用,其中,属性对象是表示现实世界对象中的一个的软件对象,并且属性定义与现实世界对象关联的操作;基于对属性对象的引用和对属性的引用在服务调度器模块中确定服务器节点的位置;在服务调度器模块中向连接管理器模块转发服务请求、对服务器节点的位置的引用以及用户身份;在连接管理器模块中检查是否与服务器节点建立连接;当未与服务器节点建立连接时,在连接管理器模块中发送包括用户身份的连接建立请求;并且当建立与服务器节点的连接时,在连接管理器模块中向服务器节点发送服务请求。
根据第八实施例,提出了一种计算机程序产品,该计算机程序产品包括根据第七实施例的计算机程序和上面存储计算机程序的计算机可读部件。
通常,用于权利要求中的所有术语根据它们在技术领域中的普通含义来解释,除非在这里另外明确定义。对“一个元件、装置、组件、部件、步骤等”的所有引用要被开放地解释为引用元件、装置、组件、部件、步骤等的至少一个实例,除非另外明确叙述。这里所公开的任意方法的步骤不是必须以所公开的确切顺序来执行,除非明确叙述。
附图说明
现在参照附图用示例的方式来描述本发明,附图中:
图1是图示了可以应用这里所提出实施例的环境的示意图;
图2是图示了用于OPC UA的通信结构的示意图;
图3是图示了表示现实世界对象的属性对象的使用的示意图;
图4是图示了图1的***的客户-服务器视角的示意图;
图5是图示了图3的一些属性如何映射到服务提供者的示意图;
图6是更详细地图示了图1的客户节点与服务器节点的模块的示意图;
图7是客户和服务器节点组合图6的客户节点和服务器节点这两者的功能的示意图;
图8是图示了具有多处理实施方案的实施例中的、类似于图7的客户和服务器节点的客户和服务器节点的示意图;
图9是图示了用于控制诸如图1所示的工业设施的工业设施中的现实世界对象的方法的流程图;
图10是图示了用于控制诸如图1所示的工业设施的工业设施中的现实世界对象的方法的流程图;
图11是显示了图1的服务器节点10的实施例的一些组件的示意图;
图12是显示了图1的客户节点10的实施例的一些组件的示意图;以及
图13显示了包括计算机可读部件的计算机程序产品的一个示例。
具体实施方式
现在将在下文中参照显示了本发明的特定实施例的附图更完全地描述本发明。然而,本发明可以以许多不同的形式来具体实施,并且不应被解释为限于这里阐述的实施例;相反,这些实施例用示例的方式来提供,使得本公开将全面且完整,并且将向本领域技术人员完全传达本发明的范围。同样的附图标记贯穿说明书引用同样的元件。
图1是图示了可以应用这里所提出实施例的环境的示意图。
自动化***可能复杂,并且包括若干不同类型的计算机和其他设备。这种***包括控制器4a-b、服务器10、10’以及连接到***网络14以便控制工业设施3的工作站12a-b。服务器是包括软件的计算机,该软件提供各种形式的***功能,诸如历史日志、警报和事件处理、计算、过程优化等。工作站是作为例如固定计算机、膝上型计算机甚至平板计算机或智能电话的客户节点,该客户节点包括提供各种形式的用户交互(诸如过程图形、面板、警报和事件列表、趋势曲线等)的软件。控制器是包括软件的计算机,该软件执行实际控制操作,诸如比例、积分以及微分(PID)控制、逻辑和顺序控制、各种计算以及在许多情况下还诸如高级过程控制(诸如基于模型的预测控制、模糊控制等)。经由IO单元5a-c或现场通信接口,诸如传感器和致动器的现实世界对象2a-f被连接为测量并影响各种形式的过程变量,诸如温度、流量、压力、水平、位置等。***网络14例如可以为诸如以太网的局域网。
图1的结构仅是示例,当然变体是可以的。例如,服务器和客户功能可以驻留在同一计算机中,和/或服务器和控制功能或任意其他组合。
自动化***通常凭借用于控制并监测过程的一组通用可配置软件操作来递送。这使得可以将自动化***配置为在不需要下层编程的情况下控制具体过程。对于具体应用配置自动化***软件(即,以控制具体过程)的能力俗称为工程(engineering),并且通常与工程服务器10’合作的在工程工作站1a-b上执行。工程还包括定义包括IO单元5a-c、控制器4a-b、服务器10、10’以及客户节点12a-b的自动化***本身、以及这些部件如何通过***网络14或以其他方式连接到彼此。工程借助于用于创建并修改用于自动化***的配置数据的各种工程工具来进行。配置数据的示例包括控制程序、用于操作员交互的图形、用于历史日志且用于收集并处理历史数据的参数、用于输入-输出(IO)模块的设置等。一旦定义,则***的配置如由工程服务器10’与运行时间服务器10之间的箭头指示的从工程服务器10’部署到运行时间服务器10。
图2是图示了用于OPC UA的通信结构的示意图。
OPC UA指定以下内容:表示信息交换的结构、行为以及语义的信息模型;用于应用之间的交互的消息模型;用于客户、服务器以及用户的认证且用于它们的通信的完整性和机密性的安全模型;在端点之间传递数据的通信模型;以及保证***之间的互操作性的一致性模型。
在最低层处,存在例如将例如以太网或IEEE 802.11标准中的任意一个用作载体通过IP(因特网协议)使用TCP(传输控制协议)来实现的传输层13。
OPC UA通信模型定义传输层13上方的两层。第一层为由客户节点12中的客户通信层7实现的通信层和服务器节点10中实现的服务器通信层9。通信层提供满足机密性和完整性要求的安全机制。这通过提供客户节点12与服务器节点10之间的安全通道来完成。对在该安全通道上发送的消息加密并在该消息上签名。
第二层是由客户12中的应用层6和服务器中的应用层8实现的应用层。应用层提供服务请求和响应的用户认证和通信。通过建立并激活识别客户节点12的用户的应用会话来进行这一点。在该应用会话的情景中进行由同一用户进行的所有随后服务请求。服务在这里要被解释为由服务器提供的操作或定义的功能,该操作或功能可以从另一个实体、客户调用。客户是与服务器分离的模块,并且可以位于远离收容服务器的不同的设备中,或在收容服务器的同一设备内。
图3是图示了表示现实世界对象2的属性对象15的使用的示意图。由自动化***控制并管理的现实世界对象2为许多不同种类。它们可以为物理过程对象(像传感器、阀或马达)或更复杂的实体(像生产单元或反应器)。它们还可以为无形的,像控制回路或方案。它们可以为自动化***中的单元或操作,像I/O单元、服务器或操作员的工作场所等。这些现实世界对象2在自动化***中被表示为属性对象15。
各现实世界对象2的“内部”从若干不同视角来描述,各视角论及与对象有关的特定信息、行为以及功能。在自动化***中,这些不同视角被建模为属性对象15的不同属性16a-f。
一个示例是表示控制阀的属性对象。阀的一个属性16a可以为其关联的控制操作。另一个属性16b可以为用于操作员互动的面板。第三属性16c可以为控制物理阀的信号的历史日志。第四属性16d可以为含有与阀关联的警报的警报列表。第五属性16e可以为定义表示阀连接到的输入和输出的信号的信号属性。第六属性16e在被表示在计算机屏幕上时可以为现实世界对象的图形。不同的属性对象可以具有不同的关联属性。
不同属性与其他属性分离且独立地建模,并且可以由不同的***组件来实现。属性对象15充当包括这些独立模型的容器-属性对象15自身含有非常少的信息和功能。
由此,属性定义与某种现实世界对象的特定视角有关的信息和功能。属性还可以定义操作,由该操作,可以调用对象功能的部分。属性可以定义的操作的示例包括读数据、写数据、应答警报、提交事件等。表1中显示了更多的示例。
表1:属性对象的属性的操作示例
属性对象的概念在提供直观且容易使用的高级复杂功能时允许许多不同应用协作。以下示例场景图示了这一点:
操作员通过观看过程图形页来监督过程。在该示例中是阀的、受***控制的现实世界对象2进入警报状态。阀在***中被表示为复合对象。
该对象的属性中的一个为提供被呈现在图形页上的图形符号的图形属性16f。通过右击该符号,操作员可以选择与对象的不同属性关联的操作。操作员选择面板。这使得图形包(在这种情况下为在客户中)调用由面板属性16b(在这种情况下提供操作的应用)为操作员点击的复合对象提供的操作“显示”。
现在在屏幕上显示用于阀的面板。面板为对象提供比通常被包括在过程图形页中的信息和交互可能性更详细的信息和更多的交互可能性。
操作员右击面板,并且选择与对象关联的趋势曲线属性。这使得面板框架调用由趋势包提供的操作“显示”。趋势包在屏幕上呈现相关趋势曲线,这允许操作员进一步分析问题。
操作员推断阀出故障。操作员通过点击阀面板的按钮来将阀的控制模式改为“手动”。这使得面板框架用参数“模式”和阀“手动”调用由控制连接应用提供的操作“写入数据”。
控制连接应用向控制阀的过程控制器发送将控制模式改为“手动”的消息。
操作员现在可以通过点击面板上的“增大”和“减小”按钮来手动定位阀。这使得面板框架调用由控制连接应用提供的操作“写入数据”,这时寻址当前对象的参数“位置”。
在满足时,操作员这时例如在图形页上再次右击对象,并且选择警报应答。这使得图形包对于当前对象调用由警报管理应用提供的“应答警报”操作。
最后,操作员右击对象,并且选择操作“维护”。这使得图形包调用由资产管理应用提供的操作“创建维护顺序”。
资产管理应用现在提出操作员可以添加描述问题性质的评论的对话。资产管理应用然后通过向外部工作顺序管理***发送消息来创建当前对象的维护顺序。
操作员可以再次右击对象并选择操作指令,这使得面板框架调用诸如微软Word(Microsoft Word)或Adobe阅读器(Adobe Reader)的文献查看器的“显示”操作。
每次这些应用中的任意一个调用任意其他应用的操作时,这借助属性对象的属性来进行,并且各调用处于该对象的情景中。一个应用不知道任何其他应用的身份或位置,仅知道由属性对象的属性定义的操作。下面更详细地描述如何实现这一点。
通过集成属性对象概念与用于在应用之间相互作用的面向服务机制,不同的应用一起执行与所有属性对象的所有属性关联的许多不同操作,由此执行用于现实世界对象的控制和监督的***的集体操作。
配置数据还可以根据属性对象的原理来组织。在我们的图示示例中,属性对象15表示控制阀,现在将对于该控制阀描述属性情景中的配置。阀的一个属性16a是其关联的控制操作。由该属性组织的配置数据包括执行该控制操作的控制程序和一些设置。阀的另一个属性16b是用于操作员互动的面板。由该属性组织的配置数据包括面板图形的描述、以及面板的动态场和控制操作与由控制操作显露的对应变量之间的关联。第三属性16c是控制物理阀的输出信号的历史日志。由该属性保持的配置数据包括用于数据处理的采样间隔和设置。第四属性16d是含有与阀关联的警报的警报列表。由该属性保持的配置数据包括定义警报列表的外观和行为的参数。第五属性16e是定义表示阀连接到的输入和输出的信号的信号属性等。
其他属性对象可以表示自动化***本身的部分,诸如服务器和工作站、控制器和I/O单元。这种对象上的属性组织配置数据,诸如网络地址和各种其他设置。
配置数据还包括关于属性对象彼此如何相关的信息,诸如功能或位置关系。进一步地,配置数据包括关于用户授权(即,关于各属性对象或属性对象组,哪些许可被授予用户或用户组)和关于用于由各属性类型定义的操作的所需许可的信息。注意,该情景中的用户可以包括软件过程(程序)以及人类用户。
工程段中进行的、对配置数据的更改可以直接应用于运行时间段。另选地,配置数据在更改已经完成并满意地验证之后在不同的步骤中从工程段部署到运行时间部分的组件。
图4是图示了图1的***的客户-服务器视角的示意图。客户节点12使用***服务协议25与服务器节点10通信。这样,为了使应用模块31访问服务提供者26,应用模块31经由客户端***服务基础设施33、***服务协议25以及服务器***服务基础设施21连接到讨论中的服务提供者26。
应用模块31是使用***服务来调用一个或更多个服务提供者26的操作以实现各种***功能的软件模块。示例包括HMI(人机接口)呈现组件和工程配置工具。
软件模块可以充当客户和服务提供者这两者。示例包括过程优化应用和资产管理应用。
由此,应用模块31与服务提供者26之间的交互借助客户节点的***服务基础设施33来处理,通过该交互,应用模块31可以通过发送***服务请求并接收响应来调用由服务提供者26提供的、对属性对象的操作。***服务协议25为在客户节点12与服务器节点10之间传输***服务请求和响应提供异步消息传递。
要注意,物理设备(工作站、服务器等)可以实现客户节点12和服务器节点10中二者之一或这两者。
下文中描述的不同组件之间的功能分配出于若干原因而是特别有利的。
首先,客户节点能够在没有提供由属性对象的属性定义的操作的服务提供者的身份和位置的先验知识或不需要首先确定该服务提供者的身份和位置的情况下调用这些操作。
其次,通过避免进行许多串行处理的瓶颈提供消息的高效流动。
第三,用于不同模块的并行执行是可以的,由此允许现代多核处理器架构的最佳使用。
第四,可以在不需要修改现有应用的情况下添加与现有应用相互作用的新应用。
这里且贯穿该文献使用的术语模块要被解释为与其他模块不同且可与其他模块区分的软件模块。模块内部的功能在语义上相关且由模块封装;由此,模块是模块化且紧密结合的。不同模块通常可以在单独的执行情景中执行。各模块可以在不同的处理器核心和/或甚至不同的处理器中执行。因此,可用于各模块的容量可独立配置。模块经由接口相互作用,并且可替换(即,只要新模块经由相同接口提供初始模块的语义,就可以替换现有模块)。
图5是图示了图3的一些属性如何映射到服务提供者的示意图。
服务提供者是在***中提供特定服务组(提供操作)的软件模块。如上面说明的,服务允许客户12中的应用模块调用操作。服务提供者的示例包括目录服务器、HMI(人机接口)服务器26a、数据服务器、警报和事件服务器26c以及历史服务器26b。因为服务提供者提供由一个或更多个属性定义的操作,所以服务提供者与这些属性关联。比如,过程图形属性16f和面板属性16b都被映射到HMI服务器26a,历史日志属性16c被映射到历史服务器26b,并且警报列表属性16d被映射到警报和事件服务器26c。HMI服务器26a、历史服务器26b以及警报和事件服务器26c中的每一个是在一个或更多个物理服务器节点中提供的服务提供者。
如前面说明的,表1显示了可以借助这里所述的***服务而被使得可用的可能操作的一些示例。
图6是更详细地图示了与图1相同类型的客户节点12与服务器节点10a-b的模块的示意图。
这里,客户节点12包括一个或更多个应用模块31、服务调度器模块30、连接管理器模块32以及协议栈39。调度器模块30、连接管理器模块32以及协议栈39对应于图4的客户***服务基础设施23。
第一服务器节点10a包括协议栈29、连接服务器模块20、服务调度器模块22以及一个或更多个服务提供者26。而且,第一服务器节点10a包括目录服务器模块24。协议栈29、连接服务器模块20以及服务调度器模块22对应于图4的服务器***服务基础设施21。
第二服务器节点10b为与第一服务器节点10a相同的类型,除了第二服务器节点10b不具有目录服务器模块24。
必要时可以添加更多个服务器节点和/或客户节点。
***中的至少一个服务器节点含有目录服务器模块24。目录服务器模块24是提供目录服务的服务提供者。目录服务器模块将(可配置的)信息存储在关于属性对象和属性、它们如何彼此相关以及它们在***中的位置(即,例如由网络地址识别什么服务器节点)的对象目录中。目录服务器模块24还存储关于用户授权(即,关于各属性对象或属性对象组,哪些许可被授予用户或用户组)和关于用于由各属性类型定义的操作的所需许可的信息。目录服务器模块24向***中的其他模块提供各种查询服务(诸如对象和属性位置查找、浏览对象目录以及对属性对象的操作的授权)。目录服务器模块24可以被提供在物理上单独的目录服务器中,或者目录服务器模块可以被提供在也收容其他服务的服务器节点中。
对象目录中的信息是如上所述通过工程师使用工程工作站创建的配置数据。当准备激活该信息时,该信息借助于***服务请求传送(部署)到运行时间目录服务器模块。当工程师稍后对属性对象和属性进行更改或添加时,更新后的信息被传送到目录服务器模块。
***中熟知关于各目录服务器的位置的信息,并且在***安装和设定期间例如可以使得该信息可用于所有节点。存在为本领域技术人员所熟悉的、可以建立该信息的若干其他方式,例如,借助配置或由服务发现机制。
服务器节点10a-b(即,含有服务提供者26的节点)也包括对允许服务提供者认证用户的信息的访问。存在从集中管理的目录向服务器提供该信息的若干方式。示例是LDAP(轻量级目录访问协议)。
服务器节点可以可选地被布置为冗余操作,两个或更多个计算机执行用于相同属性对象的相同服务,一个计算机充当有效服务器,并且其他计算机充当备用服务器。只要有效服务器操作,则所有服务请求都指向它。如果有效服务器出故障,则备用服务器接管并变成有效服务器。
同样,通信网络可以被布置为冗余操作,一个网络作为主网络,并且其他网络作为次网络。
如上所述,目的是在没有另一个应用(服务器节点的服务提供者)的身份或位置的先验知识或不需要首先确定另一个应用的身份或位置的情况下,允许(客户节点的)应用模块调用另一个应用的操作。根据这里所提出的实施例,该透明性借助于服务调度器操作来实现,服务调度器操作使用客户端服务调度器模块30和服务器端服务调度器模块22这两者来实现。
现在将对应于本文献中稍后说明的图9和图10的流程图的方法描述该过程。
为了调用与属性对象的特定属性关联的操作,应用模块31向客户端服务调度器模块30传递服务请求。请求包括对所请求操作的引用、对属性对象的引用以及对请求操作的属性的引用,该请求例如为形式<属性对象身份;属性身份>,其中,“属性对象身份”和“属性身份”是分别唯一识别属性对象和属性的引用。
当接收来自应用模块31的请求时,客户端服务调度器模块30首先向***中的任意目录服务器模块24发送对于属性对象和属性的位置查找请求。
目录服务器模块24以负责位置查找请求中所述的属性对象和属性的服务提供者26的位置和身份来响应。客户端服务调度器24然后使用该信息来将客户的服务请求引导至相关服务器节点和服务提供者。
可选地,客户端服务调度器30缓存关于它从目录服务器作为响应接收的属性对象和属性的位置的信息,由此节省到目录服务器的往返和用于引用相同对象和属性的将来请求的处理。为了确保缓存中的信息总是正确的,例如可以在如上所述的用来自工程工作站的新配置数据更新目录服务器模块24时使缓存失效。
在收容讨论中的服务提供者26的服务器节点中(例如,在该示例中为第一服务器节点10a),服务器端服务调度器模块22接收服务请求,检查属性对象引用和属性引用,确定合适的服务提供者26,并且向该服务提供者26转发请求。关于哪个服务提供者26与哪个属性关联的信息在开发服务提供者26时确定,并且例如可以由服务器端服务调度器模块22直接保持,或者由目录服务器模块24提供。
当服务提供者26接收请求时,它对指定的属性对象和属性执行所请求的操作。通常,服务提供者26还向服务器端服务调度器模块22发回响应,该服务器端服务调度器模块向客户端服务调度器30转发响应,客户端服务调度器转而向请求应用模块31转发该响应。
在一个实施例中,来自应用模块31的服务请求包括对可能位于不同服务器节点中的多个属性对象和属性的引用。客户端服务调度器模块30然后对于每个服务器节点将服务请求分成一个,然后将来自不同服务器节点的响应合并成被转发到应用模块31的一个响应。
类似地,由服务器端服务调度器模块22从客户节点12接收的请求可以包括由同一服务器节点中的不同服务提供者26服务的多个属性对象和属性的引用。服务器端服务调度器模块22然后对于每个服务提供者26将服务请求分成一个,然后将来自不同服务提供者26的响应合并成被返回到客户端服务调度器模块30的一个响应。
客户中的连接管理器模块32与服务器节点10a、b中的连接服务器20之间的连接可以是长期的(即,它们在单个请求-响应周期之后不终止,而是对于随后的请求保持有效)。连接可以与所有潜在服务器节点例如在***启动之后直接建立。另选地,连接可以在需要时(即,在要向服务器节点发送第一服务请求时)建立。连接管理器模块32可以通过询问目录服务器来找出哪些服务器节点在***中可用、以及关于这些服务器节点的任意必要信息,诸如它们的网络地址。如前所述,***中周知目录服务器的位置。
当建立并激活应用会话时,创建用户情景。对同一应用会话的所有随后服务请求与该用户相关。通常,用户为在客户节点12处登陆的交互人类用户(例如,操作员),由此直接或间接发起服务请求,但用户还可以为在客户节点12中执行的***功能(即,程序)。用户在***中使用用户标识符来引用。
OPC UA架构中的通信和应用层的操作由连接管理器模块32和连接服务器模块20如下实现:
客户端上的连接管理器模块32发起与相关服务器节点中的连接服务器模块20的连接(即,OPC UA安全通道和应用会话)的建立,该连接传递连接请求中用户的认证证书。
服务器端上的连接服务器模块20接收连接请求。如果用户认证成功,则接受请求,并且建立连接,否则拒绝请求。用户认证针对服务器中所存储的用户信息来进行。存在可以进行该认证的、现有技术中已知的若干方式,例如,使用LDAP。
客户端上的连接管理器模块32监督它的所有连接,并且在主网络出故障时向次网络传送连接,或者在有效服务器节点出故障时向备用服务器节点传送连接。为了使故障处理时间最小化,可以利用有效服务器和备用服务器这两者在主网络和次网络这两者上建立安全通道。丢失连接的故障处理通过向另一个安全通道传送应用会话来进行。
连接管理器模块32在所建立的连接上发送服务器请求并接收响应。
连接服务器模块20接收请求并将请求传递到服务器端服务调度器模块22上,该服务器端服务调度器模块转而将请求转发到相关服务提供者26(或本地连接管理器模块32,以便如图7所示且下面说明的向另一个服务器节点转发)。
在许多情况下,服务提供者26将向服务调度器模块22返回响应,服务调度器模块向连接服务器模块22传递该响应,连接服务器模块转而向客户的连接管理器模块32传递响应,以便向应用模块31转发。为了效率最佳,服务器端服务调度器模块20可以将因同一请求而产生的所有响应连结成一个响应消息。
在执行服务请求中所指定的操作之前,服务提供者26检查发起服务请求的用户具有对指定属性对象和属性执行所请求操作的授权。服务提供者26通过将用户的身份、属性对象和属性的身份以及用于所请求操作的标识符传递到目录服务器模块24来进行这一点。
对象目录包括关于由各属性类型定义的不同操作需要什么许可的信息。对象目录还包括关于对于各属性对象或属性对象组授予各用户或用户组什么许可的信息。
目录服务器将授予用户的许可与对指定属性对象和属性的所请求操作需要的许可进行比较。如果所授予许可与所需许可匹配,则目录服务器向服务提供者26返回访问授予消息,否则它返回访问拒绝消息。
协议栈29、39可以为提供可靠传输连接的任意类型的协议栈。例如,协议栈可以支持以太网上的TCP/IP或任意IEEE 802.11标准。
可选地,配置数据包括列出了客户对于冗余服务器节点的优先顺序的各客户节点12的亲密度配置。客户的连接管理器模块32然后将尝试将***服务请求定址到亲密度列表中的第一服务器节点,该第一服务器节点是客户优选的服务器节点。亲密度由此使得可以配置服务对于相同属性对象的请求的不同服务器节点之间的负载均衡。如果客户节点12没有到其优选的服务器节点的连接,则连接管理器模块32将选择亲密度列表中的下一节点等。优选服务器节点一被选择就再次变得可用,使得重新建立预期的负载共享。
可选地,***被配置为使得客户节点12可以不具有到服务特定请求的服务器的直接连接。在这种情况下,客户端服务调度器模块30向具有连接的服务器引导请求,并且该服务器中的服务调度器模块22可能经由其他中间服务器节点向目的地服务器节点转发请求。为了确定路径上的第一服务器,客户端服务调度器模块30使用对象目录中的***拓扑信息。沿着路径的各服务器中的服务调度器模块22再次使用对象目录中的***拓扑信息向下一服务器重新引导请求,直到到达目的地服务器为止。沿着同一路线沿相反方向发送响应。
图7是客户和服务器节点42组合图6的客户节点12和服务器节点10这两者的功能的示意图。这里,可选地组合客户端服务调度器30和服务器端服务调度器22。
这允许服务器端服务调度器模块22也用目录服务器检查被客户节点12’的服务请求所引用的属性对象和属性实际上处于客户和服务器节点42本地,不然的话,服务器端服务调度器模块向合适的服务器节点10’转发服务请求。
由此,客户和服务器节点42中的本地应用模块31(该示例中仅示出一个)可以经由本地服务调度器模块22、30与本地和/或远程服务提供者交互。
图8是图示了具有多过程实施方案的实施例中的、类似于图7的客户和服务器节点42的客户和服务器节点42的示意图。
这里,服务器端服务调度器模块22在处理器中的一个进程中执行,并且客户端服务调度器模块30连同其相应应用模块在处理器中的单独进程中执行。不同的进程使用例如由组合式客户节点和服务器节点42的操作***提供的进程间通信框架40来通信。而且,各服务提供者26以及客户端连接管理器模块32和协议栈39可以在单独的进程(在目录服务器模块24存在时包括该目录服务器模块24)中执行。
这提高并行度,并且减少由于进程切换等待时间引起的请求和响应流程中的延迟和瓶颈。
图9是图示了用于控制诸如图1所示的工业设施的工业设施中的现实世界对象的方法的流程图。该方法在服务器节点10中图示。还对图5至图8的模块进行参照。
在接收连接建立请求步骤100中,接收包括用户身份(可选地包括完整证书)的连接建立请求。该步骤在连接服务器模块20中执行。
在有条件认证通过步骤102中,认证用户身份。如果这导致授予的认证,则方法进行到建立连接步骤104。否则,方法结束。该步骤在连接服务器模块20中执行。
在建立连接步骤104中,建立连接。该连接处于应用层水平上(参见客户应用层6与服务器应用层8之间的图2),并且与连接建立请求的用户身份关联。该步骤在连接服务器模块20中执行。
在接收服务请求步骤106中,在所建立的连接上接收服务请求,其中,服务请求包括对属性对象的引用和属性对象的属性的引用。该步骤在连接服务器模块20中执行。
在向调度器转发步骤108中,向服务调度器模块22转发服务请求和用户身份。该步骤在连接服务器模块20中执行。
在确定目标服务提供者步骤110中,根据对属性对象和/或属性的引用确定目标服务提供者26。这通过查询目录服务器模块24来执行。该步骤在服务调度器模块22中执行。
在发送服务请求步骤112中,向目标服务提供者发送服务请求和用户身份。该步骤在服务调度器模块22中执行。
在有条件授权步骤116中,检查使用户身份调用由属性定义的操作的授权。如果这引起授权用户身份,则方法进行到执行操作步骤118。否则,方法结束。该步骤在服务提供者26中执行。
在执行操作步骤118中,执行由属性定义的操作。该步骤在服务提供者26中执行,并且还可以包括向客户节点12发回响应。
图10是图示了用于控制诸如图1所示的工业设施的工业设施中的现实世界对象的方法的流程图。该方法在客户节点12中图示。还对图5至图8的模块进行参照。
在接收服务请求步骤120中,从客户节点的应用模块31接收服务请求。服务请求包括对属性对象的引用和对属性对象的属性的引用。该步骤在服务调度器模块30中执行。
在确定位置步骤122中,基于对属性对象和/或属性的引用确定服务器节点10的位置。该步骤在服务调度器模块30中执行。
在向通信模块转发步骤124中,向连接管理器模块32转发服务请求、对服务器节点10的位置的引用以及用户身份。该步骤在服务调度器模块30中执行。
在有条件连接步骤126中,检查是否与服务器节点建立连接。如果建立该连接,则方法进行到发送服务器请求步骤130。否则,方法进行到建立连接步骤128。该步骤在连接管理器模块32中执行。
在建立连接步骤128中,向服务器节点10发送包括用户身份的连接建立请求。该步骤在连接管理器模块32中执行。
在发送服务请求步骤130中,向服务器节点发送服务请求。该步骤在连接管理器模块32中执行。
在接收响应步骤132中,从服务器接收响应。该步骤在连接管理器模块32中执行。
图11是显示了图1的服务器节点10的实施例的一些组件的示意图。
处理器60使用合适中央处理单元(CPU)、微处理器、微控制器、数字信号处理器(DSP)等中的一个或更多个的任意组合来提供,这些部件能够执行存储在存储器64中的软件指令66,由此可以是计算机程序产品。处理器60可以被配置为执行上面参照图9描述的方法。
存储器64可以为读写存储器(RAM)和只读存储器(ROM)的任意组合。存储器64还包括永久储存器,该永久储存器例如可以为磁存储器、光存储器、固态存储器或甚至远程安装的存储器的任意单个或组合。
数据存储器65可以为读写存储器(RAM)和只读存储器(ROM)的任意组合。数据存储器65还包括永久储存器,该永久储存器例如可以为磁存储器、光存储器、固态存储器甚至远程安装的存储器的任意单个或组合。
服务器节点10还包括用于与其他实体(诸如客户节点12或其他服务器节点)通信的I/O接口62。可选地,I/O接口62还包括用于服务器节点10本身的操作员控制的用户接口。
为了不使这里提出的概念模糊,这里省略服务器节点10的其他组件。
图12是显示了图1的客户节点10的实施例的一些组件的示意图。
处理器70使用合适中央处理单元(CPU)、微处理器、微控制器、数字信号处理器(DSP)等中的一个或更多个的任意组合来提供,这些部件能够执行存储在存储器74中的软件指令76,由此可以是计算机程序产品。处理器70可以被配置为执行上面参照图9描述的方法。
存储器74可以为读写存储器(RAM)和只读存储器(ROM)的任意组合。存储器74还包括永久储存器,该永久储存器例如可以为磁存储器、光存储器、固态存储器甚至远程安装的存储器的任意单个或组合。
数据存储器75可以为读写存储器(RAM)和只读存储器(ROM)的任意组合。数据存储器75还包括永久储存器,该永久储存器例如可以为磁存储器、光存储器、固态存储器甚至远程安装的存储器的任意单个或组合。
客户节点10还包括用于与其他实体(诸如服务器节点12)通信的I/O接口72。I/O接口72还包括用于客户节点12本身的操作员控制的用户接口。
为了不使这里提出的概念模糊,这里省略客户节点12的其他组件。
图13显示了包括计算机可读部件的计算机程序产品的一个示例。在该计算机可读部件上,可以存储计算机程序91,该计算机程序可以使得处理器执行根据这里所述实施例的方法。在该示例中,计算机程序产品是光盘,诸如CD(光碟)或DVD(数字化通用光盘)或蓝光盘。如上面说明的,计算机程序产品还可以在设备的存储器中具体实施,诸如图11的计算机程序产品66或图12的计算机程序产品76。虽然计算机程序91在这里被示意性显示为所描绘光盘上的磁轨,但计算机程序可以以适于计算机程序产品的任意方式来存储,诸如可移动固态存储器(例如,通用串行总线(USB)驱动器)。
上面已经主要参照一些实施例描述了本发明。然而,如本领域技术人员容易理解的,除了上面公开的实施例之外的其他实施例在如由所附专利权利要求限定的、本发明的范围内同样是可以的。
Claims (24)
1.一种用于控制工业设施(3)中的现实世界对象(2、2a-f)的方法,所述方法在服务器节点(10)中执行,并且包括以下步骤:
在连接服务器模块(20)中接收(100)包括用户身份的连接建立请求;
在所述连接服务器模块(20)中认证(102)所述用户身份;
仅在所述认证成功时,在所述连接服务器模块(20)中建立(104)连接,并且使所述连接与所述用户身份关联;
在所述连接服务器模块(20)中,在所建立的连接上接收(106)服务请求,其中,所述服务请求包括对属性对象的引用和对所述属性对象的属性的引用,其中,所述属性对象是表示所述现实世界对象(2、2a-f)中的一个的软件对象,并且所述属性定义与所述现实世界对象关联的操作;
在所述连接服务器模块(20)中向服务调度器模块(22)转发(108)所述服务请求和所述用户身份;
在所述服务调度器模块(22)中根据对所述属性的引用确定(110)目标服务提供者(26);以及
在所述服务调度器模块(22)中向所述目标服务提供者发送(112)所述服务请求和所述用户身份。
2.根据权利要求1所述的方法,其中,确定(110)目标服务提供者(26)的步骤包括查询目录服务器模块(24)。
3.根据权利要求1或2所述的方法,还包括以下步骤:
在对应于所述目标服务提供者的服务提供者模块中,检查(116)针对所述用户身份调用由所述属性定义的所述操作的授权;以及
仅在所述用户身份具有调用由所述属性定义的操作的授权时,在所述服务提供者模块中,执行(118)由所述属性定义的所述操作。
4.根据权利要求3所述的方法,其中,检查(116)授权的步骤包括向所述目录服务器模块(24)发送授权请求,并且从所述目录服务器模块(24)接收响应,其中,所述授权请求包括所述用户身份、对所述属性对象的引用以及对所述属性的引用。
5.根据前述权利要求中的任一项所述的方法,其中,所述目录服务器模块被提供在与所述服务器节点(10)物理上分离的目录服务器中。
6.根据前述权利要求中的任一项所述的方法,其中,在所述接收连接建立请求的步骤中,所述连接建立请求包括认证证书,所述认证证书包括所述用户身份。
7.一种用于控制工业设施(3)中的现实世界对象(2、2a-f)的服务器节点(10),所述服务器节点(10)包括:
处理器(60);和
存储器(64),所述存储器存储连接服务器模块(20)和服务调度器模块(22);
其中,所述连接服务器模块(20)存储指令(66),所述指令在由所述处理器执行时,使得所述服务器节点(10):接收包括用户身份的连接建立请求;认证所述用户身份;仅在所述认证成功时,建立连接,并且使所述连接与所述用户身份关联;在所建立的连接上接收服务请求,其中,所述服务请求包括对属性对象的引用和对所述属性对象的属性的引用,其中,所述属性对象是表示所述现实世界对象(2、2a-f)中的一个的软件对象,并且所述属性定义与所述现实世界对象关联的操作;以及向服务调度器模块(22)转发所述服务请求和所述用户身份;
并且所述服务调度器模块(22)存储指令(66),所述指令在由所述处理器执行时,使得所述服务器节点(10):从对所述属性的引用确定目标服务提供者;并且向所述目标服务提供者发送所述服务请求和所述用户身份。
8.根据权利要求7所述的服务器节点(10),其中,确定目标服务提供者的指令包括在由所述处理器执行时使得所述服务器节点(10)查询目录服务器模块(24)的指令。
9.根据权利要求7或8所述的服务器节点(10),其中,所述存储器还存储对应于所述目标服务提供者的服务提供者模块(24),所述服务提供者模块(24)包括指令,所述指令在由所述处理器执行时,使得所述服务器节点(10):检查针对所述用户身份调用由属性定义的所述操作的授权;并且仅在所述用户身份具有调用由属性定义的所述操作的授权时,执行由所述属性定义的操作。
10.根据权利要求9所述的服务器节点(10),其中,检查授权的指令包括如下指令,所述指令在由所述处理器执行时,使得所述服务器节点(10)向所述目录服务器模块发送授权请求,并且从所述目录服务器模块接收响应,其中,所述授权请求包括所述用户身份、对所述属性对象的引用以及对所述属性的引用。
11.根据权利要求7至11中的任一项所述的服务器节点(10),其中,所述目录服务器模块被提供在与所述服务器节点(10)物理分离的目录服务器(11)中。
12.根据权利要求7至11中的任一项所述的服务器节点(10),其中,所述连接建立请求包括认证证书,所述认证证书包括所述用户身份。
13.根据权利要求7至12中的任一项所述的服务器节点(10),其中,各模块的容量能独立配置。
14.一种用于控制工业设施(3)中的现实世界对象(2、2a-f)的计算机程序(90),所述计算机程序包括计算机程序代码,所述计算机程序代码当运行在服务器节点(10)上时,使得所述服务器节点(10):
在连接服务器模块(20)中接收包括用户身份的连接建立请求;
在所述连接服务器模块(20)中认证所述用户身份;
仅在所述认证成功时,在所述连接服务器模块(20)中建立连接,并且使所述连接与所述用户身份关联;
在所述连接服务器模块(20)中,在所述所建立的连接上接收服务请求,其中,所述服务请求包括对属性对象的引用和对所述属性对象的属性的引用,其中,所述属性对象是表示所述现实世界对象(2、2a-f)中的一个的软件对象,并且所述属性定义与所述现实世界对象关联的操作;
在所述连接服务器模块(20)中向服务调度器模块(22)转发所述服务请求和所述用户身份;
在所述服务调度器模块(22)中从对所述属性的引用确定(110)目标服务提供者(26);并且
在所述服务调度器模块(22)中向所述目标服务提供者发送所述服务请求和所述用户身份。
15.一种计算机程序产品(91、66),包括根据权利要求14的计算机程序和上面存储所述计算机程序的计算机可读部件。
16.一种用于控制工业设施(3)中的现实世界对象(2、2a-f)的方法,所述方法在客户节点(12)中执行,并且包括以下步骤:
在服务调度器模块(30)中接收(120)来自所述客户节点(12)的应用模块(31)的服务请求,其中,所述服务请求包括对属性对象的引用和对所述属性对象的属性的引用,其中,所述属性对象是表示所述现实世界对象(2、2a-f)中的一个的软件对象,并且所述属性定义与所述现实世界对象关联的操作;
基于对所述属性对象的引用和对所述属性的引用在所述服务调度器模块(30)中确定(122)服务器节点(10)的位置;
在所述服务调度器模块(30)中向连接管理器模块(32)转发(124)所述服务请求、对所述服务器节点(10)的所述位置的引用以及用户身份;
在所述连接管理器模块(32)中检查(126)是否与所述服务器节点(10)建立连接;
当未与所述服务器节点(10)建立连接时,在所述连接管理器模块(32)中发送(128)包括所述用户身份的连接建立请求;以及
当建立与所述服务器节点(10)的连接时,在所述连接管理器模块(32)中向所述服务器节点(10)发送(130)所述服务请求。
17.根据权利要求16所述的方法,其中,确定(122)位置的步骤包括通过查询目录服务器确定所述服务器节点(10)的所述位置。
18.根据权利要求17所述的方法,还包括以下步骤:缓存所述服务器节点(10)的所述位置,以便用于对所述属性对象和所述属性的将来服务请求。
19.一种用于控制工业设施(3)中的现实世界对象(2、2a-f)的客户节点(12),所述客户节点(12)包括:
处理器(70);和
存储器(74),所述存储器存储服务调度器模块(32)和连接管理器模块(32);
其中,所述服务调度器模块(30)存储指令(76),所述指令在由所述处理器执行时,使得所述客户节点(12):接收来自所述客户节点(12)的应用模块(31)的服务请求,其中,所述服务请求包括对属性对象的引用和对所述属性对象的属性的引用,其中,所述属性对象是表示所述现实世界对象(2、2a-f)中的一个的软件对象,并且所述属性定义与所述现实世界对象关联的操作;基于对所述属性对象的引用和对所述属性的引用确定服务器节点(10)的位置;并且向连接管理器模块(32)转发所述服务请求、对所述服务器节点(10)的所述位置的引用以及用户身份;
并且所述连接管理器模块(32)存储指令(76),所述指令在由所述处理器执行时,使得所述客户节点(12):检查是否与所述服务器节点(10)建立连接;当未与所述服务器节点(10)建立连接时,发送包括所述用户身份的连接建立请求;并且当建立与所述服务器节点(10)的连接时,向所述服务器节点(10)发送所述服务请求。
20.根据权利要求19所述的客户节点(12),其中,确定(122)位置的步骤包括通过查询目录服务器确定所述服务器节点(10)的所述位置。
21.根据权利要求20所述的客户节点(12),还包括以下步骤:缓存所述服务器节点(10)的所述位置,以便用于对所述属性对象和所述属性的将来服务请求。
22.根据权利要求19至21中的任一项所述的客户节点(12),其中,各模块的容量能独立配置。
23.一种用于控制工业设施(3)中的现实世界对象(2、2a-f)的计算机程序(90),所述计算机程序包括计算机程序代码,所述计算机程序代码当运行在客户节点(12)上时,使得所述客户节点(12):
在所述服务调度器模块(30)中接收来自所述客户节点(12)的应用模块(31)的服务请求,其中,所述服务请求包括对属性对象的引用和对所述属性对象的属性的引用,其中,所述属性对象是表示所述现实世界对象(2、2a-f)中的一个的软件对象,并且所述属性定义与所述现实世界对象关联的操作;
基于对所述属性对象的引用和对所述属性的引用在所述服务调度器模块(30)中确定服务器节点(10)的位置;
在所述服务调度器模块(30)中向连接管理器模块(32)转发所述服务请求、对所述服务器节点(10)的所述位置的引用以及用户身份;
在所述连接管理器模块(32)中检查是否与所述服务器节点(10)建立连接;
当未与所述服务器节点(10)建立连接时,在所述连接管理器模块(32)中发送包括所述用户身份的连接建立请求;并且
当建立与所述服务器节点(10)的连接时,在所述连接管理器模块(32)中向所述服务器节点(10)发送所述服务请求。
24.一种计算机程序产品(91、76),所述计算机程序产品包括根据权利要求23的计算机程序和上面存储所述计算机程序的计算机可读部件。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2014/069608 WO2016041571A1 (en) | 2014-09-15 | 2014-09-15 | Controlling real world objects in an industrial installation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107077128A true CN107077128A (zh) | 2017-08-18 |
CN107077128B CN107077128B (zh) | 2019-07-26 |
Family
ID=51539285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480081728.XA Active CN107077128B (zh) | 2014-09-15 | 2014-09-15 | 控制工业设施中的现实世界对象 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10146217B2 (zh) |
EP (1) | EP3195072B1 (zh) |
CN (1) | CN107077128B (zh) |
WO (1) | WO2016041571A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108459552A (zh) * | 2018-01-31 | 2018-08-28 | 南京拓控信息科技股份有限公司 | 一种智能化面向对象的可编程的自动化控制方法 |
CN109743349A (zh) * | 2018-11-29 | 2019-05-10 | 比亚迪股份有限公司 | 基于轨道交通的文件管理方法、***及其设备 |
CN111216134A (zh) * | 2020-02-17 | 2020-06-02 | 深圳前海达闼云端智能科技有限公司 | 机器人的控制方法、装置、控制器、存储介质和机器人 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10303144B2 (en) * | 2014-08-11 | 2019-05-28 | Abb Schweiz Ag | Object creation in process control systems |
US9794372B2 (en) | 2015-04-07 | 2017-10-17 | At&T Intellectual Property I, L.P. | Connection management service |
EP3264208B1 (de) * | 2016-06-30 | 2021-01-06 | Siemens Aktiengesellschaft | Verfahren zum aktualisieren von prozessobjekten in einem engineerings-system |
JP6562157B2 (ja) * | 2016-08-31 | 2019-08-21 | セイコーエプソン株式会社 | シート製造装置、及び、シート製造装置の制御方法 |
FI127806B (en) * | 2017-12-22 | 2019-02-28 | Prosys Opc Oy | A method, system and computer software for managing OPC UA server capacity |
JP7211022B2 (ja) * | 2018-11-07 | 2023-01-24 | セイコーエプソン株式会社 | ウェブ製造装置およびシート製造装置 |
CN111308971A (zh) * | 2020-02-19 | 2020-06-19 | 广州博依特智能信息科技有限公司 | 一种造纸打浆过程设备的动态调度***及方法 |
EP3968107B1 (de) * | 2020-09-09 | 2022-12-14 | Siemens Aktiengesellschaft | Prozessüberwachungssystem und verfahren zum betrieb eines prozessüberwachungssystems |
CN114612262B (zh) * | 2022-04-28 | 2022-07-22 | 成都秦川物联网科技股份有限公司 | 一种智能制造工业物联网***及控制方法 |
CN115562869B (zh) * | 2022-10-19 | 2024-02-06 | 慧之安信息技术股份有限公司 | 一种基于键值对结构opcua client管理的方法和*** |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020184348A1 (en) * | 2000-09-20 | 2002-12-05 | Lockheed Martin Corporation | Object oriented framework architecture for sensing and/or control environments |
CN101151874A (zh) * | 2005-04-04 | 2008-03-26 | 德国邮政股份公司 | 网络节点和在互联网市场上提供互联网服务的方法 |
WO2010083889A1 (en) * | 2009-01-23 | 2010-07-29 | Nokia Siemens Networks Oy | Identity management scheme |
CN101931613A (zh) * | 2009-06-23 | 2010-12-29 | 中兴通讯股份有限公司 | 集中认证方法和集中认证*** |
CN102369750A (zh) * | 2009-03-31 | 2012-03-07 | 法国电信公司 | 用于管理用户的认证的方法和装置 |
US20120226368A1 (en) * | 2011-03-01 | 2012-09-06 | FLOW DATA, INC. A Delaware Corporation. | Configuration based programmable logic controller (plc) programming |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9709978B2 (en) * | 2013-05-09 | 2017-07-18 | Rockwell Automation Technologies, Inc. | Using cloud-based data for virtualization of an industrial automation environment with information overlays |
-
2014
- 2014-09-15 CN CN201480081728.XA patent/CN107077128B/zh active Active
- 2014-09-15 EP EP14765958.5A patent/EP3195072B1/en active Active
- 2014-09-15 US US15/509,561 patent/US10146217B2/en active Active
- 2014-09-15 WO PCT/EP2014/069608 patent/WO2016041571A1/en active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020184348A1 (en) * | 2000-09-20 | 2002-12-05 | Lockheed Martin Corporation | Object oriented framework architecture for sensing and/or control environments |
CN101151874A (zh) * | 2005-04-04 | 2008-03-26 | 德国邮政股份公司 | 网络节点和在互联网市场上提供互联网服务的方法 |
WO2010083889A1 (en) * | 2009-01-23 | 2010-07-29 | Nokia Siemens Networks Oy | Identity management scheme |
CN102369750A (zh) * | 2009-03-31 | 2012-03-07 | 法国电信公司 | 用于管理用户的认证的方法和装置 |
CN101931613A (zh) * | 2009-06-23 | 2010-12-29 | 中兴通讯股份有限公司 | 集中认证方法和集中认证*** |
US20120226368A1 (en) * | 2011-03-01 | 2012-09-06 | FLOW DATA, INC. A Delaware Corporation. | Configuration based programmable logic controller (plc) programming |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108459552A (zh) * | 2018-01-31 | 2018-08-28 | 南京拓控信息科技股份有限公司 | 一种智能化面向对象的可编程的自动化控制方法 |
CN108459552B (zh) * | 2018-01-31 | 2021-07-23 | 南京拓控信息科技股份有限公司 | 一种智能化面向对象的可编程的自动化控制方法 |
CN109743349A (zh) * | 2018-11-29 | 2019-05-10 | 比亚迪股份有限公司 | 基于轨道交通的文件管理方法、***及其设备 |
CN111216134A (zh) * | 2020-02-17 | 2020-06-02 | 深圳前海达闼云端智能科技有限公司 | 机器人的控制方法、装置、控制器、存储介质和机器人 |
CN111216134B (zh) * | 2020-02-17 | 2021-11-09 | 达闼机器人有限公司 | 机器人的控制方法、装置、控制器、存储介质和机器人 |
Also Published As
Publication number | Publication date |
---|---|
EP3195072B1 (en) | 2019-12-18 |
CN107077128B (zh) | 2019-07-26 |
US10146217B2 (en) | 2018-12-04 |
WO2016041571A1 (en) | 2016-03-24 |
US20170300042A1 (en) | 2017-10-19 |
EP3195072A1 (en) | 2017-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107077128B (zh) | 控制工业设施中的现实世界对象 | |
US11282612B2 (en) | Systems, devices, and methods for internet of things integrated automation and control architectures | |
US11227080B2 (en) | Industrial automation information contextualization method and system | |
US20210397174A1 (en) | Industrial automation information contextualization method and system | |
Karnouskos et al. | A SOA-based architecture for empowering future collaborative cloud-based industrial automation | |
CN107256007B (zh) | 用于工业自动化环境的虚拟化的***和方法 | |
US7693585B2 (en) | Enabling object oriented capabilities in automation systems | |
JP2023504549A (ja) | 集中型知識リポジトリおよびデータマイニングシステム | |
CN101201599A (zh) | 用于工业控制***的模块的人机界面视角 | |
Huang et al. | Development of an intelligent energy management network for building automation | |
Hozdić et al. | Concept of socio-cyber-physical work systems for Industry 4.0 | |
Gopinath et al. | Re-design of smart homes with digital twins | |
Khalid et al. | Development of a building information modelling (BIM)-based real-time data integration system using a building management system (BMS) | |
Yang et al. | Requirements specification and architecture design for Internet-based control systems | |
KR102593008B1 (ko) | Opc ua를 이용한 분산형 스마트 팩토리 운영 방법 및 장치 | |
Prist et al. | Cyber-physical manufacturing systems: An architecture for sensor integration, production line simulation and cloud services | |
JP2021051740A (ja) | モバイルデバイスによるプロセス制御データのセキュアなオフプレミスアクセス | |
CN101907880A (zh) | 在过程控制***中隐藏视觉对象图的部分的方法和装置 | |
Grauer et al. | Towards an IT-framework for digital enterprise integration | |
Iliuţă et al. | A digital twin generic architecture for data-driven cyber-physical production systems | |
Long et al. | Enterprise service remote assistance guidance system based on digital twin drive | |
Jiang et al. | RFID, social sensors and extended cyber-physical system | |
Tripathy et al. | OPC UA Service Discovery and Binding in a Service-Oriented Architecture | |
Leghari et al. | IoT Based Closed Loop Production Optimization using MQTT and Rule-based System | |
Kychkin et al. | Design Patterns for Cyber-Physical Systems of Buildings |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |