一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于在客户端设备、服务器设备和多个自动化设备之间进行数据传输的系统的制作方法

2022-08-28 06:03:28 来源:中国专利 TAG:


1.本发明涉及自动化技术。自动化技术是工程的分支,其主要涉及机械工程和电气工程。其通常用于使机器、工厂或技术系统中的技术过程自动化。
2.除了将人们从危险的、繁重的或日常的活动中解脱出来之外,质量的提高、机器或工厂的更高性能以及人员成本的降低都是使用自动化技术的动机。最好减少人类活动以消除干扰、供应材料、移除和维护预制部件以及其他类似活动。
3.自动化系统用于化工、制药和废水处理等多种行业,监督执行某个流程的设备,该流程通过执行该流程来创建或更改某些内容;例如,在炼油过程中,过程控制系统监督将原油转化为汽油的机械和设备。过程控制系统通常包括三组电子设备:控制器,输入/输出(“i/o”)装置和自动化设备。自动化设备通过i/o系统向控制器传输关于过程活动的信息,而控制器又向其它现场设备传输信息以调整过程活动。
4.此外,自动化系统涉及用于生产货物的物理和组织结构和设施,例如产品、程序、建筑物(或建筑物组)、网络、控制器、接口、机器和装配线。


背景技术:

5.profinet、以太网ip或modbus-tcp(modbus传输控制协议)是基于以太网的通信机制的实例。通信机制通常由通常标准化的关联协议及其所基于的通信关系定义。通信关系组织参与网络中的数据传输的设备(也称为用户)之间的通信。通信关系的实例是客户端/服务器,主设备/从设备,主设备/主设备,生产者/消费者或发布者/订阅者。tcp/ip经常被用作基于以太网的网络的通信协议。预计将通过纯以太网(第二层)通信取代基于ip的通信组件。省略ip栈将允许生产比以前具有ip栈的设备更便宜的设备。


技术实现要素:

6.现在,在数字化过程中,客户需要远程访问他们的自动化设备,例如从云端访问。然而,由于设备可能不再拥有ip栈,因此会出现问题。与先前的设备不同,没有ip栈的自动化设备不再能够经由基于ip和ip路由的网络来访问。因此,现有的以及未来的profinet和opc ua应用必须通过第二层通信进行成本密集且耗时的扩展,并且同时只能在本地现场总线上使用。
7.因此,需要一种技术解决方案,在该解决方案中,使无ip的自动化设备看起来像拥有ip栈的自动化设备。
8.无论相应的自动化设备是否拥有ip栈,它最好都应该对用户(例如客户端应用的用户)隐藏。相反,用户(例如,通过所述客户端)应该能够通过ip寻址所有设备。特别地,在opc ua的上下文中,用户然后能够通过ip与(无ip的)自动化设备通信,就像与具有opc ua服务器和ip功能的其他自动化设备通信一样。
9.诸如“网络地址转换(nat)”、“应用层网关(alg)”以及“代理”和“虚拟主机”的协议
已经为人所知,并允许网络协议和应用协议之间的互操作性。在网络层面上,所谓的“网络地址转换(nat)”在广泛的应用场景中用作通用构建模块。例如,nat64用于将ipv6客户端连接到ipv4设备,参见欧洲专利申请ep 3062490 a1,其中,描述了ipv4自动化设备到ipv6网络中的自动和自适应集成。
10.另一方面,如果可行的话,必须使用不同的(传输)通信层将显著不同的应用协议彼此连接,则通常所谓的应用层网关(alg)会有多种用途。最终,多个分离的opc-ua服务器还用作应用层网关(alg),用于访问各种自动化设备和/或现场总线。
11.除其他任务外,代理(尤其是网站代理)还用于为客户端应用提供单个应用服务器,从而提供单个访问点(“门户”),尽管代理背后实际上有多个应用服务器,请参阅rfc 7230“超文本传输协议(http/1.1):消息句法和路由”中的第2、3节“中间层”。类似于代理,http本身提供用于将应用服务器划分为多个逻辑应用服务器的功能,其形式为所谓的“虚拟主机”—参阅rfc 7230“超文本传输协议(http/1.1):消息句法和路由”。
12.本发明提供了对上述情形的改进方案和解决方案。
13.根据第一方面,提出了一种用于在客户端设备、服务器设备和多个自动化设备之间进行数据传输的系统,其中,服务器设备包括多个自动化设备中的每一个自动化设备的描述性表示,其中,服务器设备包括服务器实体,该服务器实体被操作用于基于识别多个自动化设备中的一个自动化设备的主机名来加载描述性表示中的一个描述性表示,其中,服务器实体被操作用于基于加载的自动化设备的描述性表示将数据从自动化设备传输到客户端设备上的客户端应用。
14.根据第二方面,提出了根据第一方面的服务器设备。
15.根据第三方面,提出了根据第一方面的客户端设备。
16.根据第四方面,提出了一种根据第一方面的自动化设备。
17.根据第五方面,提出了一种用于在客户端设备、服务器设备和一个或多个自动化设备之间进行数据传输的方法,其中,服务器设备包括多个自动化设备中的每一个自动化设备的描述性表示,其中,服务器设备包括服务器实体,包括以下步骤:通过服务器实体加载,基于主机名的描述性表示中的一个描述性表示,识别多个自动化设备中的一个自动化设备,并通过服务器实体将数据从自动化设备传输到客户端设备上的客户端应用。
附图说明
18.图1示出了包括自动化设备和服务器的自动化系统的图示。
19.图2示出了客户端和服务器的图示。
20.图3示出了包括客户端设备、服务器设备和自动化设备的自动化系统的图示。
21.图4示出了能够加载自动化设备的描述性表示的服务器的图示。
22.图5示出了第一实施例的方法步骤。
23.图6示出了第二实施例的方法步骤。
24.图7示出了第三实施例的方法步骤。
25.图8示出了第四实施例的方法步骤。
26.图9示出了第六实施例的方法步骤。
具体实施方式
27.图1示出了包括自动化设备6、13、17、22和不同的网站服务器3、10、15、20、24的自动化系统0,这些网站服务器通过互联网1直接或间接地彼此连接。自动化技术是工厂工程和工程的一个子领域,主要影响机械工程和电气工程。它通常用于使机器、工厂或技术系统中的技术过程自动化。
28.第一网站服务器3经由连接2直接与互联网1通信。第一网站服务器3经由连接5连接到自动化系统的输入/输出模块6。第二和第三网站服务器10、15经由连接9、14、防火墙8和连接7连接到互联网1。第二网站服务器10具有到转换器13的连接12。第三网站服务器15具有与驱动器18相连的连接17。附图标记20表示被称为嵌入式网站服务器的第四网站服务器,该第四网站服务器经由连接19直接连接到互联网1,并且嵌入在阀22的控制中。图1所示的第五网站服务器24不具有自动化功能,并且通过连接23与互联网通信。诸如网站浏览器的客户端26经由连接25连接到互联网1。如图所示,网络服务器能够与自动化设备通信耦合。为此,网络服务器能够嵌入在自动化设备中。
29.网站服务器是在计算机上运行的过程,或者也分布在多个计算机上,并且通常向一个或多个客户端(不同设备上的网站浏览器)提供信息。该信息能够静态地驻留在网站服务器上,或者由另外的实用程序动态地生成。因此,在第五网站服务器24和客户端26的实施例中,经由互联网1连接的典型通信伙伴是网站服务器。第五网站服务器24响应于来自客户端26的请求,经由互联网1提供信息,通常提供的是互联网页面。网站服务器能够经由连接和tcp/ip栈来连接。关于在自动化技术领域中使用网站服务器的进一步细节在如美国专利申请us2005198137a1中公开。
30.图2示出了用于客户端和服务器之间的交互的布置。应当理解,客户端和服务器能够配置在单个设备上,但是也能够位于分离的设备上。在示例性实施例中,示出了使用诸如网络的通信系统的根据opc ua规范的opc ua客户端和opc ua服务器。在这种情况下,opc ua客户端使用来自opc ua协议中指定的一组opc ua服务调用中的opc ua服务调用进行交互。opc ua客户端和服务器的应用领域范围宽泛,并且它们的功能能够在不同的自动化设备和自动化系统中实现,例如控制器、基于pc的控制系统、生产管理系统,以及在生产计划中实现。
31.尽管之后将参考opc ua客户端和opc ua服务器以及opc ua协议和/或opc ua标准的其它细节,但是这仅用于示例性目的,并且本发明的范围和意义不仅限于opc ua,而是也能够应用于其它协议和标准。
32.opc ua使用类似于经典opc的客户端-服务器概念。想要向其它应用展示其自身信息的应用被称为ua服务器,而想要消费来自其它应用的信息的应用被称为ua客户端。但预计一个应用中的ua服务器和ua客户端将比经典opc中的应用多得多。一个原因是更多的ua服务器将直接集成在设备中。实现ua客户端还能够实现设备到设备的通信。另一个原因是使用opc ua作为配置接口,其中,ua客户端也是要经由opc ua配置的ua服务器。
33.典型的opc ua应用由下图所示的三个软件层组成。完整的软件栈能够用c/c ,net或java来实现。opc ua不限于这些编程语言和开发平台,但目前只有这些环境用于实现opc基础的ua堆栈可交付件。
34.opc-ua(网站)服务器用于过程的可视化、监控和控制。通过使用网站技术,过程的
所有变量总是在任何地方并且经由任何常规网站浏览器可用。opc-ua网站服务器能够以库的形式提供,库由运行时的环境加载和执行。opc ua网站服务器具有用于访问进程变量的opc ua客户端接口。可视化能够使用基于html5的opc-ua设计器创建,并通过opc-ua服务器接口上传到opc-ua网站服务器。
35.opc ua应用是想要经由opc ua公开或使用数据的系统。它包含应用的特定功能,以及通过使用opc ua堆栈和opc ua软件开发工具包(sdk)将此功能映射到opc ua。
36.opc ua客户端或服务器sdk实现作为应用层一部分的通用opc ua功能,因为ua栈仅实现通信信道。opc ua sdk减少了开发工作量,并促进了opc ua应用更快的互操作性。
37.ua第3部分中的地址空间模型指定了用于公开实例和类型信息的构建块,从而指定了用于描述和公开信息模型以及构建opc ua服务器地址空间的opc ua元模型。
38.ua第4部分中定义的抽象ua服务表示ua客户端与ua服务器应用之间可行的交互。客户端使用服务来发现和访问由服务器提供的信息。
39.为了涵盖经典opc的所有成功特性,opc ua在基本规范的基础上定义了过程信息领域的信息模型。所谓的da(数据访问)信息模型定义了自动化数据特定的扩展,例如模拟或离散数据的建模以及如何展示服务质量。基本服务已经涵盖了da的所有其他功能。报警状态(ac)信息模型规定了用于过程报警管理和条件监控的高级模型。历史访问(ha)信息模型定义了访问历史数据和历史事件的机制。程序(prog)信息模型规定了启动、操作和监视程序执行的机制。
40.ua第5部分中规定的基本信息模型为使用opc ua的所有信息模型提供了框架。其定义如下:
41.·
客户端用来浏览opc ua服务器实体和类型的地址空间入口点。
42.·
为不同类型层次结构建立根的基本类型
43.·
内置但可扩展的类型,如对象类型和数据类型
44.·
提供功能和诊断信息的服务器对象。
45.·
ua第4部分中定义的抽象ua服务表示ua客户端与ua服务器应用之间可行的交互。客户端使用服务来发现和访问由服务器提供的信息。这些服务是抽象的,因为它们定义了要在ua应用之间交换的信息,而不是线路上的具体表示,也不是应用所使用的应用程序编程接口(api)中的具体表示。
46.为了连接到服务器,客户端需要诸如网络地址、协议和安全设置的信息。为此,opc ua定义了一组发现特性。
47.在客户端和服务器之间建立连接所需的所有信息都存储在所谓的端点中。服务器能够提供几个端点,每个端点包含:
48.·
端点的统一资源定位系统(url)(协议和网络地址)
49.·
安全策略(一组安全算法的名称和密钥长度)
50.·
消息安全模式(交换消息的安全级别)
51.·
用户令牌类型(服务器支持的用户认证类型)
52.如果存在多个opc ua服务器,则能够使用发现服务器提供可用服务器的信息。服务器能够在发现服务器处注册。客户端然后能够从发现服务器请求所有可用服务器的列表,然后使用获取终端服务从服务器获取连接信息。
53.针对嵌入式设备的opc ua最大的挑战之一是巨大服务器地址空间的内存消耗。名称空间索引为0的标准opc ua名称空间已经包含1755个节点,4000多个字符串和80k以上的纯字符串数据。sdk允许我们的地址空间实现的多个实例成为可能。为每个名称空间创建一个新的地址空间,这些地址空间一起构成完整的服务器地址空间。同一个网站服务能够具有多个端点,例如,为了让不同的协议使其可用。
54.tcp/ip栈是一组网络协议。开放式通信系统互联参考模型(osi)是将设备连接在一起的标准化方式,并且大多数协议与osi模型具有某种直接相关性。osi模型具有7层,目前使用的最普通协议组的tcp/ip栈具有4层。tcp/ip协议栈中的互联网协议层是引入作为互联网模型基本原理的虚拟网络抽象的第一层。
55.如今,opc ua标准提供由opc ua客户端传输的主机通信参数,根据opc ua标准的文本(“opc ua第四部分服务”),该参数用于确保客户端在与opc ua服务器通信时发出主机名信号,从而确定客户端地址的服务器网络接口。可编程逻辑控制器(plc)能够有多个ip网络接口,但单个网络接口只能从某些子网访问,因此用户必须具有详细的网络拓扑知识,才能成功寻址opc ua服务器。例如,当使用所谓的获取终端服务列出部署在主机上的opc服务器传输端点时,寻址的主机名包含在所谓的端点url参数中,客户端在其对获取终端服务的请求中使用该参数。由于缺乏网络连续性,该服务使用主机名过滤其响应,以便仅将那些端点url传输到它实际能够访问的客户端。
56.此外,当使用创建会话服务建立opc ua服务器会话时,将使用主机通信参数。在这种情况下,客户端以端点url参数的形式重新输入它实际寻址的服务器端点。
57.现在转到图3,示出了自动化系统0。自动化系统0包括客户端设备110,服务器设备100和多个自动化设备101a、101b。同样,出于示例性目的参考opc ua标准,并且能够使用用于操作自动化系统0的一个或多个其他标准。
58.根据一个实施例,opc ua客户端110与opc ua服务器112交互操作,例如,其中,服务器112位于诸如plc 100的服务器设备上,就好像该服务器似乎分别位于每个单独的自动化设备101a和101b上。各个自动化设备101a、101b的设备特定信息模型(参见图4中的123a,123b)看起来好像相应的opc ua服务器直接位于相应的自动化设备101a和101b本身上。具体地,对于每个自动化设备,客户端110看到(显然)单独的opc ua服务器。因此,看起来好像每个自动化设备101a、101b具有其自身的opc ua服务器112。这意味着各个自动化设备101a、101b的多个信息模型,特别是各个设备信息模型(参见图4中的123a,123b)是可用的。然而,服务器112一次仅提供一个自动化设备101a、101b的信息模型,例如,通过一次加载一个信息模型和/或一个接一个地加载信息模型。因此,opc ua客户端110看不到其中所有设备信息模型都已聚合(即同时聚合)的opc ua服务器,而是似乎存在多个单独的opc ua服务器112,其中,每个服务器正好提供一个设备信息模型123a或123b。这消除了opc ua客户端110知道它是使用自动化设备101a、101b本身中的信息还是使用例如位于plc 100上的“虚拟”opc ua服务器112中的信息的需要。不同自动化设备的信息模型不存在混合,如当今的情况,例如在所谓的“聚合”opc ua服务器中。最终,在当前,例如基于plc的opc ua服务器是聚合服务器,因为它们经由单个opc ua服务器向opc ua客户端提供关于多个自动化设备的信息。在这种情况下,它对于用户不再是透明的,因此对于例如opc ua应用的一个或多个客户端不再是透明的,从这些应用实际检索所请求的信息。此外,如果自动化系统发生变化,
例如更换或添加自动化设备,则数据点的url会发生相应的变化,并且必须跟进数据点或设备url的变化。
59.为了解决这个问题,能够在诸如plc 100的服务器设备上提供诸如域名系统(dns)注册模块120的注册模块。dns注册模块120能够从例如本地数据库102接收自动化设备101a、101b的主机名,其中,需要实例化相应的opc ua服务器112。dns注册模块120也能够采用dns客户端的形式,然后能够根据例如rfc 2136,通过dns更新在(自动化系统特定的)dns服务器121中注册设备的101a、101b主机名。自动化设备主机名的分配和/或注册能够包括主机名与服务器设备(例如plc 100)相关联。可选地,设备的101a、101b主机名也能够由扫描器103动态分配,例如基于动态主机配置协议(dhcp),然后能够存储在本地数据库102中。
60.opc ua客户端110然后能够使用包含opc ua服务器112的dns名称的opc url。根据opc ua协议,例如客户端设备110上的客户端应用首先使用端点服务111来确定可用的服务器端点。同时,客户端应用还传输所寻址的自动化设备101a、101b的主机名。现在,端点服务111不仅能够将接收到的主机名与分配给服务器设备100(例如plc 100)的主机名进行比较,还能够将主机名与分配给本地数据库102中的自动化设备101a、101b的主机名列表进行比较。自动化设备的主机名不分配给服务器设备100,例如所述plc,而是分配给自动化设备101a、101b的“虚拟”opc ua服务器。
61.如图4中更详细地所示,根据opc ua协议,客户端110选择适当的服务器端点中的一个服务器端点,并使用它来建立到opc ua服务器112的opc ua会话。会话启动由图4中的双箭头所示。在会话设置期间传输的主机名由opc ua服务器122评估,并且在该会话中仅加载信息模型123a,123b,该会话对应于接收到相应主机名的自动化设备101a、101b。
62.因此,提出了dns注册模块120,其允许在域名系统(dns)中注册无ip自动化设备101a、101b,并将opc ua服务器的ip地址分配给无ip的输入输出(io)设备101a、101b。因此,在图3的实施例中,客户端设备110和服务器设备100经由网络层协议通信耦合,并且服务器设备100和自动化设备101a、101b经由数据链路层协议通信耦合。
63.因此,单个opc ua服务器能够充当具有相同ip地址、不同主机名,如不同的完全限定域名(fqdn)的多个(虚拟)opc ua服务器。根据指定的自动化设备的主机名,例如在会话设置中,在此会话中只能看到相应的信息模型,并且能够通过服务器实体访问该信息模型。这意味着,能够说,在诸如plc 100的服务器设备中同时存在几个虚拟opc ua服务器。
64.因此,有益的是,在设备交换的情况下,例如在具有ip栈的设备与不具有ip栈的设备之间,由于自动化设备的主机名(例如所述fqdn)和设备的opc ua数据模型都不改变的事实,该交换能够对于opc ua应用不可见。这通过将自动化设备的主机名添加到dns服务器来实现。
65.特别是,能够避免更改现有的opc ua url。通过所提出的架构来隐藏ip地址的改变,该架构包括服务器设备112,尤其是本地数据库102的自注册和自动更新。另一个好处是,能够使用相关的opc ua服务器的ip地址快速自动维护自动化设备的fqdn。还有一个好处是,不会产生(云)应用与自动化设备直接通信的额外负载,例如通过现场总线。而是能够使用如图3所示的服务器设备112上的过程图像113,例如所述plc 100。
66.至少就opc-ua而言,无ip自动化设备101a、101b现在能够以类似于将具有ip能力的自动化设备耦合到客户端110的相同方式通信耦合到客户端110。
67.此外,与多个自动化设备101a、101b通信只需要单个ip地址,即服务器设备112的ip地址。因此,用户不再需要管理多个ip地址。
68.现在转到图5,示出了服务器的实施例的示例性方法步骤。在第一步骤s1中,服务器或服务器实体能够加载自动化设备的描述性表示。根据opc ua标准,自动化设备的描述性表示能够对应于信息模型。然而,自动化设备的其他描述性表示是可行的,例如根据国际电工委员会(iec)标准iec 61804的电子设备描述语言(eddl)。服务器实体能够是网站服务器的实例,或者更具体地是opc ua网站服务器的实例。应当注意,服务器或服务器实体最好一次只能加载自动化设备的一个描述性表示。然而,多个描述性表示用于加载,其中,每个描述性表示与相应的自动化设备相关联。
69.在步骤s2中,服务器或服务器实体能够将数据从自动化设备传输到客户端设备上的客户端应用。然后,能够使用描述性表示将自动化设备的信息提供给客户端应用,并且能够将相应的数据从服务器实体传输到客户端应用。通过自动化设备的描述性表示,客户端应用能够使用自动化设备的特定静态和动态行为。
70.现在转到图6,示出了服务器的实施例的其他示例性方法步骤。在步骤s3中,能够将主机名分配给多个自动化设备中的每一个。这能够手动或自动完成,如图3和4所示,主机名能够存储在本地设备列表中。
71.在步骤s4中,基于自动化设备的主机名识别多个自动化设备中的一个(单个)设备。能够从客户端设备上的客户端应用接收自动化设备的特定主机名。
72.在步骤s5中,服务器实体随后能够加载所识别的自动化设备的描述性表示。被加载的描述性表示能够对应于所识别的自动化设备。也就是说,基于自动化设备的主机名来加载特定的描述性表示。
73.现在转到图7,示出了服务器的实施例的其他示例性方法步骤。
74.在步骤s7中,基于第一主机名识别来自多个自动化设备的第一自动化设备。在随后的步骤s8中,服务器实体加载所识别的第一自动化设备的描述性表示。然后,例如,如果服务器实体接收到第二主机名,则基于第二主机名识别多个自动化设备中的第二自动化设备。在随后的步骤s9中,服务器实体加载所识别的第二自动化设备的描述性表示。在接收到第二个主机名后,能够完全删除服务器实体,并基于识别的第二个自动化设备的第二个描述性表示创建新实例,或者修改服务器实体以反映服务器实体加载的第二个描述性表示。在任何情况下,在加载第二自动化设备的第二描述性表示之后,服务器设备上的服务器实体仅能够提供与第二自动化设备有关的信息。
75.现在转到图8,示出了服务器的实施例的其他示例性方法步骤。在步骤s10中,服务器设备能够通过服务器实体从客户端设备上的客户端应用接收主机名。在步骤s11中,服务器实体将从客户端应用获得的主机名与多个自动化设备主机名进行比较,例如,为了识别自动化设备的描述性表示。在随后的步骤s12中,服务器实体能够选择(单个)待由服务器实体加载的自动化设备的描述性表示中的一个描述性表示。应当理解,上述方法步骤能够由服务器实体和/或与服务器实体交互的服务器设备上的其他(软件)模块执行,以提供所述功能。例如,服务器实体能够与dns注册模块交互,以便获得自动化设备的描述性表示,尤其是所述opc ua信息模型。以相同的方式,服务器实体和/或dns注册模块能够与客户端设备上的端点服务和/或客户端应用交互。
76.现在转到图9,示出了服务器的实施例的其他示例性方法步骤。在步骤s13中,能够用与自动化设备相关联的主机名列表来更新名称服务器。能够通过图3中的参考标记103识别的所述扫描器来收集主机名列表。所述扫描器能够对连接到服务器设备的一个或多个网络(例如现场总线)进行定期和/或事件驱动扫描,例如,以识别新安装或更换的自动化设备。在步骤s14中,能够通过dns服务器(例如图3的所述dns服务器)获得一个或多个自动化设备主机名,以便更新自动化系统中可用的自动化设备的主机名。然后,如图3所示,客户端设备例如能够通过查询dns服务器来检索更新后的主机名列表,并且能够根据具体情况使用一个或多个主机名,以便从自动化设备检索数据。dns客户端和/或dns服务器能够是名称服务的一部分,该名称服务用于向自动化设备分配主机名和/或存储所述主机名和/或使所述主机名用于所述客户端应用和/或服务器实体。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献