首页 / 专利分类库 / 发电、变电或配电 / 电动机、发电机或机电变换器 / 多功能护理平台的控制方法及多功能护理平台

多功能护理平台的控制方法及多功能护理平台

申请号 CN202311799964.2 申请日 2023-12-25 公开(公告)号 CN117955369A 公开(公告)日 2024-04-30
申请人 季华实验室; 发明人 张冰; 王心醉; 曹福成; 梁岳青; 张宗伟; 王天铄; 李鹏飞; 左晶晶; 隋东宝; 李希华; 蔡后勇;
摘要 本 发明 涉及医疗护理技术领域,公开了一种多功能护理平台的控制方法及多功能护理平台,该方法包括:在通信线程接收到待执行指令时,将待执行指令存放至行为控制指令消息队列;通过行为控制线程将行为控制指令消息队列中的待执行指令存放至目标指令存储变量,目标指令存储变量为当前处于指令完成状态的存储变量;通过行为控制线程中的指令处理状态机对目标指令存储变量对应的指令处理状态进行调整,并通过 电机 组状态机处理电机组指令,以使驱动线程基于处理后的电机组指令对护理床中的电机进行控制。本发明的技术方案能够解决 现有技术 中多功能护理平台的控制系统的指令处理及控制效率低下,难以 支撑 多功能护理平台的控制需求的技术问题。
权利要求

1.一种多功能护理平台的控制方法,其特征在于,所述方法应用于嵌入式控制系统,所述嵌入式控制系统中设置有行为控制线程、通信线程和驱动线程,包括:
在所述通信线程接收到待执行指令时,将所述待执行指令存放至行为控制指令消息队列;
通过所述行为控制线程将所述行为控制指令消息队列中的所述待执行指令存放至目标指令存储变量,所述目标指令存储变量为当前处于指令完成状态的存储变量;
通过所述行为控制线程中的指令处理状态机对所述目标指令存储变量对应的指令处理状态进行调整,并通过电机组状态机处理电机组指令,以使所述驱动线程基于处理后的电机组指令对护理床中的电机进行控制。
2.如权利要求1所述的多功能护理平台的控制方法,其特征在于,所述通过所述行为控制线程将所述行为控制指令消息队列中的所述待执行指令存放至目标指令存储变量的步骤之后,还包括:
将所述目标指令存储变量对应的指令标志位设置为未执行标志;
所述通过所述行为控制线程中的指令处理状态机对所述目标指令存储变量对应的指令处理状态进行调整的步骤,包括:
在所述目标指令存储变量处于指令完成状态时,若所述目标指令存储变量对应的指令标志位为所述未执行标志,则通过所述行为控制线程中的指令处理状态机将所述目标指令存储变量对应的指令处理状态调整为正在处理状态;
在所述目标指令存储变量处于正在处理状态时,根据所述待执行指令对应的指令类型确定所述行为控制线程中的指令处理状态机的指令处理子状态机;
通过所述指令处理子状态机对所述目标指令存储变量中的所述待执行指令进行处理,以调整所述目标指令存储变量对应的指令处理状态。
3.如权利要求1所述的多功能护理平台的控制方法,其特征在于,所述通过所述行为控制线程中的指令处理状态机对所述目标指令存储变量对应的指令处理状态进行调整的步骤,包括:
在所述目标指令存储变量处于等待状态时,判断床椅通讯是否完成,所述床椅通讯为护理床和轮椅之间的通讯;
若完成,则所述行为控制线程中的指令处理状态机将所述目标指令存储变量对应的指令处理状态调整为正在处理状态。
4.如权利要求2所述的多功能护理平台的控制方法,其特征在于,所述通过所述指令处理子状态机对所述目标指令存储变量中的所述待执行指令进行处理,以调整所述目标指令存储变量对应的指令处理状态的步骤,包括:
若所述目标指令存储变量中的所述待执行指令中存在目标电机组,则通过通信接口函数向护理床发送电机组指令,并将所述目标指令存储变量对应的指令处理状态调整为等待状态,所述目标电机组为与所述护理床相关的电机组;
通过所述指令处理子状态机根据所述待执行指令和当前平台状态将所述电机组指令发送至所述驱动线程,所述驱动线程在接收到所述电机组指令时反馈电机组执行结果;
根据所述电机组执行结果调整所述指令处理状态。
5.如权利要求1所述的多功能护理平台的控制方法,其特征在于,所述通过电机组状态机处理电机组指令,以使所述驱动线程基于处理后的电机组指令对护理床中的电机进行控制的步骤,包括:
在调整后的指令处理状态为正在处理状态时,确定护理床中的电机组对应的电机组存储变量状态;
若所述电机组存储变量状态为电机组空闲状态,则通过电机组状态机判断所述电机组是否接收到新的电机组指令;
若是,则判断所述新的电机组指令中的目标位置是否等于当前位置;
若否,则调用驱动接口函数启动所述电机组对应的所有执行机构,以对护理床中的电机进行控制。
6.如权利要求5所述的多功能护理平台的控制方法,其特征在于,所述确定护理床中的电机组对应的电机组存储变量状态的步骤之后,还包括:
若所述电机组存储变量状态为电机组启动状态,则在所述电机组到达目标位置或所述电机组出现故障时,调用驱动接口函数停止所述电机组对应的所有执行机构,以对护理床中的电机进行控制。
7.如权利要求5所述的多功能护理平台的控制方法,其特征在于,所述确定护理床中的电机组对应的电机组存储变量状态的步骤之后,还包括:
若所述电机组存储变量状态为电机组停止状态,则判断所述电机组是否达到目标位置且停止;
若是,则向所述指令处理状态机反馈电机组指令完成信息;
或,若否,则向所述指令处理状态机反馈电机组停止信息。
8.如权利要求5所述的多功能护理平台的控制方法,其特征在于,所述确定护理床中的电机组对应的电机组存储变量状态的步骤之后,还包括:
若所述电机组存储变量状态为电机组故障状态,则判断所述电机组中的故障是否清除;
若是,则将所述电机组存储变量状态切换为电机组启动状态。
9.如权利要求1~8中任一项所述的多功能护理平台的控制方法,其特征在于,所述在所述通信线程接收到待执行指令时,将所述待执行指令存放至行为控制指令消息队列的步骤之前,还包括:
根据护理床的功能需求确定存储变量数量;
建立所述存储变量数量的指令存储变量;
将所述指令存储变量的初始状态设置为指令完成状态。
10.一种多功能护理平台,其特征在于,所述多功能护理平台包括:通信模、行为控制模块和驱动模块;
所述行为控制模块,用于在所述通信模块接收到待执行指令时,将所述待执行指令存放至行为控制指令消息队列;
所述行为控制模块,还用于通过所述行为控制线程将所述行为控制指令消息队列中的所述待执行指令存放至目标指令存储变量,所述目标指令存储变量为当前处于指令完成状态的存储变量;
所述行为控制模块,还用于通过所述行为控制线程中的指令处理状态机对所述目标指令存储变量对应的指令处理状态进行调整,并通过电机组状态机处理电机组指令;
所述驱动模块,用于基于处理后的电机组指令对护理床中的电机进行控制。

说明书全文

多功能护理平台的控制方法及多功能护理平台

技术领域

[0001] 本发明涉及医疗护理技术领域,尤其涉及一种多功能护理平台的控制方法及多功能护理平台。

背景技术

[0002] 多功能可分离护理平台通过可分离机械架构结合嵌入式控制系统实现电动轮椅及护理床功能,同时可以作为大数据智慧养老服务平台的护理与监测终端,因此具有很强的应用前景。
[0003] 不同于传统护理平台,可分离护理平台融合多种功能为一体,具有全新的机械架构,作为多种体征监测设备载体,其控制系统应具备较高的可拓展性及后续优化性。然而,现有的控制系统对于指令处理及控制效率不高,难以支撑多功能可分离护理平台的控制需求。
[0004] 上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术

发明内容

[0005] 本发明的主要目的在于提供了一种多功能护理平台的控制方法及多功能护理平台,旨在解决现有技术中多功能护理平台的控制系统的指令处理及控制效率低下,难以支撑多功能护理平台的控制需求的技术问题。
[0006] 为实现上述目的,本发明提供了一种多功能护理平台的控制方法,所述方法应用于嵌入式控制系统,所述嵌入式控制系统中设置有行为控制线程、通信线程和驱动线程,包括:
[0007] 在所述通信线程接收到待执行指令时,将所述待执行指令存放至行为控制指令消息队列;
[0008] 通过所述行为控制线程将所述行为控制指令消息队列中的所述待执行指令存放至目标指令存储变量,所述目标指令存储变量为当前处于指令完成状态的存储变量;
[0009] 通过所述行为控制线程中的指令处理状态机对所述目标指令存储变量对应的指令处理状态进行调整,并通过电机组状态机处理电机组指令,以使所述驱动线程基于处理后的电机组指令对护理床中的电机进行控制。
[0010] 可选地,所述通过所述行为控制线程将所述行为控制指令消息队列中的所述待执行指令存放至目标指令存储变量的步骤之后,还包括:
[0011] 将所述目标指令存储变量对应的指令标志位设置为未执行标志;
[0012] 所述通过所述行为控制线程中的指令处理状态机对所述目标指令存储变量对应的指令处理状态进行调整的步骤,包括:
[0013] 在所述目标指令存储变量处于指令完成状态时,若所述目标指令存储变量对应的指令标志位为所述未执行标志,则通过所述行为控制线程中的指令处理状态机将所述目标指令存储变量对应的指令处理状态调整为正在处理状态;
[0014] 在所述目标指令存储变量处于正在处理状态时,根据所述待执行指令对应的指令类型确定所述行为控制线程中的指令处理状态机的指令处理子状态机;
[0015] 通过所述指令处理子状态机对所述目标指令存储变量中的所述待执行指令进行处理,以调整所述目标指令存储变量对应的指令处理状态。
[0016] 可选地,所述通过所述行为控制线程中的指令处理状态机对所述目标指令存储变量对应的指令处理状态进行调整的步骤,包括:
[0017] 在所述目标指令存储变量处于等待状态时,判断床椅通讯是否完成,所述床椅通讯为护理床和轮椅之间的通讯;
[0018] 若完成,则所述行为控制线程中的指令处理状态机将所述目标指令存储变量对应的指令处理状态调整为正在处理状态。
[0019] 可选地,所述通过所述指令处理子状态机对所述目标指令存储变量中的所述待执行指令进行处理,以调整所述目标指令存储变量对应的指令处理状态的步骤,包括:
[0020] 若所述目标指令存储变量中的所述待执行指令中存在目标电机组,则通过通信接口函数向护理床发送电机组指令,并将所述目标指令存储变量对应的指令处理状态调整为等待状态,所述目标电机组为与所述护理床相关的电机组;
[0021] 通过所述指令处理子状态机根据所述待执行指令和当前平台状态将所述电机组指令发送至所述驱动线程,所述驱动线程在接收到所述电机组指令时反馈电机组执行结果;
[0022] 根据所述电机组执行结果调整所述指令处理状态。
[0023] 可选地,所述通过电机组状态机处理电机组指令,以使所述驱动线程基于处理后的电机组指令对护理床中的电机进行控制的步骤,包括:
[0024] 在调整后的指令处理状态为正在处理状态时,确定护理床中的电机组对应的电机组存储变量状态;
[0025] 若所述电机组存储变量状态为电机组空闲状态,则通过电机组状态机判断所述电机组是否接收到新的电机组指令;
[0026] 若是,则判断所述新的电机组指令中的目标位置是否等于当前位置;
[0027] 若否,则调用驱动接口函数启动所述电机组对应的所有执行机构,以对护理床中的电机进行控制。
[0028] 可选地,所述确定护理床中的电机组对应的电机组存储变量状态的步骤之后,还包括:
[0029] 若所述电机组存储变量状态为电机组启动状态,则在所述电机组到达目标位置或所述电机组出现故障时,调用驱动接口函数停止所述电机组对应的所有执行机构,以对护理床中的电机进行控制。
[0030] 可选地,所述确定护理床中的电机组对应的电机组存储变量状态的步骤之后,还包括:
[0031] 若所述电机组存储变量状态为电机组停止状态,则判断所述电机组是否达到目标位置且停止;
[0032] 若是,则向所述指令处理状态机反馈电机组指令完成信息;
[0033] 或,若否,则向所述指令处理状态机反馈电机组停止信息。
[0034] 可选地,所述确定护理床中的电机组对应的电机组存储变量状态的步骤之后,还包括:
[0035] 若所述电机组存储变量状态为电机组故障状态,则判断所述电机组中的故障是否清除;
[0036] 若是,则将所述电机组存储变量状态切换为电机组启动状态。
[0037] 可选地,所述在所述通信线程接收到待执行指令时,将所述待执行指令存放至行为控制指令消息队列的步骤之前,还包括:
[0038] 根据护理床的功能需求确定存储变量数量;
[0039] 建立所述存储变量数量的指令存储变量;
[0040] 将所述指令存储变量的初始状态设置为指令完成状态。
[0041] 此外,为实现上述目的,本发明还提出一种多功能护理平台,所述多功能护理平台包括:通信模、行为控制模块和驱动模块;
[0042] 所述行为控制模块,用于在所述通信模块接收到待执行指令时,将所述待执行指令存放至行为控制指令消息队列;
[0043] 所述行为控制模块,还用于通过所述行为控制线程将所述行为控制指令消息队列中的所述待执行指令存放至目标指令存储变量,所述目标指令存储变量为当前处于指令完成状态的存储变量;
[0044] 所述行为控制模块,还用于通过所述行为控制线程中的指令处理状态机对所述目标指令存储变量对应的指令处理状态进行调整,并通过电机组状态机处理电机组指令;
[0045] 所述驱动模块,用于基于处理后的电机组指令对护理床中的电机进行控制。
[0046] 在本发明中,公开了在通信线程接收到待执行指令时,将待执行指令存放至行为控制指令消息队列;通过行为控制线程将行为控制指令消息队列中的待执行指令存放至目标指令存储变量,目标指令存储变量为当前处于指令完成状态的存储变量;通过行为控制线程中的指令处理状态机对目标指令存储变量对应的指令处理状态进行调整,并通过电机组状态机处理电机组指令,以使驱动线程基于处理后的电机组指令对护理床中的电机进行控制;由于本发明通过行为控制线程中的指令处理状态机对存储有待执行指令的目标指令存储变量对应的指令处理状态进行调整,结合控制线程中的电机组控制状态机对电机组指令进行处理,并通过驱动线程基于处理后的电机组指令对护理床中的电机进行控制,从而解决了现有技术中多功能护理平台的控制系统的指令处理及控制效率低下,难以支撑多功能护理平台的控制需求的技术问题。附图说明
[0047] 图1为本发明多功能护理平台的控制方法第一实施例的流程示意图;
[0048] 图2为本发明多功能护理平台的控制方法第一实施例中行为控制线程的流程示意图;
[0049] 图3为本发明多功能护理平台的控制方法中嵌入式控制系统的架构图;
[0050] 图4为本发明多功能护理平台的控制方法第一实施例中初始化流程图
[0051] 图5为本发明多功能护理平台的控制方法第二实施例的流程示意图;
[0052] 图6为本发明多功能护理平台的控制方法第二实施例中行为控制指令处理的流程示意图;
[0053] 图7为本发明多功能护理平台的控制方法第三实施例的流程示意图;
[0054] 图8为本发明多功能护理平台的控制方法第三实施例中电机组控制的流程示意图;
[0055] 图9为本发明多功能护理平台第一实施例的结构框图
[0056] 本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

[0057] 应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0058] 下面将结合本发明实施例中的附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例、基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有实施例,都属于本发明保护的范围。
[0059] 需要说明的是,在本发明实施例中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
[0060] 参照图1,图1为本发明多功能护理平台的控制方法第一实施例的流程示意图。
[0061] 本实施例中,所述多功能护理平台的控制方法应用于嵌入式控制系统,所述嵌入式控制系统中设置有行为控制线程、通信线程和驱动线程,包括以下步骤:
[0062] 步骤S10:在所述通信线程接收到待执行指令时,将所述待执行指令存放至行为控制指令消息队列。
[0063] 需要说明的是,本实施例的方法的执行主体可以为多功能可分离护理平台进行控制的多功能护理平台的控制设备,或者是其他能够实现相同或相似功能的、包含了该多功能护理平台的控制设备的多功能护理平台的控制系统。此处以多功能护理平台的控制设备(以下简称设备)对本实施例和下述各实施例提供的多功能护理平台的控制方法进行具体说明。
[0064] 应当说明的是,多功能可分离护理平台需要执行多种指令类型,例如:起背、屈腿、床体升降与侧翻等单动作指令,以及一键轮椅、一键床椅分离与一键床椅结合等需要多个执行结构互相配合的复合类型指令,因此需要根据用户指令及平台状态协调行为动作,并检测各动作相关执行机构状态,实时上报平台状态及故障。其中,作为各种体征检测设备的载体,多功能可分离护理平台的嵌入式控制架构设计中需要在满足需求的前提下尽量缩减线程个数来预留后续拓展空间。此外,为实现多指令非阻塞处理从而提升用户的使用感受及控制效率,目前针对基于嵌入式操作系统的护理平台的处理方法为:通过设定多个线程来处理多条指令,线程个数取决于所需同时处于“正在执行中”指令的个数,这将大幅度增加固件架构复杂度,降低可拓展性,难以满足多功能可分离护理平台设计需求。此时本方案可以在不增加固件架构复杂度的同时提升指令处理效率,提出一种基于单线程的多条指令非阻塞处理方法。具体地,本方案提出的多功能护理平台的控制方法可基于单线程非阻塞处理多条指令,降低固件架构复杂度的同时提升了指令处理效率,保证了用户操作使用感受,且可根据开发需求增减处于“正在执行”状态的指令数量,进一步增加了可分离多功能护理平台固件的可拓展性。
[0065] 需要说明的是,本方案中的多功能护理平台的控制方法应用于嵌入式控制系统,即可以通过嵌入式控制系统实现多功能护理平台中电动轮椅及护理床功能。其中,嵌入式控制系统应具有通讯、护理床/电动轮椅行为控制以及电机/总线驱动功能,且具有可拓展及易于维护的特性。
[0066] 可以理解的是,本方案可以针对多功能护理平台对行为控制、无线通信及驱动方面的需求,以功能为单位设定线程,包括上述行为控制线程、通信线程和驱动线程,从而可以实现床椅行为控制、无线通信与电机/总线驱动等功能,且各功能线程调度与同步/异步机制合理,针对可分离多功能护理床后续优化与拓展有很大优势。其中,行为控制线程可以为用于实现床椅控制功能的线程;通信线程可以为实现无线通信功能的线程;驱动线程可以为用于实现电机/总线驱动功能的线程。
[0067] 在本实施例中,可以基于嵌入式控制系统分别建立行为控制线程、通信线程和驱动线程(包括电机驱动线程和总线驱动线程),再根据各功能之间关系,对比各功能的重要性与紧急性,设定线程优先级:行为控制线程=电机驱动线程=总线驱动线程>通信线程。
[0068] 需要说明的是,上述待执行指令可以为用户的行为控制指令,例如:起背、屈腿、床体升降与侧翻等单动作指令,以及一键轮椅、一键床椅分离与一键床椅结合等需要多个执行结构互相配合的复合类型指令,本实施例对此不加以限制。
[0069] 应当说明的是,上述行为控制指令消息队列可以为用于传输行为控制指令(即待执行指令)的消息队列。本实施例中,通信线程与行为控制线程通过消息队列进行同步,行为控制线程与电机/总线驱动线程通过全局变量及消息队列进行同步。
[0070] 实际应用中,嵌入式控制系统中的通信线程在收到待执行指令后,可以调用指令预处理接口函数预判断该指令是否可执行,若可以,则通过预处理后将指令存入行为控制指令消息队列。
[0071] 步骤S20:通过所述行为控制线程将所述行为控制指令消息队列中的所述待执行指令存放至目标指令存储变量,所述目标指令存储变量为当前处于指令完成状态的存储变量。
[0072] 需要说明的是,本实施例中指令存储变量可以为用于存储指令的执行情况的变量;上述目标指令存储变量可以为指令处理状态处于指令完成状态的指令存储变量。
[0073] 步骤S30:通过所述行为控制线程中的指令处理状态机对所述目标指令存储变量对应的指令处理状态进行调整,并通过电机组状态机处理电机组指令,以使所述驱动线程基于处理后的电机组指令对护理床中的电机进行控制。
[0074] 应当说明的是,上述指令处理状态机可以为用于处理用户行为控制指令的设备。
[0075] 可以理解的是,上述指令处理状态可以为目标指令存储变量中存放的指令的处理状态。本实施例中指令处理状态可以包括:指令完成状态、正在处理状态和等待状态,其中,指令完成状态可以为指令处理起始状态或处理完成的状态;正在处理状态可以为指令正在执行或处理的状态;等待状态可以为指令等待执行的状态。
[0076] 需要说明的是,本实施例可以将每个单一动作(如起背、屈腿、扶手、升降、侧翻等)所涉及的执行机构归类为一个电机组。
[0077] 在本实施例中,参照图2,图2为本发明多功能护理平台的控制方法第一实施例中行为控制线程的流程示意图。如图2所示,为了降低指令处理复杂度,行为控制线程接收到新的指令后,在通过指令处理状态机处理前根据可分离护理床实际应用情况,结合当前正在处理的指令情况以及电机组状态对其进行预处理。同时,为了基于单一线程实现多条指令的非阻塞处理,行为控制线程中可以建立指令处理状态机,并设定n个指令存储变量,每个指令存储变量可记录一条指令执行情况,包括:指令完成状态(COMPLETE)、正在处理状态(ONGOING)和等待状态(WAITING),从而通过指令处理状态机循环处理指令存储变量可以实现无阻塞处理多条用户行为控制指令。
[0078] 应当说明的是,指令控制层中指令处理状态机可以根据所处理的指令及当前护理平台状态,将电机组指令(启/停及目标位置)传送至电机组控制层,从而后续可以结合电机组当前状态来向电机/总线驱动线程发送每个电机/外接模块的启停指令,以实现对护理床中的电机进行控制。此外,本实施例中还可以监测电机组/外接模块的状态,电机组执行情况通过消息队列反馈至指令处理状态机,便于指令处理状态机及时根据电机组指令执行情况与状态及时做出下一步决策,其中,电机组状态可以包括:空闲状态(IDLE)、运行状态(RUN)、停止状态(STOP)和故障状态(FAULT)。具体地,电机/总线驱动线程可以通过消息队列向行为线程反馈执行机构异常,行为控制线程接收到反馈信息后通过通信线程反馈至用户/上位机。
[0079] 可以理解的是,本实施例中行为控制线程对指令进行预处理可以包括:拒绝与当前执行指令存在干涉的新指令;拒绝与当前护理平台装状态存在干涉的新指令;无条件执行紧急停止指令;护理平台状态为分离时,拒绝与升降、侧翻等床体相关指令;护理平台状态为分离时,拒绝一键分离指令;护理平台状态为结合时,拒绝一键结合指令;单一指令目标值超出动作允许范围时拒绝或根据情况修改为所允许的最大/最小值;护理平台存在故障时,拒绝除一键停止以外所有指令。
[0080] 在本实施例中,如图2所示,可以基于单线程设定“指令处理+电机组控制”双层状态机结构,结合设定多个指令状态存储变量的方式实现单一线程非阻塞处理多条指令,降低固件架构复杂度的同时提升了指令处理效率,保证了用户操作使用感受。其中,本实施例中指令处理状态机中状态迁移条件包括:迁移1:指令通道接收到新上位机指令;迁移2:向床椅从控板发送指令(动作控制、获取状态/位置);迁移3:床椅通讯完成;迁移4:指令执行完成、指令发生错误。此外,电机组控制层状态机中状态迁移条件包括:迁移1:电机组接收到新的启动指令,且目标位置与当前位置之差大于启动阈值;迁移2:a.电机组达到目标值、b.接收到新的停止指令;迁移3:超过时间阈值后电机组未仍停止;迁移4:电机组停止完成,且未发生故障;迁移5:电机组发生故障;迁移6:故障解除。
[0081] 在具体实现中,参照图3,图3为本发明多功能护理平台的控制方法中嵌入式控制系统的架构图。如图3所示,本发明的嵌入式控制系统可以分为轮椅主控板及床体从控板,并设置有行为控制模块、通信模块和驱动模块。其中,行为控制模块用于无阻塞处理上位机指令,通过驱动模块控制各动作电机组及外接模块有序完成每个动作指令;接收上位机自动对接指令并下发;实时监测各电机组与外接模块并上报至用户/上位机;根据当前床椅姿态、运动接收指令协调处理各指令响应流程;根据当前床椅状态协调各电机组/外接模块工作。通信模块用于实现用户与轮椅主控、轮椅主控板与床体从控板之间通信,完成解析指令与指令、数据消息封包、与ESP模块实现通信、通信超时、周期性通信动作(心跳、重连等)管理。驱动模块包含电机驱动与总线驱动两部分,用于完成行为控制模块对电机及外接模块的启/停指令;完成行为控制线程对电机的控制指令(目标速度、目标位置);对电机及外接模块情况进行实时监测与保护。
[0082] 同时,本方案还可以基于嵌入式控制系统合理设定线程,具体可以以功能为单位设有行为控制线程、无线通信线程、电机驱动线程及总线驱动线程;其中,根据多功能可分离护理平台各线程功能重要性与实时性要求,设定优先级为行为控制线程=电机驱动线程=总线驱动线程>无线通信线程。其中,为保证使用安全性,设定行为控制线程、电机驱动线程及总线驱动线程均为周期性无阻塞线程,并根据己选需求设定行为控制线程循环周期为50ms,电机驱动线程的循环周期为5ms,总线驱动线程的循环周期为5ms;无线通信线程为触发式线程,即接收到新的信息或有新的发送任务时触发该线程。
[0083] 在本实施例中,为了保证多功能护理平台固件架构的条理性、易于维护与优化性,各线程之间同步/异步分层级递进,即设定通信线程与行为控制线程之间通过消息队列传递信息,行为控制线程与电机/总线驱动线程之间通过全局变量及消息队列实现互通,而通信线程与电机/总线驱动线程之间无同步/异步机制。针对行为控制线程设定3个消息队列:用户指令消息队列:存放来自于通信线程的用户指令,每个周期(50ms)获取一次;执行结果反馈消息队列:存放来自于通信线程的床体指令执行结果,以及存放来自于电机组控制层的电机组执行结果,每个周期(50ms)获取一次;故障反馈消息队列:存放来自于电机组控制层的电机组故障信息,以及存放来自通信线程的床体故障信息,每个周期(50ms)获取一次。
其中,行为控制线程接收到故障反馈消息后通过调用通信线程接口函数向用户/上位机反馈故障情况。
[0084] 进一步地,所述步骤S10之前,所述方法还包括:根据护理床的功能需求确定存储变量数量;建立所述存储变量数量的指令存储变量;将所述指令存储变量的初始状态设置为指令完成状态。
[0085] 需要说明的是,上述功能需求可以为用户控制护理床实现起背、屈腿、扶手、升降、侧翻等功能的需求。
[0086] 应当理解的是,上述存储变量数量可以为指令存储变量的数量。本实施例中可以根据护理床的功能需求设定对应数量的指令存储变量,其中,指令存储变量中可以存储有存储变量编号、指令处理状态、指令标志位、指令涉及电机组类型及个数等内容,本实施例对此不加以限制。
[0087] 实际应用中,本发明中嵌入式控制系统可以分为轮椅主控板及床体从控板,二者设置相同的固件架构,流程相似。如轮椅主控板在接收到用户指令后进行协调,并通过无线通信向床体从控板发送单一动作控制指令(如升降/侧翻),以对床体进行控制,其流程更全面具体,因此本实施例可以以轮椅主控板为例详述具体实现流程。在此之前,需要进行初始化流程,参照图4,图4为本发明多功能护理平台的控制方法第一实施例中初始化流程图。如图4所示,首先可以基于嵌入式控制系统分别建立通信线程、行为控制线程、电机驱动线程及总线驱动线程,并分别设置优先级:行为控制线程=电机驱动线程=总线驱动线程>通信线程,再建立与每个线程相关的消息队列。然后,可以根据当前多功能可分离护理床功能需求,设定n个(如3个)指令存储变量(即此时最多可有3条指令处于“正在执行”状态),其中,变量包含存储变量编号、指令处理状态、指令标志位、指令涉及电机组类型及个数等因素,再为指令存储变量赋初值,将其初始状态设定为指令完成/空闲状态(即COMPLETE),从而后续可以通过简单地增减指令存储变量个数来增减可同时处于“正在执行”状态的指令数量,进一步增加了多功能可分离护理平台的可拓展性。此外,系统还可以根据当前可分离护理床功能对轮椅需求,主控板中设置:起背电机组,包含1个电机;屈腿电机组,包含1个电机;扶手电机组,包含2个电机;旋转电机组,包含一个外接模块;自动对接电机组,包含一个外接模块。其中,电机组存储变量包含所属指令号、当前位置、目标位置、电机组/外接模块状态、所包含执行机构及限位位置等因素。同时,还可以为电机组存储变量赋初值,其中,电机组初始状态为IDLE(即空闲状态),并调用驱动模块接口函数读的执行结构为当前位置复制,再继续设置行为控制指令预处理接口函数,设定属于不同指令子状态机函数。在初始化完成后,多功能护理平台可以根据用户指令对护理床/电动轮椅进行控制。
[0088] 本实施例公开了在通信线程接收到待执行指令时,将待执行指令存放至行为控制指令消息队列;通过行为控制线程将行为控制指令消息队列中的待执行指令存放至目标指令存储变量,目标指令存储变量为当前处于指令完成状态的存储变量;通过行为控制线程中的指令处理状态机对目标指令存储变量对应的指令处理状态进行调整,并通过电机组状态机处理电机组指令,以使驱动线程基于处理后的电机组指令对护理床中的电机进行控制;由于本实施例通过行为控制线程中的指令处理状态机对存储有待执行指令的目标指令存储变量对应的指令处理状态进行调整,并通过驱动线程基于处理后的电机组指令对护理床中的电机进行控制,从而解决了现有技术中多功能护理平台的控制系统的指令处理及控制效率低下,难以支撑多功能护理平台的控制需求的技术问题。
[0089] 参考图5,图5为本发明多功能护理平台的控制方法第二实施例的流程示意图。
[0090] 基于上述第一实施例,为了基于单一线程实现多条指令的非阻塞处理,提升指令处理效率,本实施例中,所述步骤S20之后,所述方法还包括:
[0091] 步骤S201:将所述目标指令存储变量对应的指令标志位设置为未执行标志。
[0092] 需要说明的是,上述指令标志位可以为目标指令存储变量中用于表征指令是否执行的变量。相应的,上述未执行标志可以为用于表征当前指令未执行的标志。
[0093] 在本实施例中,当系统中通信线程在接收到待执行指令后,可以调用指令预处理接口函数判断指令是否可以执行,若通过预处理,则可以将指令存储至行为控制指令消息队列。然后,系统中的行为控制线程可以从该行为控制指令消息队列中取出指令,并存入至当前处于指令完成状态的目标指令存储变量中,再设定该目标指令存储变量总的指令标志位为“NEW”(即上述未执行标志),表示该待执行指令当前未被执行。
[0094] 相应的,所述通过所述行为控制线程中的指令处理状态机对所述目标指令存储变量对应的指令处理状态进行调整的步骤,包括:
[0095] 步骤S301:在所述目标指令存储变量处于指令完成状态时,若所述目标指令存储变量对应的指令标志位为所述未执行标志,则通过所述行为控制线程中的指令处理状态机将所述目标指令存储变量对应的指令处理状态调整为正在处理状态;
[0096] 应当理解的是,在目标执行存储变量处于指令完成状态时,若目标指令存储变量对应的指令标志位为未执行状态,则表示待执行指令当前还未被执行,此时需要执行该待执行指令,因此可以将目标指令存储变量对应的指令处理状态调整为正在处理状态,并向指令存储变量中存入该待执行指令所涉及的电机组类型及电机组个数,以处理该待执行指令。
[0097] 步骤S302:在所述目标指令存储变量处于正在处理状态时,根据所述待执行指令对应的指令类型确定所述行为控制线程中的指令处理状态机的指令处理子状态机。
[0098] 应当说明的是,上述指令处理子状态机可以为指令处理状态机中用于处理具体类别的指令的设备。
[0099] 需要说明的是,指令完成状态中包含若干指令处理子状态机,每个指令处理子状态机针对一种指令类型,且子状态机数量可根据可分离护理床后续功能增减而变,为后续增加新的用户指令提供可拓展接口。另外,指令存储变量个数代表可同时处于“正在执行”状态的用户指令个数,指令存储变量个数可以根据护理平台功能需求进行增减,进一步增加了可分离护理平台固件的可拓展性,如本实施例可以根据当前可分离护理平台需求,设定该指令存储变量个数为3。
[0100] 步骤S303:通过所述指令处理子状态机对所述目标指令存储变量中的所述待执行指令进行处理,以调整所述目标指令存储变量对应的指令处理状态。
[0101] 在本实施例中,所述步骤S303包括:
[0102] 步骤S303a:若所述目标指令存储变量中的所述待执行指令中存在目标电机组,则通过通信接口函数向护理床发送电机组指令,并将所述目标指令存储变量对应的正在处理状态调整为等待状态,所述目标电机组为与所述护理床相关的电机组。
[0103] 需要说明的是,上述目标电机组可以为与护理床床体相关的指令,即用于控制床体的指令。
[0104] 可以理解的是,上述通信接口函数可以为用于传输指令的函数。本实施例中可以通过通信接口函数向护理床发送电机组指令,其中,电机组指令可以为用于控制电机组启动/停止,或运行至目标位置的指令。
[0105] 步骤S303b:通过所述指令处理子状态机根据所述待执行指令和当前平台状态将所述电机组指令发送至所述驱动线程,所述驱动线程在接收到所述电机组指令时反馈电机组执行结果。
[0106] 应当说明的是,上述当前平台状态可以为护理平台当前的状态,如:运行状态、停止状态等,本实施例对此不加以限制。
[0107] 应当理解的是,上述电机组执行结果可以为用于标志电机是否执行完成执行,或电机是否出现故障的结果。
[0108] 步骤S303c:根据所述电机组执行结果调整所述指令处理状态。
[0109] 可以理解的是,若根据电机组执行结果发现待执行指令相关的电机组全部执行完毕,则可以将目标指令存储变量对应的指令处理状态调整为指令完成状态。
[0110] 实际应用中,若当前处理的待执行指令中包含床体相关的目标电机组,则可以调用通信接口函数向护理床发送电机组指令,并将指令处理状态调整为等待状态。然后,指令处理子状态机可以根据所处理的指令和当前护理平台的状态将电机组指令通过电机组变量传送至电机组控制层(或驱动线程),当接收到电机组控制层或床体反馈的电机组执行结果时,若根据电机组执行结果发现指令相关电机全部执行完毕,则可以将指令处理状态调整为指令完成状态,并调用通信接口函数实现对用户/上位机的执行结果反馈;若指令相关电机组未执行完毕,则继续循环等待。
[0111] 在本实施例中,在所述目标指令存储变量处于等待状态时,判断床椅通讯是否完成,所述床椅通讯为护理床和轮椅之间的通讯;若完成,则所述行为控制线程中的指令处理状态机将所述目标指令存储变量对应的指令处理状态调整为正在处理状态。
[0112] 应当说明的时,当目标指令存储变量对应的指令处理状态为等待状态,则可以判断床体和轮椅之间的通讯是否完成,若完成,则可以将指令处理状态调整为正在处理状态以继续执行指令后续操作,若未完成,则继续循环等待。
[0113] 可以理解的是,本实施例中行为控制线程中建立有指令处理状态机,并设定多个指令存储变量,每个指令存储变量可记录一条指令执行情况,通过指令处理状态机循环处理指令存储变量实现无阻塞处理多条用户行为控制指令,从而可以基于单一线程实现多条指令的非阻塞处理。
[0114] 在具体实现中,参照图6,图6为本发明多功能护理平台的控制方法第二实施例中行为控制指令处理的流程示意图。如图6所示,通讯线程在接收到新的指令时,可以调用指令预处理接口函数预处理判断该指令是否可以执行,若可以执行,则将该指令存储至行为控制指令消息队列,从而可以降低指令处理复杂度。然后,行为控制线程可以从行为控制指令消息队列中取出该指令,并存入目前处于“COMPLETE”状态(即指令完成状态)的目标指令存储变量中,同时设定该目标指令存储变量的指令标志为“NEW”(即未执行标志),然后可以通过指令处理状态机根据指令存储变量中的指令处理状态进行相应处理。
[0115] 具体地,首先可以确定目标指令存储变量中该指令对应的指令处理状态,若指令处理状态为“COMPLETE”且指令标志位为“NEW”,则将指令存储变量调整为“ONGOING”(即正在处理状态),并向指令存储变量中存入该指令所涉及电机组类型及电机组个数。当指令存储变量为“ONGOING”时,则可以根据所存入的指令类型确定指令处理子状态机,然后指令处理子状态机根据当前处理的指令进行处理:若当前处理的指令中包含床体相关电机组,则调用通信接口函数向床体发送相关电机组指令(启动/停止及目标位置),并将指令处理状态调整为“WAITING”(即等待状态),指令处理子状态机根据所处理的指令及当前护理平台状态,将电机组指令通过电机组变量传送至电机组控制层,并在接收到电机组控制层或床体反馈的电机组执行结果反馈时,若指令相关电机组已全部执行完毕,则将指令处理状态调整为“COMPLETE”,并调用通信接口函数实现对用户/上位机的执行结果反馈;若指令相关电机组未执行完毕,则继续循环等待。当指令处理状态为“WAITING”时,判断轮椅与床体通讯是否完成,若完成,则将指令存储变量调整为“ONGOING”继续执行指令后续操作,若未完成,则继续循环等待。
[0116] 本实施例在目标指令存储变量处于指令完成状态时,若目标指令存储变量对应的指令标志位为未执行标志,则通过行为控制线程中的指令处理状态机将目标指令存储变量对应的指令处理状态调整为正在处理状态,在目标指令存储变量处于正在处理状态时,根据待执行指令对应的指令类型确定行为控制线程中的指令处理状态机的指令处理子状态机,并通过指令处理子状态机对目标指令存储变量中的待执行指令进行处理,以调整所述目标指令存储变量对应的指令处理状态,从而可以基于单一线程实现多条指令的非阻塞处理,进而提升指令处理效率。
[0117] 参考图7,图7为本发明多功能护理平台的控制方法第三实施例的流程示意图。
[0118] 基于上述各实施例,本实施例中,为了在降低固件架构复杂度的同时提升指令处理效率,保证用户操作使用感受,所述通过电机组状态机处理电机组指令,以使所述驱动线程基于处理后的电机组指令对护理床中的电机进行控制的步骤,包括:
[0119] 步骤S30a:在调整后的指令处理状态为正在处理状态时,确定护理床中的电机组对应的电机组存储变量状态。
[0120] 需要说明的是,本实施例可以针对行为控制功能,基于单线程设定“指令处理+电机组控制”双层状态机结构,结合设定多个指令状态存储变量的方式实现单一线程非阻塞处理多条指令,从而可以在降低固件架构复杂度的同时提升指令处理效率,保证用户操作使用感受。
[0121] 在本实施例中,电机组控制层状态机可以针对每个电机组存储变量状态对电机组进行相应处理。其中,电机组存储变量状态可以为电机组存储变量中的电机组当前的状态,例如:电机组空闲状态、电机组启动状态、电机组停止状态和电机组故障状态,本实施例对此不加以限制。
[0122] 步骤S30b:若所述电机组存储变量状态为电机组空闲状态,则通过电机组状态机判断所述电机组是否接收到新的电机组指令。
[0123] 应当理解的是,上述电机组空闲状态可以为表示电机组当前没有处理指令对应的状态。
[0124] 可以理解的时,上述电机组指令可以为用于指示电机组启动的指令。
[0125] 步骤S30c:若是,则判断所述新的电机组指令中的目标位置是否等于当前位置。
[0126] 可以理解的是,上述目标位置可以为指令控制电机组移动的位置。
[0127] 步骤S30d:若否,则调用驱动接口函数启动所述电机组对应的所有执行机构,以对护理床中的电机进行控制。
[0128] 应当说明的是,上述驱动接口函数可以为驱动线程中用于驱动电机组中的执行机构的函数。其中,执行机构可以为执行动作(如起背、屈腿、扶手、升降、侧翻等)的电机/外接模块。
[0129] 实际应用中,当电机组存储变量状态处于电机组空闲状态时,若电机组接收到新的启动指令,且电机组指令中的目标位置不等于当前位置,则可以调用驱动模块接口函数启动电机组包含的所有执行机构,从而实现对护理床中的电机进行控制,并将电机组存储变量状态调整为电机组启动状态。
[0130] 在本实施例中,所述步骤S30a之后,所述方法还包括:若所述电机组存储变量状态为电机组启动状态,则在所述电机组到达目标位置或所述电机组出现故障时,调用驱动接口函数停止所述电机组对应的所有执行机构,以对护理床中的电机进行控制。
[0131] 应当理解的是,上述电机组启动状态即电机组启动时对应的状态。
[0132] 实际应用中,在电机组存储变量状态为电机组启动状态时,若电机组到达电机组指令中的目标位置,可以调用驱动模块接口函数停止电机组包含的所有执行机构,并将电机组存储变量状态调整为电机组停止状态。若电机组接收到新的停止指令,则可以调用驱动模块接口函数停止电机组包含的所有执行机构,并将电机组存储变量状态调整为电机组停止状态。此外,在电机组启动状态时,还可以判断电机组是否发生故障(如超时未启动),若发生,则可以调用驱动模块接口函数停止电机组包含的所有执行机构,并将电机组存储变量状态调整为电机组停止状态。
[0133] 在本实施例中,所述步骤S30a之后,所述方法还包括:若所述电机组存储变量状态为电机组停止状态,则判断所述电机组是否达到目标位置且停止;若是,则向所述指令处理状态机反馈电机组指令完成信息;或,若否,则向所述指令处理状态机反馈电机组停止信息。
[0134] 应当说明的是,电机组停止状态可以为电机组停止运行的状态。
[0135] 实际应用中,若电机组存储变量状态为电机组停止状态,且电机组因达到目标位置而停止,则可以向指令处理层反馈“电机组指令完成”,并将电机组存储变量状态调整为电机组空闲状态;若电机组未到达目标位置而停止,则向指令处理层反馈“电机组被停止”,并将电机组存储变量状态调整为电机组空闲状态;若发现该电机组发生故障(如超时未停止),则向指令处理层反馈“电机组故障”,并将电机组存储变量状态调整为电机组故障状态。
[0136] 在本实施例中,所述步骤S30a之后,所述方法还包括:若所述电机组存储变量状态为电机组故障状态,则判断所述电机组中的故障是否清除;若是,则将所述电机组存储变量状态切换为电机组启动状态。
[0137] 应当理解的是,上述电机组故障状态可以为用于表征电机组存在故障的状态。
[0138] 实际应用中,若电机组存储变量状态为电机组故障状态,则判断故障是否清除,若是,则将电机组存储变量状态调整为空闲状态;若否,则循环等待。
[0139] 在具体实现中,参照图8,图8为本发明多功能护理平台的控制方法第三实施例中电机组控制的流程示意图。图8所示的端点1和端点2可以与图6中的端点1和端点2对应连接,即本方案可以在调整后的指令处理状态为正在处理状态时,根据指令控制层发送的电机组指令对每个电机组存储变量状态进行相应处理,同时,电机组控制层可以根据指令执行情况和电机状态向指令控制层反馈执行结果,便于指令处理状态机及时根据电机组指令执行情况与状态及时做出下一步决策。
[0140] 具体地,首先可以确定电机组存储变量状态,若电机组存储变量状态处于电机组空闲状态,且电机组接收到新的启动指令,则可以判断电机组指令中的目标位置是否与当前位置不相等,若是,则可以调用驱动模块接口函数启动电机组包含的所有执行机构,并将电机组存储变量状态调整为电机组启动状态。
[0141] 若电机组存储变量状态为电机组启动状态,则可以判断电机组是否发生故障,若是,则可以调用驱动模块接口函数停止电机组包含的所有执行机构,并将电机组存储变量状态调整为电机组停止状态,同时向指令处理层反馈“电机组故障”。若未发生故障,则判断是否接收到新的停止指令,若是,则可以调用驱动模块接口函数停止电机组包含的所有执行机构,并将电机组存储变量状态调整为电机组停止状态;若否,则判断电机组是否到达电机组指令中的目标位置,若到达目标位置,可以调用驱动模块接口函数停止电机组包含的所有执行机构,并将电机组存储变量状态调整为电机组停止状态;若未到达目标位置,则可以启动电机组包含的所有执行机构,并将电机组存储变量状态调整为电机组启动状态。
[0142] 若电机组存储变量状态为电机组停止状态,则判断电机组是否发生故障,若发生故障,判断故障是否清除,若是,则将电机组存储变量状态调整为空闲状态;若否,则循环等待。若没有发生故障,则判断电机组是否达到目标位置,若达到目标位置,则向指令处理层反馈“电机组被停止”,并将电机组存储变量状态调整为电机组空闲状态;若发现该电机组发生故障(如超时未停止),则向指令处理层反馈“电机组故障”,并将电机组存储变量状态调整为电机组故障状态。若未达到目标位置则可以向指令处理层反馈“电机组指令完成”,并将电机组存储变量状态调整为电机组空闲状态。
[0143] 若电机组存储变量状态为电机组故障状态,则判断故障是否清除,若是,则将电机组存储变量状态调整为空闲状态;若否,则循环等待。
[0144] 本实施例在调整后的指令处理状态为正在处理状态时,确定护理床中的电机组对应的电机组存储变量状态,若电机组存储变量状态为电机组空闲状态,则判断电机组是否接收到新的电机组指令,若是,则判断新的电机组指令中的目标位置是否等于当前位置,若否,则调用驱动接口函数启动电机组对应的所有执行机构,以对护理床中的电机进行控制,从而可以在降低固件架构复杂度的同时提升指令处理效率,保证用户操作使用感受。
[0145] 参照图9,图9为本发明多功能护理平台第一实施例的结构框图。
[0146] 如图9所示,本发明实施例提出的多功能护理平台包括:通信模块100、行为控制模块200和驱动模块300;
[0147] 所述行为控制模块200,用于在所述通信模块100接收到待执行指令时,将所述待执行指令存放至行为控制指令消息队列;
[0148] 所述行为控制模块200,还用于通过所述行为控制线程将所述行为控制指令消息队列中的所述待执行指令存放至目标指令存储变量,所述目标指令存储变量为当前处于指令完成状态的存储变量;
[0149] 所述行为控制模块200,还用于通过所述行为控制线程中的指令处理状态机对所述目标指令存储变量对应的指令处理状态进行调整,并通过电机组状态机处理电机组指令;
[0150] 所述驱动模块300,用于基于处理后的电机组指令对护理床中的电机进行控制。
[0151] 进一步地,所述行为控制模块200,还用于根据护理床的功能需求确定存储变量数量;建立所述存储变量数量的指令存储变量;将所述指令存储变量的初始状态设置为指令完成状态。
[0152] 本实施例的多功能护理平台公开了在通信线程接收到待执行指令时,将待执行指令存放至行为控制指令消息队列;通过行为控制线程将行为控制指令消息队列中的待执行指令存放至目标指令存储变量,目标指令存储变量为当前处于指令完成状态的存储变量;通过行为控制线程中的指令处理状态机对目标指令存储变量对应的指令处理状态进行调整,并通过电机组状态机处理电机组指令,以使驱动线程基于处理后的电机组指令对护理床中的电机进行控制;由于本实施例通过行为控制线程中的指令处理状态机对存储有待执行指令的目标指令存储变量对应的指令处理状态进行调整,并通过驱动线程基于处理后的电机组指令对护理床中的电机进行控制,从而解决了现有技术中多功能护理平台的控制系统的指令处理及控制效率低下,难以支撑多功能护理平台的控制需求的技术问题。
[0153] 基于本发明上述多功能护理平台第一实施例,提出本发明多功能护理平台的第二实施例。
[0154] 在本实施例中,所述行为控制模块200,还用于将所述目标指令存储变量对应的指令标志位设置为未执行标志;在所述目标指令存储变量处于指令完成状态时,若所述目标指令存储变量对应的指令标志位为所述未执行标志,则通过所述行为控制线程中的指令处理状态机将所述目标指令存储变量对应的指令处理状态调整为正在处理状态;在所述目标指令存储变量处于正在处理状态时,根据所述待执行指令对应的指令类型确定所述行为控制线程中的指令处理状态机的指令处理子状态机;通过所述指令处理子状态机对所述目标指令存储变量中的所述待执行指令进行处理,以调整所述目标指令存储变量对应的指令处理状态。
[0155] 进一步地,所述行为控制模块200,还用于在所述目标指令存储变量处于等待状态时,判断床椅通讯是否完成,所述床椅通讯为护理床和轮椅之间的通讯;若完成,则所述行为控制线程中的指令处理状态机将所述目标指令存储变量对应的指令处理状态调整为正在处理状态。
[0156] 进一步地,所述行为控制模块200,还用于若所述目标指令存储变量中的所述待执行指令中存在目标电机组,则通过通信接口函数向护理床发送电机组指令,并将所述目标指令存储变量对应的指令处理状态调整为等待状态,所述目标电机组为与所述护理床相关的电机组;通过所述指令处理子状态机根据所述待执行指令和当前平台状态将所述电机组指令发送至所述驱动线程,所述驱动线程在接收到所述电机组指令时反馈电机组执行结果;根据所述电机组执行结果调整所述指令处理状态。
[0157] 本实施例在目标指令存储变量处于指令完成状态时,若目标指令存储变量对应的指令标志位为未执行标志,则通过行为控制线程中的指令处理状态机将目标指令存储变量对应的指令处理状态调整为正在处理状态,在目标指令存储变量处于正在处理状态时,根据待执行指令对应的指令类型确定行为控制线程中的指令处理状态机的指令处理子状态机,并通过指令处理子状态机对目标指令存储变量中的待执行指令进行处理,以调整所述目标指令存储变量对应的指令处理状态,从而可以基于单一线程实现多条指令的非阻塞处理,进而提升指令处理效率。
[0158] 基于上述各装置实施例,提出本发明多功能护理平台的第三实施例。
[0159] 在本实施例中,所述驱动模块300,还用于在调整后的指令处理状态为正在处理状态时,确定护理床中的电机组对应的电机组存储变量状态;若所述电机组存储变量状态为电机组空闲状态,则通过电机组状态机判断所述电机组是否接收到新的电机组指令;若是,则判断所述新的电机组指令中的目标位置是否等于当前位置;若否,则调用驱动接口函数启动所述电机组对应的所有执行机构,以对护理床中的电机进行控制。
[0160] 进一步地,所述驱动模块300,还用于若所述电机组存储变量状态为电机组启动状态,则在所述电机组到达目标位置或所述电机组出现故障时,调用驱动接口函数停止所述电机组对应的所有执行机构,以对护理床中的电机进行控制。
[0161] 进一步地,所述驱动模块300,还用于若所述电机组存储变量状态为电机组停止状态,则判断所述电机组是否达到目标位置且停止;若是,则向所述指令处理状态机反馈电机组指令完成信息;或,若否,则向所述指令处理状态机反馈电机组停止信息。
[0162] 进一步地,所述驱动模块300,还用于若所述电机组存储变量状态为电机组故障状态,则判断所述电机组中的故障是否清除;若是,则将所述电机组存储变量状态切换为电机组启动状态。
[0163] 本实施例在调整后的指令处理状态为正在处理状态时,确定护理床中的电机组对应的电机组存储变量状态,若电机组存储变量状态为电机组空闲状态,则判断电机组是否接收到新的电机组指令,若是,则判断新的电机组指令中的目标位置是否等于当前位置,若否,则调用驱动接口函数启动电机组对应的所有执行机构,以对护理床中的电机进行控制,从而可以在降低固件架构复杂度的同时提升指令处理效率,保证用户操作使用感受。
[0164] 需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
[0165] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0166] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器/随机存取存储器、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0167] 以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
QQ群二维码
意见反馈