用于灵活的过程控制的方法和装置的制造方法

文档序号:10697394阅读:261来源:国知局
用于灵活的过程控制的方法和装置的制造方法
【专利摘要】为了简化和/或灵活设计通过控制装置进行的过程控制,本发明涉及一种用于过程控制的方法,其中由控制装置(100)在运行中运行至少一个第一和第二数据处理模块(210,220),其中自动地由控制装置(100)的操作程序引起第一和第二数据处理模块(210,22)的对应的数据对象之间的数据交换,并且其中在控制装置(100)的运行中改变第一和第二数据处理模块(210,220)的数据对象之间的映射,以便促使过程控制改变。此外,本发明还涉及一种构造用于实施该方法的控制装置,以及用于这种控制装置的操作程序,该程序特别地能够保存在数据载体上。
【专利说明】
用于灵活的过程控制的方法和装置
技术领域
[0001 ]本发明总体设及一种自动化技术,和特别设及一种方法和一种控制装置,其中用 于过程控制的控制装置例如通过通信网络与至少一个成型为输入和/或输出设备的过程装 置连接。
【背景技术】
[0002] 在自动化技术中,为了控制或调节机器或设备而广泛使用可编程控制器(SPS),其 中SI^特别是通过传感器和执行器连接到机器或设备上。SPS可W直接通过输入端和输出端 或者通过通信网络(例如总线系统)与传感器和执行器连接。通过由SPS运行的用户程序进 行过程控制,其中SPS的操作程序,也称为固件,确保为用户程序提供相应的当前的过程数 据。
[0003] 用于可编程控制器的用户程序通常通过使用IEC61131-3标准中限定的编程语言 编写。在根据IEC61131-3的控制程序在工程-系统中生成的过程中实现了程序变量到过程 数据对象的映射,通过该映射实现了对输入和输出数据的访问W及由此实现了对传感器的 信号W及对致动器的控制信号的访问。在生成具有程序变量的映射的控制程序W后,通过 编译而生成SI^特定的代码并将其传输给相应的目标系统。
[0004] 为了改变程序变量到控制数据的映射必须在工程系统中相应地更改并重新编译 控制程序,W便于例如生成相应改变的、SPS特定的代码。为了例如将程序变量映射到其他 模块的输入/输出通道,必须通过工程-工具来调整控制项目并且重新载入到SPS上。运对于 特定的运转工作情况下可能是不灵活且麻烦的。

【发明内容】

[0005] 本发明的目的因此在于,提出一种能够对借助于控制装置、特别是SI^的过程控制 进行简化和/或更灵活地设计的方案。
[0006] 上述技术问题一方面通过权利要求1所述的特征而解决。
[0007] 因此设置一种用于通过控制装置来进行过程控制的方法,该控制装置与至少一个 过程装置连接,其中由在工作中的控制装置来运行至少一个第一数据处理模块和第二数据 处理模块,并且其中由控制装置的操作程序自动引起在第一数据处理模块和第二数据处理 模块的对应的数据对象之间的数据交换。此外,该方法还设置为,使第一数据处理模块与第 二数据处理模块的数据对象之间的映射在控制装置的运行过程中发生改变,W便于引起过 程控制装置的改变。换言之,在控制装置执行其控制任务并且由此对过程进行作用的期间, 数据对象之间的映射进行了改变,其中特别是并不为了更改控制装置上的数据对象之间的 映射而中断正在运行中的控制程序。数据对象之间的映射的变化就此能够包含生成、改变 或删除单个映射。
[000引优选地,第一数据处理模块是由控制装置运行的控制程序,其数据对象通过程序 变量而构成,在运行控制程序的期间分别为了运些程序变量而在控制装置的数据存储器中 预留存储区域。通常,控制装置构造为可编程控制器(SPS)并且使控制程序是通过使用在 IEC61131-3标准中定义的其中一种程序语言而生成的控制程序。第二数据处理模块能够有 利地作为控制装置的用于与过程装置通信的通信接口,其数据对象通过由操作程序管理的 过程数据对象来构成,其中为了过程数据对象在控制装置的工作期间分别预留了在控制装 置的数据存储器中的存储区域。W运种方式能够有利地实现控制程序的程序变量与过程数 据对象之间的灵活的映射,而无需为此中断运行的控制程序。
[0009] 然而数据处理模块也能够是任意一种其他的适合的类型的软件模块和/或硬件模 块,其在控制装置的工作中生成和/或使用数据,例如像是WC语言运样的标准语言而编程 的应用,数学模型、实时通信通道或非实时通信通道(例如用于0PC通信的通道)。
[0010] 数据处理模块是在控制装置的工作中存在的实体(Enti化0,该实体生成和/或使 用数据并且为此而包含了数据对象,运些数据对象至少部分地能够映射于其他的数据处理 模块的其他数据对象。在下文中,数据处理模块也设及到控制装置的主机(Domane)。通常, 在控制装置上将数据处理模块作为线程(Thread)而运行,其中线程管理由控制装置的也称 作为固件的操作程序来运行。
[0011] 第一数据处理模块的数据对象与第二数据处理模块的数据对象之间的映射的生 成、更改或删除优选地借助于由控制装置的操作软件提供的映射功能来促成。特别有利地, 数据处理模块的数据对象之间的映射在存储于控制装置内的至少一个映射文件 (Zuordnungsdat e i)中确定,该映射文件包含了相应映射的数据对象的列表。
[0012] 本发明的核屯、思想在于,借助于特定的、作为固件功能或固件服务而提供的映射 功能而实现了,对于根据现有技术在控制装置的工作中数据对象之间(例如控制程序的程 序变量与过程数据对象之间)的固定的映射进行灵活地调整,其中特别在存储于控制装置 中的至少一个映射文件中确定出数据对象的相应的当前的映射。特别有利地,在控制装置 上运行映射模块,该映射模块在下文中也称为映射管理器,该映射管理器管理了该映射文 件或运些映射文件并且在映射文件改变的情况下运行相应的固件功能,W便于引起映射的 改变,其中通过运行固件功能特别引起了在存储区域上的指针的变化。本发明由此设置为, 通过W相应的功能来扩展控制装置的固件而实现了在存储层上数据对象的灵活的分配。
[0013] 有利地,至少其中一个数据处理模块包含了关于能够映射的数据对象的信息和/ 或关于数据对象的映射的信息,其中在控制装置的运行期间与运些信息相关地产生至少一 个映射文件。运能够特别自动地通过映射模块来执行。
[0014] 特别有利地,为了改变数据对象的映射而W改变的映射文件来替换当前映射文 件。运带来的特别好处在于,能够W简单的方式借助于外部的操作设备来实现数据对象的 映射的改变。
[0015] 出于运一目的,能够从控制装置将当前的映射文件传输到单独的操作设备,在操 作设备上将接收到的映射文件修改,并且将修改后的映射文件从操作设备重新传输回控制 装置,并且作为对接收到修改的映射文件的反应来由控制装置在运行工作期间根据已修改 的映射文件对数据对象进行相应映射。
[0016] 此外,也能够通过由控制装置运行的数据处理模块来引起在控制装置的运行工作 中数据对象之间映射的更改,其中就此优选地通过数据处理模块来更改映射文件。
[0017] 如果在对数据对象的映射进行更改的过程中通过用已更改的映射文件来替代当 前的映射文件,那么有利地将当前的映射文件作为控制装置中的旧版本而存储,其中优选 地提供一种功能,W便于通过存取(zugreifen)当前映射文件的旧版本并将其作为新的更 改的映射文件而提供(即再次对当前的映射文件的旧版本进行激活)来撤销运些更改。出于 该目的,能够将当前映射文件的一个旧版本或多个旧版本储存在控制装置中。例如能够设 置最大数量的待存储的旧版本,其中在达到运个数量W后则分别覆盖最旧的旧版本。然而 也能够例如仅存储两个映射文件,其中分别有一个为激活的而另一个则为未激活的,其中 将被修改的映射文件作为未激活的映射文件存储在控制装置上并且通过一种服务来激活, 其中提供另一种服务,W便于通过再次激活当前未激活的映射文件来撤销运些修改,而无 需提供修改的映射文件。
[0018] 有利地,通过调用由操作程序提供的映射功能而由映射模块根据已经修改的映射 文件来执行数据对象的映射。
[0019] 用于过程控制的方法的上述实施方式能够有利地W任意方式而结合。
[0020] 上述技术问题另外通过权利要求11的特征而解决。
[0021] 因此设置一种控制装置,该控制装置构造用于执行上述的用于过程控制的方法。 控制装置出于该目的而能够与至少一个过程装置连接并且包括:至少一个微型处理器、当 中存有操作程序的第一存储器W及至少一个第二存储器,第二存储器具有存储于其中的第 一数据处理模块和第二数据处理模块,其中控制装置为此构造为,在工作中运行至少一个 第二数据处理模块和第二数据处理模块,并且其中操作程序就此设计为,自动引起第一数 据处理模块和第二数据处理模块的对应的数据对象之间的数据交换,并且其中将控制装置 构造为,在工作运行中改变第一数据处理模块与第二数据处理模块的数据对象之间的映 射,W便于引起过程控制的改变。
[0022] 此外,所有上文中相关于用于过程控制的方法而已描述的运种控制装置的实施方 式也同样在本发明的范围内。
[0023] 上文提及的技术问题另外还通过权利要求12和13的特征而解决,由此设置一种操 作程序W及一种具有在其中存储的运样的操作程序的数据载体,当在上述控制装置上运行 该操作程序时,其设计用于执行上述的用于过程控制的方法。
【附图说明】
[0024] 下文中示例性地参照优选的实施方式W及参照附图来更详细地描述本发明。在 此,在附图中相同的附图标记标识出相同的部件或类似的部件。
[0025] 图1示出了基于根据本发明的用于过程控制的方法的原理的示意图;
[0026] 图2示出了本发明一种优选的实施方式的示意图,其中借助于工程系统而在控制 程序的生成过程中确定数据对象,运些数据对象的映射能够在由控制装置运行控制程序的 期间动态地变化,其中控制程序在控制装置上运行;
[0027] 图3示出了本发明另一种优选的实施方式的示意图,其中在控制程序的运行期间, 借助于配置软件通过修改存储在控制装置上的映射文件来修改控制程序的数据对象的映 射;W及
[0028] 图4示出了本发明另一种优选的实施方式的示意图,其中在控制程序的运行期间 借助于在控制装置上运行的应用而通过更改存储在控制装置上的映射文件来更改控制程 序的数据对象的映射。
【具体实施方式】
[0029] 图1示出了本发明的基本原理,该原理在于,在运行工作期间借助于存储在控制装 置100中的映射文件300来改变控制装置100的不同的数据处理模块的数据对象之间的映 射。在图1中控制装置100将使用根据IEC 61131-3的程序语言而生成的控制程序210作为第 一数据处理模块A来运行。控制装置100包括了作为第二数据处理模块B的通信接口 220,该 通信接口借助于过程数据对象而提供了对过程数据的访问。通过映射文件300将控制程序 210的程序变量映射到通信接口 220的过程数据对象,其中通过修改映射文件300能够在运 行工作中更改数据对象的映射。控制装置100优选地作为可编程控制器而构造,在下文中将 其简称为控制器。
[0030] 映射文件300包括相应映射的数据对象的列表W及也能够包括多个当前并没有映 射于任何其他数据对象但是却是能够映射的数据对象。在所示出的实施例中,映射文件300 包括了 :未映射的程序变量化rA4和化rA5; W及未映射的过程数据对象PD4和PD5; W及程序 变量VarA巧日过程数据对象PD1之间的映射、程序变量化rA2和过程数据对象PD2之间的映射 及程序变量VarA3和过程数据对象PD3之间的映射。映射文件也能够包含关于运样的信息, 即,在数据对象之间的数据交换是W怎样的方向来进行的。运在图1中通过箭头标出。数据 对象能够在映射文件中通过标识码来关联或者通过为了各个数据对象预留的存储区域的 地址来关联。
[0031] 为了能够在运行时间中灵活地将控制程序210的程序变量映射给其他数据对象, 优选地在工程阶段期间为了灵活将变量映射到过程数据对象上而准备控制项目。换言之, 为了设有用于W后(针对于整个项目或设备自身)对映射进行改变的选项。
[0032] 或者能够已经在工程工具中实施映射,或者也能够W后在起动期间或在工作运行 期间才进行映射。替代控制程序210的变量也能够将结构的或数组的变量元素(Variable- Elemente)进行映射。也能够将整体的结构或数组映射到过程数据对象。在串行的接口模块 情况下,能够将12个字节的过程数据对象例如分配给12个字节大的变量数组。
[0033] 在起动阶段,外部的工具能够读取、改变并且再次在控制装置100上载入变量与过 程数据对象之间的一个或多个映射,而无需为此重新起动该控制装置。不需要就此而在工 程工具(例如陆oenix Con化ct公司的工程软件PCW0RX)上重新生成控制项目并且将该控制 项目发送至控制装置。在控制装置100的运行时间期间能够通过外部工具来进行运些更改。
[0034] 由此能够有利地在起动的期间更改映射并且重新建立映射,而无需为此改变用户 项目(Anwende巧rojekt),并且无需为此访问用户项目。控制装置100接受了运些更改,而并 不脱离运行状态。
[0035] 能够通过一种服务而在控制装置100上写入单个映射的一个或多个更改并在此激 活。由此,修改在控制装置100上的映射文件300。因此能够也从在图1中称作为数据处理模 块A的用户程序210来触发(anstossen)映射的改变。W运种方式能够有利地将所述的功能 集成到任意软件工具中。
[0036] 在控制装置100上不同域之间的数据对象的映射(例如过程数据映射到变量)能够 通过固件服务来建立、修改或删除。运个服务能够在控制装置100的运行时间期间使用。也 能够由控制装置100上的域来调用用于两个数据对象相互的映射的服务。如果应该例如添 加具有其他过程数据的新的输入模块或输出模块到总线结构,那么运域能够为总线结构登 记新的数据对象并且通过映射服务来将其映射给像是来自控制程序210的变量运样的其他 数据对象。
[0037] 映射服务的调用能够特别通过映射管理器来进行,其中该映射管理器是在控制装 置100上运行的软件模块,该软件模块从外部工具接收并解读W-个或多个映射文件的形 式的一个或多个映射列表。该解读引起了对多个映射服务的调用,W便于使一系列的数据 对象彼此映射。对映射文件的解读W及固件服务的运行能够同样地进行,而无需为此停止 在其工作/运转中的控制装置100或单个域210或220。映射管理器在映射发生改变的情况下 在系统上建立当前的映射列表并在系统上存储之前有效的映射列表作为备份。外部工具能 够上传 W-种文件形式的当前映射列表。外部的工具能够相应地修改该文件并且将其发送 回系统。根据使用者的需要控制装置能够通过外部工具来激活属于一个或多个不同的域 的、保存的映射列表。W运种方式,能够确保对于映射的撤销功能。
[0038] 替代性地,能够在控制装置上管理两个映射文件,即,一个激活的映射文件W及一 个未激活的映射文件。修改的映射文件首先能够作为未激活的列表而写入到控制装置上并 且随后通过服务而切换为激活。在故障情况下,使用者能够通过其他的服务来更换文件的 职能,即,将激活的转换为未激活的W及反之将未激活的转换为激活的。
[0039] 在图2中示出的实施例中使用者通过工程系统410来在用户项目400中生成基于 IEC 61131-3标准的应用程序210'(在图2中也将其称为数据处理模块A)并配置具有输入和 输出模块220'的网络,运些模块具有物理的输入/输出点,该输入/输出点在图2中作为数据 处理模块B而示出。使用者定义应用程序210'的全局变量,能够为了访问过程数据而使该全 局变量与物理的输入/输出点链接。用户程序210'能够通过运个链接来读取输入并写出输 出。为了运行时间中映射的变化而设置变量和过程数据对象得到了相应的属性分配。形象 地来说映射的改变引起了重新布线。数据处理模块B的过程数据对象通过能够调整的过程 数据编址规定(例如通道编址和站点编址(S化tionsa化essierung))来定义。能够由用户来 创建或配置更多的数据处理模块。在图2中相应地示例性地示出了 W附图标记230'标识的 另一个数据处理模块X,该数据处理模块例如包含了多个数据对象,运些数据对象通过使用 其他通信协议来实现了对数据的访问。
[0040] 使用者在工程工具410中将用户程序210'的全局变量与过程数据对象链接,其中 建立了能够更改的映射信息300',运些信息包含了全部的已映射的W及能够映射的过程数 据对象及程序变量,W及可能包含了其他数据处理模块(例如数据处理模块230')的其他数 据对象。在工程工具410中已经能够定义数据对象之间的全部的映射,然而却也能够对运些 映射仅部分地进行定义或首先完全不进行定义。随后能够编译项目400并将其发送至控制 装置,其中映射信息300'在控制装置中作为映射文件300来存储。控制装置100随后能够从 停止转换至运行的工作状态。
[0041] 如图3中示出的,使用者能够在设备或控制装置100运行时间中通过配置软件420 来读取来自控制装置100的映射文件300。映射文件300包含了全部的能够映射的全局变量 212,该全局变量可能具有其从变量212到过程数据对象222的映射信息。此外,映射文件300 包含了全部的在用户项目400中配置的过程数据对象222。在配置软件420中使用者能够改 变在变量212与过程数据对象222之间的映射,例如使用者能够将变量映射到其他的过程数 据对象或删除映射。配置软件420在通过使用者而进行更改的情况下优选地进行似真性检 查,例如就数据方向、数据宽度或多重映射方面。通过使用者将更改的映射文件从配置软件 420重新载入到控制装置100上。
[0042] 根据需求通过调用固件服务来在用户项目的运行时间中并且不中断用户项目地 接受在控制装置100上的映射。通过撤销/重做功能用户能够借助于配置软件420重新激活 控制装置100上的之前的映射文件。配置软件420能够或者作为能自主运行的软件来提供或 者作为软件组件而嵌入在其他软件工具中,例如前述的工程系统410或者可视化软件。
[0043] 也能够仅在配置软件420中进行映射。在运种情况下,用户在工程工具410中并不 定义任何全局变量212与过程数据对象222之间的映射。对项目400进行编译并且将其发送 至控制装置100。控制装置100将工作状态从停止转换为运行。在设备或控制装置100的运行 中用户因此能够利用配置软件420来读取来自控制装置100的映射文件300。映射文件300包 含了全部的能够映射的全局变量212。此外,映射文件包含了全部的在用户项目中配置的过 程数据对象222。
[0044] 在配置软件420中,用户能够进行变量212与过程数据对象222之间的映射。配置软 件420如上述地对运些映射进行似真性检查。映射文件300通过用户从配置软件420重新加 载回控制装置100上。能够再次根据需求在控制装置上(优选通过调用固件服务)在运行时 间中且无中断地进行映射。
[0045] 在图4中示出了另一种实施例,其中通过控制装置100的固件服务来进行数据对象 的映射更改。W运种方式实现了,也能够通过在控制装置100上运行的程序240来进行数据 对象的映射的改变。程序240运行一种服务,该服务用于读取在控制装置上100的当前的映 射W及可能的映射。该程序240通过其他服务来修改已经存在的映射或新建立映射。在控制 装置100上的映射文件300通过该服务来更改或更新。在用户项目运行时间中且不中断用户 项目的、在控制装置100上对更改的映射W及新的映射的激活能够通过程序240经其他服务 而完成。
[0046] 程序240也能够通过来自控制程序210的多种功能或者多种功能模块而调用。由此 能够从控制程序210借助于单独的程序240而对多个映射产生影响。运在图4中通过虚线的 箭头510示出。
[0047] 替代性地,也能够将程序240的功能集成到控制程序210中。换言之,数据对象的映 射的更改也能够通过在控制装置100上运行的控制程序210而直接地进行。运在图4中通过 虚线的箭头520而示出。出于此目的,控制程序210能够运行用于读取在控制装置100上的当 前映射的W及可能的映射的服务并且通过另一种服务来更改当前的映射或者重新建立映 射,由此更改或更新在控制装置100上的映射文件300。在控制装置100上的已更改的映射W 及新的映射的激活能够在控制程序运行时间中且不中断控制程序210地通过控制程序210 自身而经其他服务完成。
【主权项】
1. 一种用于通过控制装置(100)来进行过程控制的方法,所述控制装置与至少一个过 程装置连接,其中在工作中由所述控制装置(100)来运行至少一个第一数据处理模块和第 二数据处理模块(210,220),并且其中由所述控制装置(100)的操作程序自动引起在所述第 一数据处理模块和所述第二数据处理模块(210,220)的对应的数据对象之间的数据交换。 其特征在于, 使所述第一数据处理模块和所述第二数据处理模块(210,220)的数据对象之间的映射 在所述控制装置(100)的运行过程中发生改变,以便于引起对于过程控制的改变。2. 根据权利要求1所述的方法,其中所述第一数据处理模块(210)是由所述控制装置运 行的控制程序,所述控制程序的数据对象由程序变量而构成,在运行所述控制程序(210)的 期间分别为所述程序变量而预留了在所述控制装置(100)的数据据存储器中的存储区域。3. 根据权利要求1或2所述的方法,其中所述第二数据处理模块(220)是所述控制装置 (100)的用于与所述过程装置通信的通信接口,其数据对象通过由所述操作程序管理的过 程数据对象而形成,其中在所述控制装置(100)工作的期间分别为所述过程数据对象而预 留了在所述控制装置(100)的数据据存储器中的存储区域。4. 根据上述权利要求中的任意一项所述的方法,其中借助于由所述控制装置(100)的 操作程序所提供的映射功能而引起述第一数据处理模块的数据对象与所述第二数据处理 模块(210,220)的数据对象之间的映射的建立、更改或删除。5. 根据上述权利要求中的任意一项所述的方法,其中,在至少一种储存在所述控制装 置(100)中的映射文件(300)中确定所述数据处理模块(210,220)的数据对象之间的映射, 所述映射文件包括各个映射的数据对象的列表。6. 根据权利要求5所述的方法,其中所述数据处理模块(210,220)当中的至少一个包含 了关于能够映射的数据对象的信息和/或关于数据对象的映射的信息,并且其中取决于所 述信息在所述控制装置(100)运行期间生成其中至少一个所述映射文件(300)。7. 根据权利要求5或6所述的方法,其中在所述数据对象的映射的改变的情况下通过更 改的映射文件来替代现有的所述映射文件(300)并且将现有的所述映射文件作为旧版本而 存储在所述控制装置(100)中。8. 根据权利要求5至7中任意一项所述的方法,其中通过由映射模块来调用由所述操作 程序提供的映射功能而根据更改的映射文件执行所述数据对象的映射。9. 根据权利要求5至8中任意一项所述的方法,其中 -由所述控制装置(100)将现有的所述映射文件(300)传送给单独的操作设备(420), -在所述操作设备(420)上对接收的所述映射文件进行修改, -将修改的所述映射文件从所述操作设备(420)传送回所述控制装置(100),并且 -作为对所接收到的已修改的所述映射文件的反应,在工作运行期间由控制装置(100) 根据已修改的所述映射文件对所述数据对象进行映射。10. 根据上述权利要求中的任意一项所述的方法,其中在所述控制装置(100)的工作运 行期间通过数据处理模块(210,220,240)引起所述数据对象之间的映射的改变。11. 一种控制装置,所述控制装置构造用于执行一种根据权利要求1至10中任意一项所 述的方法,所述控制装置为了过程控制而能够与至少一个过程装置连接,所述控制装置包 括: -至少一个微型处理器, -第一存储器,所述第一存储器具有存储于所述第一存储器中的操作程序,以及 -至少一个第二存储器,所述第二存储器具有存储于其中的第一数据处理模块和第二 数据处理模块,其中 所述控制装置设计用于,在工作中运行至少一个所述第一数据处理模块和第二数据处 理模块,并且其中所述操作程序构造用于,自动地引起所述第一数据处理模块和所述第二 数据处理模块的对应的数据对象之间的数据交换, 其特征在于, 所述控制装置构造用于,在运行工作中对于所述第一数据处理模块和所述第二数据处 理模块的数据对象之间的映射进行更改,以便于引起对过程控制的更改。12. -种操作程序,所述操作程序构造用于,当在根据权利要求11所述的控制装置上运 行所操作程序时执行根据权利要求1至10中任意一项所述的方法。13. -种数据载体,所述数据载体具有在所述数据载体上存储的、根据权利要求12所述 的操作程序。
【文档编号】G05B19/418GK106066638SQ201610252512
【公开日】2016年11月2日
【申请日】2016年4月21日 公开号201610252512.6, CN 106066638 A, CN 106066638A, CN 201610252512, CN-A-106066638, CN106066638 A, CN106066638A, CN201610252512, CN201610252512.6
【发明人】弗里德里希·韦格纳, 弗里德里希·哈克尔, 卡斯滕·科沃杰伊, 罗伯特·维尔梅斯
【申请人】菲尼克斯电气公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1