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

一种基于完全对象化设备状态管理方法、系统和存储介质与流程

2021-11-24 22:07:00 来源:中国专利 TAG:
1.本发明涉及工业自动化领域,尤其涉及一种基于完全对象化设备状态管理方法、系统和存储介质。
背景技术
::2.随着计算机技术的发展,越来越多的业务系统已经运用到我们工业生产过程中,我们可以通过业务系统处理各种业务。工业设备在生产过程中,存在着各种状态,例如设备的清洁状态、校验状态或设备的使用状态等等,设备的各种状态之间又会因为各种原因导致变迁。在工业生产实际过程中,会使用到各种工业设备,各工业设备会根据不同操作或不同当前状态等各种原因进行设备不同状态的切换,然而由于设备状态切换所涉及的因素较多,经常出现切换状态错误从而导致设备生产可靠性低。技术实现要素:3.本发明针对现有技术中的不足,提供了一种基于完全对象化设备状态管理方法,包括如下步骤:4.s1,获取将设备从当前所处的第一工作状态切换至第二工作状态的转换指令,所述转换指令中包括要切换的设备身份信息、对应第一工作状态的第一切换起始值和对应第二工作状态的第一切换结束值;5.s2,获取转换指令发送账户所对应的权限编码列表,在所述权限编码列表中查找是否存在第一工作状态切换权限编码,如存在则进入下一步骤;6.s3,获取转换指令的第一动作编码,遍历存储有预设切换步骤信息的json数组,如果存在起始值为第一切换起始值、结束值为第一切换结束值且切换事件为第一动作编码的切换流程数据,则进入下一步骤;7.s4,获取设备当前的设备状态实时值,判断所述设备状态实时值是否处于第一工作状态的切换状态值预设区间,如果处于切换状态值预设区间内则进入下一步骤;8.s5,根据第一工作状态的状态参数id从数据库中获取第一工作状态已切换次数和切换总次数,如果所述第一工作状态已切换次数小于切换总次数则将设备切换至第二工作状态,否则放弃切换。9.优选的,所述步骤s2具体包括:10.s21,获取转换指令发送账户所对应的权限编码列表,在所述权限编码列表中查找是否存在第一工作状态切换权限编码,如存在第一工作状态切换权限编码则进入下一步骤;11.s22,若不存在第一工作状态切换权限编码则获取账户属性信息,如果所述账户为第二级账户则退出切换,如果所述账户为第一级账户则进入下一步。12.优选的,所述步骤s3具体包括:13.s31,获取转换指令的第一动作编码,遍历存储有预设切换步骤信息的json数组,如果存在起始值为第一切换起始值、结束值为第一切换结束值且切换事件为第一动作编码的切换流程数据,则进入下一步骤;14.s32,如不存在起始值为第一切换起始值、结束值为第一切换结束值且切换事件为第一动作编码的切换流程数据,则判断所述账户是否为第一级账户,如果为第一级账户则将第一工作状态作为起始值、将第二工作状态作为结束值并将第一动作编码作为切换事件生成对应转换成新切换流程数据添加至所述json数组,并进入下一步骤;15.s33,如不存在起始值为第一切换起始值、结束值为第一切换结束值且切换事件为第一动作编码的切换流程数据,且所述账户为第二级账户,则退出切换。16.优选的,所述步骤s4具体包括:17.s41,获取设备状态实时值,判断所述设备状态实时值是否处于第一工作状态对应的切换状态值预设区间;18.s42,如果在第一工作状态对应的切换状态值预设区间内则进入下一步骤,否则每隔特定时间间隔获取当前的设备状态实时值,判断是否处于第一工作状态对应的切换状态值预设区间,处于则进入下一步,否则到达预设时限后退出切换。19.本发明还公开了一种基于完全对象化设备状态管理系统包括:指令获取模块,用于获取将设备从当前所处的第一工作状态切换至第二工作状态的转换指令,所述转换指令中包括要切换的设备身份信息、对应第一工作状态的第一切换起始值和对应第二工作状态的第一切换结束值;权限校验模块,用于获取转换指令发送账户所对应的权限编码列表,判断所述权限编码列表中查找是否存在第一工作状态切换权限编码;切换流程校验模块,用于获取转换指令的第一动作编码,遍历存储有预设切换步骤信息的json数组,判断是否存在起始值为第一切换起始值、结束值为第一切换结束值且切换事件为第一动作编码的切换流程数据;设备状态校验模块,用于获取设备当前的设备状态实时值,判断所述设备状态实时值是否处于第一工作状态的切换状态值预设区间;切换次数校验模块,用于根据第一工作状态的状态参数id从数据库中获取第一工作状态已切换次数和切换总次数,在所述第一工作状态已切换次数小于切换总次数则将设备切换至第二工作状态。20.优选的,所述权限校验模块具体包括:权限编码查找模块,用于获取转换指令发送账户所对应的权限编码列表,在所述权限编码列表中查找是否存在第一工作状态切换权限编码;账户属性获取模块,用于在不存在第一工作状态切换权限编码时获取账户属性信息,在所述账户为第二级账户时退出切换。21.优选的,所述切换流程校验模块具体包括:切换流程数据查找模块,用于获取转换指令的第一动作编码,遍历存储有预设切换步骤信息的json数组,判断是否存在起始值为第一切换起始值、结束值为第一切换结束值且切换事件为第一动作编码的切换流程数据;切换流程数据添加模块,用于在不存在起始值为第一切换起始值、结束值为第一切换结束值且切换事件为第一动作编码的切换流程数据时,判断所述账户是否为第一级账户,如为第一级账户则将第一工作状态作为起始值、将第二工作状态作为结束值并将第一动作编码作为切换事件生成对应转换成新切换流程数据添加至所述json数组;退出切换模块,用于在不存在起始值为第一切换起始值、结束值为第一切换结束值且切换事件为第一动作编码的切换流程数据,且所述账户为第二级账户时退出切换。22.优选的,所述设备状态校验模块具体包括:状态实时值获取模块,用于获取设备状态实时值,判断所述设备状态实时值是否处于第一工作状态对应的切换状态值预设区间;间隔采集模块,用于不在第一工作状态对应的切换状态值预设区间内时每隔特定时间间隔获取当前的设备状态实时值,判断是否处于第一工作状态对应的切换状态值预设区间,不处于则在到达预设时限后退出切换。23.本发明还公开了一种基于完全对象化设备状态管理装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述的基于完全对象化设备状态管理方法所述的步骤。24.本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述基于完全对象化设备状态管理方法的步骤。25.本发明公开的基于完全对象化设备状态管理方法和系统,通过获取转换指令发送账户所对应的权限编码列表,通过判断转换指令发送账户权限、切换流程数据是否符合预设步骤、设备当前状态值是否相等和使用次数是否剩余等条件,来确定是否需要切换设备的工作状态,实现根据不同操作或不同当前状态等各种原因进行设备不同状态的切换,避免出现切换状态错误从而导致设备生产可靠性低的问题。26.本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。附图说明27.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:28.图1为本实施例公开的基于完全对象化设备状态管理方法方法的流程示意图。29.图2为本实施例公开的步骤s2的具体流程示意图。30.图3为本实施例公开的步骤s3的具体流程示意图。31.图4为本实施例公开的步骤s4的具体流程示意图。具体实施方式32.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。33.在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。34.在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。35.在本发明中,除非另有明确的规定和限定,第一特征在第二特征之“上”或之“下”可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。而且,第一特征在第二特征“之上”、“上方”和“上面”包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”包括第一特征在第二特征正下方和斜下方,或仅仅表示第一特征水平高度小于第二特征。36.一种基于完全对象化设备状态管理方法,该方法可用于对各种工业设备的整个状态生命周期进行定义和管理,具体可包括设备的状态定义,设备状态变迁定义,设备状态转换的管理,设备各状态的使用次数和使用时间的自动化管理,设备临近警示状态的提醒。37.在工业生产过程中,会使用到各种设备,如何在相关系统中对设备进行建模,一直以来都是各种生产系统的重点。常规的方法一般就是先增加一个设备,为设备定义各种参数,对于不同型号的设备,相似参数需要反复配置,增加了工作的复杂度,也使得数据可维护性变差。对于设备参数和状态的统一修改也将变得复杂多变。对于同种型号的设备,同一参数的属性需要反复配置,增加了维护的难度。在本发明中我们抽象出设备的各种共有属性,譬如生产日期、工作中心、编码、名称等作为设备的内置参数。并且提供用户添加参数的功能,使参数复用变得更加灵活。提供设备对象的创建,每个设备对象,都可以选择不同的参数进行组合,使对象定义变得更加简单。在本发明中为对象配置权限和变量类型,这样设备在运行过程中具备差异化,并且根据需求动态保护设备数据。38.如附图1所示,在本实施例中,基于完全对象化设备状态管理方法可具体包括如下步骤:39.步骤s1,获取将设备从当前所处的第一工作状态切换至第二工作状态的转换指令,所述转换指令中包括要切换的设备身份信息、第一工作状态的状态参数id。具体的,用户a将设备的id、状态参数id,以及该状态参数所处的当前状态即第一工作状态s1和想转换后的状态即第二工作状态s2发送给逻辑服务器。40.在对设备状态转换前,系统先对设备状态参数进行设置,所述设备状态参数包括基础信息、状态信息,状态转换信息。基础信息可包括状态参数的名称和描述。状态信息可包括状态名、指定权限改值、计数器支持信息、计时器支持信息,其中指定权限改值被设置为用于控制用户是否有权限来改变这个工作状态。计数器支持信息被配置为用于控制该状态是否进行使用次数控制,当使用次数超限时状态将发生变化。计时器支持信息被配置为用于控制该状态是否有使用时间限制,当设备状态使用时间超限时状态将发生变化。状态转换信息包括状态起点、状态终点、转换事件,其中转换事件可以包括操作步骤、计数器超限、计时器超时等,具体的,操作步骤表示只能通过用户的手动操作来进行状态的切换;计时器超限表示当设备的状态使用时间超限时,系统将自动进行状态的切换;计数器超限表示当设备的状态的使用次数超限时,系统将自动进行状态的切换。41.在完成对设备状态参数的设置后,配置实际数据。具体的,对指定权限改值可配置一个具体权限,用户通常只有具有这个权限的时候才能对这个状态值进行修改。对列表同步改值可配置一个具体的列表参数,当设备状态发生变化时,列表参数所关联的所有的设备状态同时发生改变。计数器支持信息可配置该状态具体的使用次数,当设备状态使用次数超限时,该状态将不允许使用,如果配置了“计数器超限”的转换事件,系统将根据此事件,自动发生状态切换。计数器报警临界值用于配置为当使用次数超过此临界值,系统将进行警戒提示。计时器支持信息可配置该状态的使用时间,当使用时间超过配置时间时,该状态将不允许使用,如果配置了“计时器超时”的转换事件,系统将根据此事件,自动发生状态切换。计时器报警临界值用于配置为当使用时间超过临界值时系统进行警戒提示。42.在完成设置状态参数设置后,即可实例化设备状态,根据状态对象配置,每个设置添加此状态配置,实例化之后,相关属性带入,其中属性包括状态名,状态的唯一名称;当前值,设备当前的当前状态,用户可以手动改变状态的初值;剩余次数,该状态剩余的使用次数,未验证之前剩余次数显示为空;到期时间,该状态的到期时间,未验证之前剩余次数显示为空。43.在本实施例中,所有状态参数数据的存储采用关系库存储,考虑状态复杂性和可扩展性,设备状态的存储分为组态数据表table_obj和实时参数表table_param,组态数据表和实时参数表通过设备唯一id进行关联,既方便了实时参数的快速访问和修改,也方便了组态数据快速存储。44.在组态数据表中,考虑状态的复杂性和数据量的无限扩展以及数据相似性,在存储时先通过压缩算法将状态数据压缩到原来1~10%,再通过base64算法将压缩后的数据转换成字符串存储到关系库中。在读取时,先用base64进行解码,之后通过zip算法进行反向解压,解压后数据再送给相应前端进行状态展示。在解压时,因为zip算法无法确认解压后的数据大小,目前通过如下解压方法来实现解压组态数据的大小可控:45.获取组态数据压缩包解压前数据长度b,预设一个第一放大倍数a。具体的,定义一个倍数a,初始大小为100;定义一个固定长度为b,大小为解压前数据长度;一般重复性少的数据,压缩率一般不会超过2%,因此100倍会满足大多数据解压要求,对于重复性数据性数据比较多的解压,采用循环判断,逐级放大的方式,进行逐步解压。46.进行循环运算,分配解压后的目标内存,所述目标内存大小为a*b,并进行一次解压,如果解压成功则跳出循环,否则进入下一步。47.将第一放大倍数a调整成第二放大倍数c,c=a*n,n为整数,再次分配解压后的目标内存,目标内存大小为c*b,并再次进行解压,如果解压成功则跳出循环;如解压失败则重复该步骤直至解压成功后跳出循环。在本实施例中具体的,可将a放大10倍,即c=a*10。再次分配解压后的目的内存,大小为c*b,进行一次解压,如果解压成功则跳出循环;解压失败则再次进行该步骤直到解压成功后跳出循环。通过上述方法后,不管数据的压缩倍率是多少总是能够被数据成功解压出来。48.在完成态参数数据的存储配置后,进行设备验证。设备验证完成之后,设备所有的状态基础配置都无法修改。设备验证后,系统会自动将数据存储到redis中。具体的,设备验证采用redis数据存储验证的状态,为了方便数据状态的快速比对和状态的前后校验,采用哈希表的方式存储该设备状态参数信息,其中该状态参数主键用“[equip]:设备id:redis”的方式表示;状态参数验证后的各种数据采用json化对象key‑value的方式存储,数据的key值类型分为以下几种:[0049]①value:表示此状态所处实时值,更改状态时,逻辑服务器先需要根据此状态来确认状态变迁是否可以继续进行。[0050]②const:表示此状态类型,1‑表示为常量0‑表示变量,更改状态时,逻辑服务器先要读取状态类型,只有为变量时,状态变迁才可以继续执行。[0051]③状态参数:其中key值的组织方式为“状态值” “_” “参数类型”。“参数类型”具体包括如下内容:“count”表示可使用的总次数,为配置的“计数器支持”的数量;“count_alarm”表示使用次数报警临界值,为配置的“计数器报警临界值”的数量,当使用次数超过此数量时,系统会产生次数临界报警;“second”表示可用时间总数,精确到秒,为配置“计时器支持”的数量转换成秒;“time”表示可用到期时间,用时间戳表示,为配置的“计时器支持”时间加上验证时刻的时间值,最后得到的时间戳;“time_alarm”表示报警时间临界值,用时间戳表示,为配置的“计时器报警临界值”时间加上验证时刻的时间值,最后得到的时间戳,当系统时间大于此时间,且设备此状态还在使用,系统将会产生时间临界报警;“count_used”表示状态的使用次数,如果使用次数大于“可使用总数”,系统将开始状态切换;当使用次数大于“使用次数报警临界值”,系统将开始产生次数临界报警;通过这种方式的切换,结合①中的实时值,逻辑服务器可自动对当前状态进行定位,以便进行下一步的状态切换或者状态报警。[0052]步骤s2,获取转换指令发送账户所对应的权限编码列表,在所述权限编码列表中查找是否存在第一工作状态切换权限编码,如存在则进入下一步骤。如图2所示,步骤s2具体包括如下内容。[0053]步骤s21,获取转换指令发送账户所对应的权限编码列表,在所述权限编码列表中查找是否存在第一工作状态切换权限编码,如存在第一工作状态切换权限编码则进入下一步骤。在本实施例中,逻辑服务器先获取用户a所拥有的权限编码列表,再将所获取到的权限列表同该状态参数转换所需要的权限编码c进行比较,如果用户的权限编码列表中包括权限c,则认为该用户可以进行此状态转换,转到下一步,否则状态转换失败,退出转换流程。[0054]步骤s22,若不存在第一工作状态切换权限编码则获取账户属性信息,如果所述账户为第二级账户则退出切换,如果所述账户为第一级账户则进入下一步。在本实施例中,可将账户进行分级,其中第一级账户为管理账户,第二级账户为普通账户。第二级账户只有具有相应的状态切换权限才能进行对应的工作状态切换,而第一级账户无需具体的状态切换权限即可进行各工作状态切换,从而方便系统管控。[0055]步骤s3,获取转换指令的第一动作编码,遍历存储有预设切换步骤信息的json数组,如果存在起始值为第一切换状态、结束值为第二切换状态且切换事件为第一动作编码的切换流程数据,则进入下一步骤。在本实施例中,逻辑服务器根据获取设备id,以及状态参数id,读取redis中存储的状态参数的具体数据g1以及配置的转换数据g2;并将g1和g2转换成json对象临时放在内存中;其中g2为json对象数组,其中“event”中的1可表示操作步骤,2可表示计数器超限,3可表示计时器超时。[0056]"param_transfer":[[0057]{[0058]"begin":"s1",[0059]"end":"s2",[0060]"event":1[0061]},[0062]{[0063]"begin":"s1",[0064]"end":"s3",[0065]"event":2[0066]},[0067]{[0068]"begin":"s2",[0069]"end":"s3",[0070]"event":3[0071]}[0072]遍历json数组,如果能找beign值为s1、event为1,且end值为s2的数据,则跳出循环,认为该状态参数可进行状态转换,继续下一步判断;遍历完成之后,还是未找到相应数据,则认为状态转换失败,退出转换流程。[0073]如附图3所示,步骤s3具体包括:[0074]步骤s31,获取转换指令的第一动作编码,遍历存储有预设切换步骤信息的json数组,如果存在起始值为第一切换状态、结束值为第二切换状态且切换事件为第一动作编码的切换流程数据,则进入下一步骤s4。[0075]步骤s32,如不存在起始值为第一切换状态、结束值为第二切换状态且切换事件为第一动作编码的切换流程数据,则判断所述账户等级,如果是第二级账户则退出切换;[0076]步骤s33,如果为第一级账户,则新生成以第一切换状态作为起始值、以第二切换状态作为结束值和将第一动作编码作为切换事件的切换流程数据,并添加至所述json数组,然后进入下一步骤s4。[0077]具体的,当发出切换指令的账户为第一级账户时,虽然其不符合预设的可进行切换的切换步骤信息,但由于其是具有高权限的管理账户,可跳过该切换步骤信息校正环节进行切换,同时对当前的切换步骤状态也进行保存并添加至存储有预设切换步骤信息的json数组,从而使得后续具有普通权限等级的账户也能对具有该切换步骤信息的切换请求校验通过,从而无需单独另行再操作补充对应的json数组。[0078]步骤s4,获取设备当前的设备状态实时值,判断所述设备状态实时值是否处于第一工作状态的切换状态值预设区间,如果处于切换状态值预设区间内则进入下一步骤。逻辑服务器可从g1中获取value的值,如果和s1相等,则认为状态可以发生转换,继续下一步判断,否则认为状态转换失败,退出转换流程。[0079]如附图4所示,步骤s4具体包括:[0080]步骤s41,获取设备状态实时值,判断所述设备状态实时值是否处于第一工作状态对应的切换状态值预设区间。[0081]步骤s42,如果在第一工作状态对应的切换状态值预设区间内则进入下一步骤,否则每隔特定时间间隔获取当前的设备状态实时值,判断是否处于第一工作状态对应的切换状态值预设区间,处于则进入下一步,否则到达预设时限后退出切换。[0082]在一具体实施例中,还包括如下步骤:[0083]步骤s421,如果在第一工作状态对应的切换状态值预设区间内则进入下一步骤,否则判断所述账户等级,如果是第二级账户则每隔特定时间间隔获取当前的设备状态实时值,判断是否处于第一工作状态对应的切换状态值预设区间,处于则进入步骤s5,否则到达预设时限后退出切换;[0084]步骤s422,如果为第一级账户,则根据当前设备状态实时值对切换状态值预设区间进行调整,将所述切换状态值预设区间一端点修改为当前设备状态实时值并更新作为新切换状态值预设区间,然后进入步骤s5。[0085]具体的,当发出切换指令的账户为第一级账户时,虽然其不符合预设的切换状态值,但由于其是具有高权限的管理账户,可跳过该切换状态值校正环节进行切换,同时对当前的切换状态值预设空间也进行更新,将切换状态值预设区间扩展至当前设备状态实时值,从而使得后续具有普通权限等级的账户也能对具有该设备状态实时值的切换请求校验通过,从而无需单独另行再操作修改设备该切换状态值预设区间。[0086]步骤s5,根据第一工作状态的状态参数id从数据库中获取第一工作状态已切换次数和切换总次数,如果所述第一工作状态已切换次数小于切换总次数则将设备切换至第二工作状态,否则放弃切换。在一实施例中,逻辑服务器根据“状态值” “_” “参数类型”拼接成k1值“s1_count_used”和k2值“s1_count”,再从g1获取k1和k2对应的值,其中k1对应值表示s1状态已使用次数,k2对应的值表示s1状态可使用的总次数;如果k2对应的值大于k1对应的总次数,则认为状态可以发生转换,继续下一步判断,否则认为状态转换失败,退出转换流程。转换判断完成,用户a可进行此次状态转换,并且将g1中“s1_count_used”的值 1,将“value”的值更新为“s2”,并将g1更新到redis中。[0087]在本实施例中,步骤s5可具体包括如下步骤。[0088]步骤s51,获取计数器超限组态中的切换总次数和当前所处第一工作状态的已切换次数,如果切换总次数不大于已切换次数,则获取计时器超时组态中的第一工作状态对应的使用到期时间和系统当前时间戳。[0089]步骤s52,如果使用到期时间大于系统当前时间戳,则切换至第二工作状态。[0090]步骤s53,如果使用到期时间等于或小于系统当前时间戳,则获取计时器超时组态中的第三切换起始值和第三切换结束值,判断第三切换起始值与第一切换起始值或第一切换结束值是否相同,若不同则将设备切换至第二工作状态,否则根据计时器超时组态中的超限切换信息和计数器超限组态中的计数超限切换信息来确定设备要切换至的工作状态。[0091]所述步骤s53具体包括:[0092]步骤s531,如果第三切换起始值与第一切换结束值相同,则将设备切换至第三切换结束值对应的第三工作状态。即如果第三切换起始值为s2,第三切换结束值为s3。而第一切换起始值为s1,第一切换结束值为s2。则直接将设备切换至第三切换结束值对应的第三工作状态。[0093]步骤s532,如果第一切换起始值与第三切换起始值相同,则根据预设切换结束值排序进行选择,将设备切换至排序在先的切换结束值所对应的工作状态。具体的,可根据各工作状态的优先级顺序进行标识排序,例如s1的优先级要高于s2的优先级,即序号越小优先级越高,当然也可以序号越大优先级越高,或者按其它方式进行依次排列。在本实施例中,如果第一切换起始值为s1,第一切换结束值为s3。而第三切换起始值为s1,第三切换结束值为s2。则第三切换结束值的s2的优先级要高于第一切换结束值的s3,则直接将设备切换至第三切换结束值的s2状态。[0094]通过对计时器超时组态和计数器超限组态中的切换起始值和切换结束值的比较,当具有冲突时可通过判断切换结束值的优先级顺序等排序顺序来确定最终的切换状态,可解决计时器超时和计数器超限同时发生时的状态切换冲突,从而避免切换状态不同而导致的系统切换矛盾,维持系统状态切换的有效性。[0095]本实施例公开的基于完全对象化设备状态管理方法,通过获取转换指令发送账户所对应的权限编码列表,通过判断转换指令发送账户权限、切换流程数据是否符合预设步骤、设备当前状态值是否相等和使用次数是否剩余等条件,来确定是否需要切换设备的工作状态,实现根据不同操作或不同当前状态等各种原因进行设备不同状态的切换,避免出现切换状态错误从而导致设备生产可靠性低的问题。[0096]本实施例还公开了一种基于完全对象化设备状态管理系统,包括:指令获取模块,用于获取将设备从当前所处的第一工作状态切换至第二工作状态的转换指令,所述转换指令中包括要切换的设备身份信息、对应第一工作状态的第一切换起始值和对应第二工作状态的第一切换结束值。权限校验模块,用于获取转换指令发送账户所对应的权限编码列表,判断所述权限编码列表中查找是否存在第一工作状态切换权限编码。切换流程校验模块,用于获取转换指令的第一动作编码,遍历存储有预设切换步骤信息的json数组,判断是否存在起始值为第一切换起始值、结束值为第一切换结束值且切换事件为第一动作编码的切换流程数据。设备状态校验模块,用于获取设备当前的设备状态实时值,判断所述设备状态实时值是否处于第一工作状态的切换状态值预设区间。切换次数校验模块,用于根据第一工作状态的状态参数id从数据库中获取第一工作状态已切换次数和切换总次数,在所述第一工作状态已切换次数小于切换总次数则将设备切换至第二工作状态。[0097]在本实施例中,所述权限校验模块具体包括:权限编码查找模块,用于获取转换指令发送账户所对应的权限编码列表,在所述权限编码列表中查找是否存在第一工作状态切换权限编码。账户属性获取模块,用于在不存在第一工作状态切换权限编码时获取账户属性信息,在所述账户为第二级账户时退出切换。[0098]在本实施例中,所述切换流程校验模块具体包括:切换流程数据查找模块,用于获取转换指令的第一动作编码,遍历存储有预设切换步骤信息的json数组,判断是否存在起始值为第一切换起始值、结束值为第一切换结束值且切换事件为第一动作编码的切换流程数据。切换流程数据添加模块,用于在不存在起始值为第一切换起始值、结束值为第一切换结束值且切换事件为第一动作编码的切换流程数据时,判断所述账户是否为第一级账户,如为第一级账户则将第一工作状态作为起始值、将第二工作状态作为结束值并将第一动作编码作为切换事件生成对应转换成新切换流程数据添加至所述json数组。退出切换模块,用于在不存在起始值为第一切换起始值、结束值为第一切换结束值且切换事件为第一动作编码的切换流程数据,且所述账户为第二级账户时退出切换。[0099]在本实施例中,所述设备状态校验模块具体包括:状态实时值获取模块,用于获取设备状态实时值,判断所述设备状态实时值是否处于第一工作状态对应的切换状态值预设区间。间隔采集模块,用于不在第一工作状态对应的切换状态值预设区间内时每隔特定时间间隔获取当前的设备状态实时值,判断是否处于第一工作状态对应的切换状态值预设区间,不处于则在到达预设时限后退出切换。[0100]上述基于完全对象化设备状态管理系统的具体功能与前面实施例所公开的基于完全对象化设备状态管理方法一一对应,故在此不再详细展开描述,具体可参考前面公开的基于完全对象化设备状态管理方法各实施例。需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。[0101]在另一些实施例中,还提供了一种基于完全对象化设备状态管理装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述各实施例中描述的基于完全对象化设备状态管理方法的各个步骤。[0102]其中基于完全对象化设备状态管理装置可包括但不仅限于,处理器、存储器。本领域技术人员可以理解,所述示意图仅仅是基于完全对象化设备状态管理装置的示例,并不构成对基于完全对象化设备状态管理装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述基于完全对象化设备状态管理装置还可以包括输入输出设备、网络接入设备、总线等。[0103]所称处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field‑programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述基于完全对象化设备状态管理的装置设备的控制中心,利用各种接口和线路连接整个基于完全对象化设备状态管理的装置设备的各个部分。[0104]所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述基于完全对象化设备状态管理的装置设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。[0105]所述基于完全对象化设备状态管理装置如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个基于完全对象化设备状态管理方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read‑onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。[0106]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。[0107]总之,以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所作的均等变化与修饰,皆应属本发明专利的涵盖范围。当前第1页12当前第1页12
再多了解一些

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

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

相关文献