基于双层转盘的并行落药控制方法、以及用于双层转盘的并
行落药控制的***及装置
技术领域
本发明涉及设备自动化技术领域,特别是一种基于双层转盘的并行落药控制的实现方法、控制方法以及用于双层转盘的并行落药控制的***及装置。
背景技术
随着科技的发展,落药、配药的智能化、自动化控制已经成为一种发展趋势。但由于实现自动化配药和落药不但需要硬件的支撑,同时还需要软件控制方法的辅助,实现起来相对要复杂很多。因而,虽然设备智能化的发展理念已经提出有一段时间,但在实际实现过程中,目前进行落药控制依然只能达到半自动化的程度,即目前普遍的落药控制都是由人工按处方将盛放不同味药的药瓶放置在落药控制台上,然后在落药控制台下部署可循环转动的储药装置,通过控制储药装置在落药控制台下方循环转动,实现自动落药,并在某一储药格的药配齐后,由人工依次取走。可见,现有技术虽然在一定程度上实现了落药的自动化,但是还存在以下缺陷:
第一,放药过程依然需要人工放置,对于医院的密集业务量来说,会耗费大量人力,且会影响配药效率;
第二,在机械控制阶段,需要控制储药装置循环转动,为了避免重复落药和错误落药,需要做的机械控制操作相对繁琐、复杂,且容易出错;
第三,由于落药控制台是根据储药装置的循环转动来落药的,落药控制台的落药控制本身不够智能,在某一包药完全配好后,仍然需要人工的辅助才能保证在落好药时及时取走封装,不然就会容易产生重复落药的情况。
发明内容
本发明的第一目的在于提供一种能够在机械动作最少的情况下,实现自动落药控制的方案,以缩短处方配药时间,提高处方配药效率。
本发明的第二目的还在于在机械动作最少的情况下,实现上转盘中最多的药瓶能够同时并行落药,进一步缩短处方配药时间,提高处方配药效率。
根据本发明的第一方面,提供了一种基于双层转盘的并行落药控制的实现方法,其中,该方法中涉及的双层转盘包括设置有落药控制机构的上转盘和设置有储药格的下转盘,上转盘设置有用于向落药控制机构放置或取走药瓶的操作位置,该方法包括
根据配置的双层转盘的机械参数确定落药控制周期;
在每个落药控制周期内,依次循环进行如下操作,直至达到落药控制周期:确定落药位置进行落药控制操作;在落药操作后,根据双层转盘的机械参数生成第一转动控制信号控制下转盘转动;
在达到落药控制周期时,进行如下操作:确定落药位置进行落药控制操作;在落药操作后,根据双层转盘的机械参数生成第二转动控制信号同时控制上转盘和下转盘转动;
其中,第一转动控制信号配置为使得仅仅下转盘向预设方向转动预定数量的储药格;第二转动控制信号配置为使得下转盘的储药格转动回初始位置,且使得上转盘的操作位置处的落药控制机构更新为在预设方向的相反方向上位于当前落药控制机构的相邻位置处的落药控制机构。
根据本发明的第二方面,提供了一种基于双层转盘的并行落药控制方法,该方法中提及的双层转盘包括设置有落药控制机构的上转盘、设置有储药格的下转盘和设置于上转盘的操作位置处用于向落药控制机构放置或取走药瓶的机械臂,该方法包括
根据双层转盘的机械参数确定落药控制周期,机械参数包括上转盘上设置的落药控制机构的数量m、下转盘上设置的储药格的数量n、以及每个落药控制机构控制的储药格的数量x,确定的落药控制周期为k=n/(m*x);
响应于启动当前落药控制周期的指令,根据当前处于操作位置处的落药控制机构的药瓶放置情况,控制机械臂向当前处于操作位置的落药控制机构放置药瓶或取走药瓶,并启动当前周期内的落药控制操作,其实现为包括:在该落药控制周期内,保持操作位置处的当前落药控制机构不变,控制落药控制机构进行k次落药操作;其中,在前k-1次落药操作中,在每次落药操作后,控制下转盘向预设方向转动x个储药格;在第k次落药操作之后,控制下转盘的储药格转动回初始位置,并控制上转盘转动,使得上转盘的操作位置处的落药控制机构更新为在预设方向的相反方向上位于当前落药控制机构的相邻位置处的落药控制机构。
根据本发明的第三个方面,提供了一种用于双层转盘的并行落药控制装置,其所应用在的双层转盘包括设置有落药控制机构的上转盘、设置有储药格的下转盘和设置于上转盘的操作位置处用于向落药控制机构放置或取走药瓶的机械臂,其中,该装置包括
用于存储配置信息的存储模块;
第一控制模块,用于根据获取到的处方信息和当前操作位置处的落药控制机构,生成用于向当前处于操作位置的落药控制机构放置药瓶或取走药瓶的第一控制信号输出至机械臂;
第二控制模块,用于根据第一控制信号和配置信息确定落药控制周期和落药位置,并根据确定的落药控制周期和落药位置生成用于进行落药控制操作的第二控制信号分别输出至相应的落药控制机构;和
第三控制模块,用于根据第二控制信号和配置信息生成第一转动控制信号或第二转动控制信号输出至双转盘;其中,第一转动控制信号配置为使得仅仅下转盘向预设方向转动预定数量的储药格;第二转动控制信号配置为使得下转盘的储药格转动回初始位置,且使得上转盘的操作位置处的落药控制机构更新为在预设方向的相反方向上位于当前落药控制机构的相邻位置处的落药控制机构。
根据本发明的第四个方面,提供了一种用于双层转盘的并行落药控制***,其包括双层转盘和控制装置,其中,
双层转盘包括
设置有落药控制机构的上转盘;
设置有储药格的下转盘;和
设置于上转盘的操作位置处用于向落药控制机构放置或取走药瓶的机械臂;
控制装置包括
用于存储配置信息的存储模块,其中,配置信息包括双层转盘的机械参数、以及落药控制机构和储药格的编号;
第一控制模块,用于根据获取到的处方信息和当前操作位置处的落药控制机构,生成第一控制信号输出至机械臂;机械臂根据第一控制信号向当前处于操作位置的落药控制机构放置药瓶或取走药瓶,并输出操作反馈信号至控制装置;
第二控制模块,用于根据第一控制信号和机械臂的反馈信号获取落药控制信息,根据落药控制信息确定落药控制周期和落药位置,并根据确定的落药控制周期和落药位置生成第二控制信号分别输出至相应的落药控制机构;相应的落药控制机构分别根据第二控制信号进行落药动作,并输出动作反馈信号至所述控制装置;和
第三控制模块,用于根据第二控制信号和落药控制机构的反馈信号获取落药控制信息,根据落药控制信息生成第一转动控制信号或第二转动控制信号输出至双转盘;双转盘根据第一转动控制信号驱动下转盘转动,或根据第二转动控制信号驱动上转盘和下转盘同时转动;
其中,第一转动控制信号配置为使得仅仅下转盘向预设方向转动预定数量的储药格;第二转动控制信号配置为使得下转盘的储药格转动回初始位置,且使得上转盘的操作位置处的落药控制机构更新为在预设方向的相反方向上位于当前落药控制机构的相邻位置处的落药控制机构。
根据本发明的第五个方面,提供了一种电子设备,其包括:至少一个处理器,以及与至少一个处理器通信连接的存储器,其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述方法的步骤。
根据本发明的第六个方面,提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。
通过本发明提供的方法、装置和***,机械臂只需要在操作位置进行简单的取放药瓶的动作即可,极大节约机械控制转换时间,相对计算机微秒级的处理速度,减少机械控制时间,能够大幅缩短配药时间。而且,根据该方案,在每个落药控制周期内,操作位置处的落药控制机构上的药会随着下转盘的转动被配置到相应的储药格,之后就会将操作位置处的落药控制机构调整为新的落药机构,这样在一个落药控制周期内,操作位置处的落药控制机构的落药情况是清楚明了的,不但方便机械臂进行取放药瓶的操作,而且方便标记药瓶的位置和落药情况,便于基于处方信息进行自动落药控制,减少人工干预,进一步提高效率。
附图说明
图1为本发明一种实施方式的基于双层转盘的并行落药控制的实现方法的方法流程图;
图2为本发明一种实施方式的图1中提及的双层转盘的结构示意图;
图3为本发明一种实施方式的图1所示的方法中的确定落药位置的方法流程图;
图4为处于落药控制周期内的某一次落药时的双层转盘的位置展示状态示例图;
图5为处于落药控制周期内的某一次落药时的双层转盘的位置展示状态示例图;
图6为处于落药控制周期内的某一次落药时的双层转盘的位置展示状态示例图;
图7为本发明一种实施方式的基于双层转盘的并行落药控制方法的方法流程图;
图8为本发明一种实施方式的用于双层转盘的并行落药控制的装置框图;
图9为本发明一种实施方式的用于双层转盘的并行落药控制的***的结构示意图;
图10为本发明一种实施方式的电子设备的框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
在本发明中,“模块”、“装置”、“***”等指应用于计算机的相关实体,如硬件、硬件和软件的组合、软件或执行中的软件等。详细地说,例如,元件可以、但不限于是运行于处理器的过程、处理器、对象、可执行元件、执行线程、程序和/或计算机。还有,运行于服务器上的应用程序或脚本程序、服务器都可以是元件。一个或多个元件可在执行的过程和/或线程中,并且元件可以在一台计算机上本地化和/或分布在两台或多台计算机之间,并可以由各种计算机可读介质运行。元件还可以根据具有一个或多个数据包的信号,例如,来自一个与本地***、分布式***中另一元件交互的,和/或在因特网的网络通过信号与其它***交互的数据的信号通过本地和/或远程过程来进行通信。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”,不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
下面结合附图对本发明作进一步详细的说明。
图1示意性地显示了根据本发明一实施方式的基于双层转盘的并行落药控制的实现方法的方法流程,图2示意性地显示了一种实施方式的该双层转盘的结构示意图。
参考图1和2所示,该双层转盘包括设置有落药控制机构10的上转盘1和设置有储药格20的下转盘2,且上转盘设置有用于放置或取走药瓶的操作位置11,在具体实现中可以通过在该位置处设置用于向落药控制机构放置或取走药瓶的机械臂(图未示出)来实现取放药瓶的操作,也可以采用人工取放药瓶或其他取放药瓶的操作方式,本发明实施例以在该操作位置处设置用于向落药控制机构放置或取走药瓶的机械臂为例进行说明。参考图所示,该基于该双层转盘进行并行落药控制的实现方法包括如下步骤:
步骤S101:根据配置的双层转盘的机械参数确定落药控制周期。参照图2所示的结构示意图可以知道,在该双层转盘的结构中,上转盘1上均匀分布的落药控制机构10会向下转盘2上均匀分布的储药格20中落药,以实现配药,这样在落药控制机构10中放置的药剂就需要根据处方需求来设置,而储药格20的每个储药格就对应了一包处方配药。由于根据具体需求来设计该机械结构时,在机械结构上是能够实现将落药控制机构对应于预设数量的储药格的,也就是说在各自的圆盘上均匀分布的落药控制机构和储药格的数量是可以根据需求配置,也就是说双层转盘会存在根据需求设计的机械参数,示例性地,设置的机械参数可以包括上转盘上设置的落药控制机构的数量m和下转盘上设置的储药格的数量n,而每个落药控制机构对应的储药格的数量可以不是一一对应关系,根据需求还可以是一对多的关系,因而涉及的机械参数还可以包括每个落药控制机构控制的储药格的数量x。这样,上转盘上各落药控制机构与转盘圆心的夹角为(360/m)°,下转盘各储药格与转盘圆心的夹角为(360/n)°,基于数学理论知识可以知道两个落药控制机构之间布置的储药格的数量为n/m个。基于此,发明人想到如果为每个落药控制机构设置一个落药控制周期,那么就可以在保证落药控制机构不动的情况下,对某一落药控制机构的落药范围进行控制,使其能够将其上放置的药剂落入在两个落药控制机构之间的储药格中,而基于对所有落药控制机构的落药控制周期的分别控制,就能够实现在保证最少机械操作的基础上,自动实现处方配药。而由于在整个自动化实现中,计算机处理速度都是在微秒级的,相对耗时最长的是机械操作的时间,因而如果基于该构思使得机械操作降至最低,那么就能够有效保证处方配药时间被大幅缩短。因而,发明人想到将上述数学理论知识应用在该机械结构上,从而为每个落药控制机构确定出落药控制周期为k=n/(m*x),这样在一个落药控制周期内,进行k次落药,就可以将某一落药控制机构上的药剂依次落入到与之相邻的落药控制机构之间的储药格中,示例性地,参考图2所示的结构下,在落药控制周期内进行k次落药,就可以将落药控制机构A1中的药剂落入落药控制机构A1至落药控制机构A8之间的储药格1~储药格4中。这样通过将机械臂设置在操作位置,就可以对操作位置处的落药控制机构按落药控制周期进行落药控制,从而达到简化机械臂的取放药瓶的操作。参考图2所示,本实施例假设图中编号为A1的落药控制机构当前所处的位置即为操作位置。
步骤S102A:响应于接收到的处方信息控制落药控制周期开启,并在判断需要开启一个落药控制周期时,记录当前落药控制周期的信息,并对该周期的落药次数进行初始化(如根据需求初始化为零),之后进行步骤S102B。示例性地,记录的当前落药控制周期的信息包括其对应的操作位置处的落药控制机构及各落药控制机构在该处方过程中经历的所有落药控制周期的周期次数,其中,该周期次数可以用于辅助判断落药位置,每个落药控制机构在某一落药控制周期如果进行了落药,就对其周期次数进行累加计算(即该周期次数的计算包括落药控制机构处于操作位置时自己的落药控制周期,也包括在其他落药控制机构处于操作位置时该落药控制机构也需要落药时经历的落药控制周期),直至达到处方所需的周期次数,将不再进行当前药剂的落药。在接收到处方信息需要进行配药时,会根据处方信息来判断是否开启落药控制周期,如果判断要开启落药控制周期,则会在落药控制周期内对操作位置处的落药控制机构进行落药控制操作。
根据处方信息来判断是否开启落药控制周期则是根据处方信息来判断需要配药的包数,示例性地,处方信息中会包括有需要配药的帖数,每帖药对应有包数,如一帖对应早晚各一包即两包药,那么就可以根据处方信息中配药的帖数和用量计算出需要配药的包数。同时,根据处方信息还可以获取需要配药的药剂种类数量,在本发明实施例的机械结构下,是将不同种类的药剂分别放置各个落药控制机构来实现分别落药的,而且,本发明实施例的方案中,机械臂每次仅仅对操作位置处的落药控制机构进行取放药瓶的操作,因而就需要根据需要配药的药剂种类数量,来依次操作对应的药剂药瓶使其依次被放置在操作位置处的对应落药控制机构上或使落药完成的药剂药瓶依次从操作位置处取下。因而,就可以根据处方信息中的需要配药的药剂种类数量、需要配药的包数,并结合记录的当前操作位置处的落药控制机构上的药剂种类(在每次进行取放药操作时记录和更新当前操作位置处的落药控制机构上的药剂种类),来判断当前操作位置处的落药控制机构是否需要再进行一个周期的落药控制,需要开启落药控制周期的情况包括两种:第一种是如果当前操作位置处的落药控制机构尚未放置某一药剂(即配药的药剂种类尚未放完),那么就需要控制机械臂向当前操作位置处的落药控制机构放置某一药剂对应的药瓶,并对该落药控制机构开启一个周期的落药控制;第二种则是,当前操作位置处的落药控制机构上已经放置了药瓶且该药瓶的药剂已经进行了落药(即该落药控制机构在该次处方配药过程中,并非首次位于操作位置处),且所有的药剂的药瓶都已经放置到了落药控制机构上,但尚有某些种类的药剂的配药包数未满足处方要求(结合各个落药控制机构已经经历的周期次数和本处方过程需要经历的周期次数进行判断,在未达到需要的周期次数时,说明尚未满足处方要求),此时就需要控制机械臂从该操作位置的落药控制机构取走已完成落药的药瓶,并开启一个周期的落药控制,以使得其他种类的药剂能继续被落入对应的储药格。
其中,在具体实现中,处方信息可以通过下述几种方式获取到:
第一种方式是通过提供的数据接口服务,使得产生处方的his(hospitalinformation system,医院信息管理***)软件***在其生成处方后,能够通过利用该数据接口服务将处方信息推送到目标程序;
第二种方式为,由产生处方的his软件的供应商提供获取其处方的接口(如视图、dll、webservice、http等方式),在具体应用时,通过编写程序来调用供应商提供的数据接口,以主动获取处方信息;
第三种方式为,由产生处方的his软件的供应商提供导出的处方信息文本文件,在具体应用时,通过编写程序来读取该处方信息文本文件,文本格式支持txt、csv、xls、json等。
步骤S102B:在每个落药控制周期内进行判断是否在控制周期内,如果在落药控制周期Tk内,则进行步骤S103,否在进行步骤S105。其中,判断是否在落药控制周期内是对落药控制周期内的落药次数进行计数和判断,如果达到第k次落药,则判断为不在落药控制周期Tk内,如果是在第1次至第k-1次落药,则判断为在落药控制周期内。
步骤S103:确定落药位置进行落药控制操作。在开启一个落药控制周期后,会根据落药控制周期进行落药操作,为了准确地完成自动处方配药,避免重复落药和遗漏落药的情况,还需要在每次进行落药控制前,对当前落药控制周期内的落药位置进行准确判定,这也是实现自动处方配药的难点之一。本发明实施例在具体实现时,由于以每个操作位置处的落药控制机构为基准进行一个周期的落药控制,因而在判断落药位置时,只需要考虑当前操作位置处的落药控制机构放置的药剂情况和配药种类数量及包数就可以准确判断落药位置,其具体实现示例性地可以是参考图3所示的方法流程,参考图3所示,实现为包括如下步骤:
步骤S301:分别为落药控制机构和储药格编号,其中,落药控制机构和储药格的编号按相反方向设置。参考图2所示,在该实施例中,上转盘中均匀分布的落药控制机构为m=8个,下转盘中均匀分布的储药格的数量为n=32个,则分别为落药控制机构编号为A1~A8,为储药格编号为1~32,其中,落药控制机构按顺时针方向进行编号,而储药格则按逆时针方向进行编号。
步骤S302:根据获取的处方信息确定当次配药的包数和每个落药控制机构需经历的处方周期次数,并设定用于当次盛药的储药格编号。处方信息中会包括有需要配药的帖数,每帖药对应有包数,如一帖对应早晚各一包即两包药,那么就可以根据处方信息中配药的帖数和用量计算出需要配药的包数p。之后将包数与储药格按编号顺序进行对应,以设定好针对该处方进行配药时用于盛药的储药格,示例性地,当包数为14包时,将编号为1~14的储药格设定为此次配药过程中用于盛药的储药格,这样就可以通过控制落药控制机构向这些储药格落药,来实现自动配药的过程。当完成处方配药后从这些储药格中取药封装即可完成当次配药。其中,处方周期次数表示当前这个落药机构上面的药需要通过几个周期落药才能完成处方里的包数,其取值为p/(k*x)。
步骤S303:记录当前位于操作位置处的落药控制机构的编号。如前所述,本发明构思的关键点之一在于对每个操作位置处的落药控制机构进行周期性落药控制,以使得机械臂能够仅仅对操作位置处的落药控制机构进行取放药瓶的操作即可,因而在处方配药的过程中,需要记录当前操作位置处的落药控制机构,这样既能标记操作位置处的落药控制机构,又能方便将落药控制机构与放置的处方药剂对应上,从而避免重复落药。
步骤S304:获取与当前操作位置处的落药控制机构对应的储药格的编号和各落药控制机构所经历的周期次数。如前所述,每个落药控制机构根据双层转盘的机械结构设计能够对应控制x个储药格,根据对落药控制机构和储药格的编号,获取到当前处于操作位置处的落药控制机构对应控制的x个储药格的编号。其中,在上述启动落药控制周期时,会统计各落药控制机构所经历的周期次数,获取该数值即可。
步骤S305:根据当前的落药控制机构的编号、与当前操作位置处的落药控制机构对应的储药格的编号、用于当次盛药的储药格编号、每个落药控制机构控制的储药格的数量x和各落药控制机构的周期次数确定当前需要落药的落药控制机构编号。在获取了当前操作位置处的落药控制机构的编号、与操作位置处的落药控制机构对应的储药格的编号和用于当次盛药的储药格编号后,就可以根据每个落药控制机构控制的储药格的数量x,计算出以操作位置处的落药控制机构编号为基点,分别与用于当次盛药的储药格编号对应的其他落药控制机构的编号,示例性地,以图4所示的配药展示位置为例,在该实施例中,每个落药控制机构对应控制的储药格的数量为二个,上转盘的落药控制机构数量为八个,下转盘的储药格的数量为三十二个,此次处方配药需要的药包数量为十四个,设定的用于当次盛药的储药格编号为1~14,当前操作位置处的落药控制机构的编号为A1,其对应的储药格编号为A3和A4,那么由于每个落药控制机构对应二个储药格,其每两个相邻的落药控制机构之间会有二个储药格是落空的(即没有与落药控制机构对应上),那么就可以计算该次配药所用的储药格与落药控制机构的对应关系为:第3和4号储药格对应落药控制机构A1,第7和8号储药格对应落药控制机构A8,第11和12号储药格对应落药控制机构A7。而根据记录的当前操作位置处的落药控制机构上放置的药瓶情况,就可以确定出当前需要落药的落药控制机构的编号。而药瓶的放置情况可以在接收到处方信息后,针对该次处方配药过程,对每次机械臂的取放药瓶操作都进行记录,示例性地:在接收到处方信息时,视为初始化过程,初始化过程每个操作位置处的落药控制机构的编号为A1,对应的储药格都初始化为编号为1~X的储药格,这样,在首次操作时,就可以记录落药控制机构的编号及机械臂对应放置到其上的药剂,此时,其他落药控制机构上尚未放置本次处方需要的药剂,因而在首次落药控制周期内仅仅对落药控制机构A1上的药剂进行落药操作;之后会依次对其他转动到操作位置处的落药控制机构进行落药周期控制,也会按机械臂的取放药瓶情况,记录各落药控制机构的编号及其上对应的药剂放置情况(由于在落药控制机构转动到操作位置时,根据处方配置情况,可能是控制机械臂将需要配置的药剂的药瓶放置到落药控制机构上,也可能是将已经完成了处方配药完的药剂的药瓶从落药控制机构上取走,当然在取走药瓶后如果还有药剂未配置则还会控制机械臂将带配置的下一个药剂的药瓶放置到落药控制机构上,即机械臂是对操作位置的落药控制机构依次进行操作的,因而记录的药瓶放置情况可能是落药控制机构编号对应了一种药剂,也可能是落药控制机构编号对应未放置药剂,如果是放置药剂则进行落药,如果是未放置药剂则不进行落药)。这样,在计算出当次处方所用的储药格编号对应的落药控制机构编号后,就可以基于落药控制机构上的药瓶放置情况,结合各个落药控制机构的周期次数进行是否落药的判断,从而确定出最终需要落药的落药控制机构编号,例如对于图4所示的例子中计算出的编号为A1、A8和A7的落药控制机构,而根据机械臂操作记录的其上的药瓶放置情况(假设此次处方有九味药需要配药的情况),分别为:当前位置是编号为A1的落药控制机构其上放置的药剂已从第一味药剂换为第九味药剂,此时的编号为A8和A7的落药控制机构上分别是放置了第八味和第七味药剂的,此时根据记录的药瓶放置情况就可以确定能够落药的落药控制机构是A1、A8和A7,而根据计算的A1、A8和A7的落药控制机构已经经历的落药控制周期的周期次数分别为1和2次、其需要经历的处方周期次数均为14/(2*2)=3.5,就可以确定需要落药的落药控制机构是A1、A8和A7;而同样地的位置,如果此次处方仅有八味药需要配药的情况,且当前位置是编号为A1的落药控制机构第二次处于操作位置,此时记录的A1的药瓶放置情况则为空、A8和A7记录的药瓶放置情况则为分别放置了第八味和第七味药剂,因而此时根据记录的药瓶放置情况和其经历的周期次数(参照上文,各落药控制机构经历的周期次数是基于其所经历过的落药控制周期次数及其在当次落药控制周期内是否进行了落药进行累加计算得到,即每个落药控制机构在某一落药控制周期如果进行了落药,就对其周期次数进行累加计算,在该计算过程中所指的落药控制周期包括落药控制机构处于操作位置时自己的落药控制周期,也包括在其他落药控制机构处于操作位置时该落药控制机构也需要落药时经历的落药控制周期)及所需经历的处方周期次数就可以确定需要落药的落药控制机构是A8和A7;而同样的位置,如果当前位置是编号为A1的落药控制机构首次处于操作位置,是编号为A1的落药控制机构的第一个落药控制周期(此时落药控制机构A1经历的周期次数为零),那么此时的编号为A8和A7的落药控制机构上必然尚未放置药瓶(此时落药控制机构A8和A7经历的周期次数为零),即记录为初始的空置状态,那么此时根据记录的药瓶放置情况就可以确定需要落药的落药控制机构是A1。同理,对于图5所示的配药展示例,其每个落药控制机构对应控制的储药格的数量为一个,上转盘的落药控制机构数量为八个,下转盘的储药格的数量为十六个,此次处方配药需要的药包数量为十四个,设定的用于当次盛药的储药格编号为1~14,当前操作位置处的落药控制机构的编号为A1,其对应的储药格编号为2,那么由于每个落药控制机构对应一个储药格,其每两个相邻的落药控制机构之间会有一个储药格是落空的(即没有与落药控制机构对应上),那么就可以计算该次配药所用的储药格与落药控制机构的对应关系为:第2号储药格对应落药控制机构A1,第4号储药格对应落药控制机构A8,第6号储药格对应落药控制机构A7、第8号储药格对应落药控制机构A6、第10号储药格对应落药控制机构A5、第12号储药格对应落药控制机构A4、第14号储药格对应落药控制机构A3。而根据记录的当前操作位置处的落药控制机构上放置的药瓶情况为A1~A8均已放置药瓶,且落药控制机构A1放置的药剂为第九味药,再结合处方周期次数为:落药控制机构A1的第九味药经历的周期次数为零、落药控制机构A8的药剂经历的周期次数为一、落药控制机构A7的药剂经历的周期次数为二、落药控制机构A6的药剂经历的周期次数为三、落药控制机构A5的药剂经历的周期次数为四、落药控制机构A4的药剂经历的周期次数为五、落药控制机构A3的药剂经历的周期次数为六,其需经历的处方周期次数均为14/(1*2)=7,就可以确定出当前需要落药的落药控制机构的编号为:A1、A8、A7、A6、A5、A4、A3。同样地,对于图6所示的配药展示例,其每个落药控制机构对应控制的储药格的数量为一个,上转盘的落药控制机构数量为三个,下转盘的储药格的数量为九个,此次处方配药需要的药包数量为八个,设定的用于当次盛药的储药格编号为1~8,当前操作位置处的落药控制机构的编号为A1,其对应的储药格编号为1,那么由于每个落药控制机构对应一个储药格,其每两个相邻的落药控制机构之间会有两个储药格是落空的(即没有与落药控制机构对应上),那么就可以计算该次配药所用的储药格与落药控制机构的对应关系为:第1号储药格对应落药控制机构A1,第4号储药格对应落药控制机构A3,第7号储药格对应落药控制机构A2。而根据记录的当前操作位置处的落药控制机构上放置的药瓶情况为A1~A3均已放置药瓶,且落药控制机构A1放置的药剂为第四味药,再结合处方周期次数为:落药控制机构A1的第四味药经历的周期次数为零、落药控制机构A3的药剂经历的周期次数为一、落药控制机构A2的药剂经历的周期次数为二,其需经历的处方周期次数均为8/(1*3)=2.6,就可以确定出当前需要落药的落药控制机构的编号为:A1、A3和A2。
在根据上述方法过程确定了落药位置后,就可以控制相应的落药控制机构向储药格进行落药操作,进行落药操作之后进入步骤S104。在每个处方配药过程中,都可以在接收到处方信息时,先对编号以及药瓶放置情况等进行初始化,以使得每次处方配药过程都可以按上述过程进行准确判断和操作。基于上述过程描述可以知道,根据本发明实施例提供的方法,确定的当前需要落药的落药控制机构的数量最多为q个,其中,q定义为p/(k*x)向上取整的结果,p为根据获取的处方信息确定的当次配药的包数。而确定的当前需要落药的落药控制机构数量最少为0个,例如完成了当次处方配药过程时。这样,除了能够保证机械操作最少之外,还能够使得上转盘的落药控制机构可以并行落药,大幅缩短处方配药时间。
步骤S104:在落药操作后,根据双层转盘的机械参数生成第一转动控制信号控制下转盘转动。其中,第一转动控制信号配置为使得仅仅下转盘向预设方向转动预定数量的储药格。这样,在每次落药后,就可以通过转动储药格的位置,将当前的操作位置处的落药控制机构已经完成落药的那组储药格转动走,并将紧挨着该组储药格的尚未接收到当前操作位置处的落药控制机构的配药的下一组储药格转动至与操作位置对应,以便进行下一次落药,此时,根据上述算法过程可以知道其他需要落药的位置的储药格也能够刚好对应到相应的落药控制机构,由此,就可以保证操作位置处的落药控制机构在该位置尽可能多地完成一个周期的落药,也能够使得其他已经放置了药瓶的落药控制机构也有可能进行并行落药,进而也保证了在每个周期内上转盘中有最多的落药控制机构能够同时进行落药,因而既能保证机械动作最少,又能保证并行落药,大幅缩短处方配药时间。优选为了保证每个落药控制周期内,操作位置处的落药控制机构能够依次对储药格进行落药,第一转动控制信号配置为包括控制对象为下转盘、转动方向为第一方向、转动角度为第一角度,其中,第一角度为(360*x/n)°。在调整完下转盘的位置后,即进行将当前周期中的落药次数加一,然后进入步骤S102B的是否仍然在当次落药控制周期内的判断,以保证在每次落药控制周期内能够完成操作位置处的落药控制机构的k次落药操作。
步骤S105:确定落药位置进行落药控制操作,之后进行步骤S106。确定落药位置的实现过程与步骤S103相同,可以参照上文描述实现,在此不再赘述。
步骤S106:在落药操作后,根据双层转盘的机械参数生成第二转动控制信号同时控制上转盘和下转盘转动,之后进入步骤S101以根据处方信息判断是否需要继续进行落药周期控制。第二转动控制信号配置为使得下转盘的储药格转动回初始位置,且使得上转盘的操作位置处的落药控制机构更新为在预设方向的相反方向上位于所述当前落药控制机构的相邻位置处的落药控制机构。这样,就可以对下一个落药控制机构进行取放药瓶和落药周期控制,使得机械臂能够仅仅操作操作位置处的落药控制机构即可。优选地,第二转动控制信号配置为包括第一控制对象为上转盘、转动方向为第二方向、转动角度为第二角度,第二控制对象为下转盘、转动方向为第二方向、转动角度为第三角度,其中,第二方向为第一方向的相反方向,第二角度为(360/m)°,第三角度为(360*(k-1)*x/n)°。这样就可以在上一个落药控制机构的周期结束后,自动跳转到对下一个落药控制机构的落药控制,实现自动化无重复的落药配药。
以上,即是针对一个处方信息的完整的自动配药过程,参照上述实例的方法过程,可以知道,根据本发明的方案可以实现对单个落药控制机构的周期性落药控制,保证仅仅对操作位置处的落药控制机构进行取放药瓶的机械操作即可对下转盘的储药格进行无遗漏的顺序落药,保证了最少的机械操作动作,缩短处方配药时间。并且,上述方案还进一步可以实现保证尽量多的落药控制机构进行并行落药,进一步缩短处方配药时间。另外,上述处方配药过程,可以基于每个处方进行自动化控制,实现完全自动化的处方配药过程。当然,在其他实现例中,本领域技术人员也可以根据需求仅仅选用周期性落药控制的方案,而不将其应用到整个处方过程,例如仅仅进行步骤S102B~S106的过程,针对每个落药控制机构单独进行周期控制,而不基于处方信息进行完整的自动化控制,以满足个性化需求,本发明实施例对此不进行限制。通过上述方案,机械臂仅需要在在每个落药控制周期的首次落药之前,根据当前处于操作位置处的落药控制机构的药瓶放置情况控制机械臂向当前处于操作位置的落药控制机构放置药瓶或取走药瓶,机械动作非常简单。
图7示意性地显示了将上述的实现方法应用于双层转盘,以实现并行落药控制的方法流程。
参考参考图7所示,该方法包括:
步骤S501:根据所双层转盘的机械参数确定落药控制周期。机械参数包括上转盘上设置的落药控制机构的数量m、下转盘上设置的储药格的数量n、以及每个落药控制机构控制的储药格的数量x,确定的落药控制周期为k=n/(m*x)。
步骤S502:响应于启动当前落药控制周期的指令,根据当前处于操作位置处的落药控制机构的药瓶放置情况,控制机械臂向当前处于操作位置的落药控制机构放置药瓶或取走药瓶,并启动当前周期内的落药控制操作,其实现为包括:
在该落药控制周期内,保持操作位置处的当前落药控制机构不变,控制落药控制机构进行k次落药操作;其中,
在前k-1次落药操作中,在每次落药操作后,控制下转盘向预设方向转动x个储药格;
在第k次落药操作之后,控制下转盘的储药格转动回初始位置,并控制上转盘转动,使得上转盘的操作位置处的落药控制机构更新为在所述预设方向的相反方向上位于所当前落药控制机构的相邻位置处的落药控制机构。
其中,启动当前落药控制周期的指令,可以基于人工操作机械臂的取放药瓶动作来触发,也可以参照上述方案基于输入的处方信息触发,当基于处方信息时,可以实现完整的处方周期,进而自动化地完成一个处方配药过程。而控制落药控制机构进行落药操作、根据获取的处方信息启动落药控制周期的具体实现过程,均可以参照前文方法叙述,在此不再赘述。
图8示意性地显示了一种实施方式的用于双层转盘的并行落药控制装置的原理框架结构,该装置可以应用在上述的双层转盘中,以实现对双层转盘的并行落药控制。其中,参考图8所示,该装置包括
用于存储配置信息的存储模块60,存储的配置信息包括双层转盘的机械参数,示例性地包括上转盘上设置的落药控制机构的数量m和下转盘上设置的储药格的数量n,以及每个落药控制机构控制的储药格的数量x;
第一控制模块61,用于根据获取到的处方信息和当前操作位置处的落药控制机构,生成用于向当前处于操作位置的落药控制机构放置药瓶或取走药瓶的第一控制信号输出至机械臂;
第二控制模块62,用于根据第一控制信号和配置信息确定落药控制周期和落药位置,并根据确定的落药控制周期和落药位置生成用于进行落药控制操作的第二控制信号分别输出至相应的落药控制机构;和
第三控制模块63,用于根据第二控制信号和配置信息生成第一转动控制信号或第二转动控制信号输出至双转盘;其中,第一转动控制信号配置为使得仅仅下转盘向预设方向转动预定数量的储药格;第二转动控制信号配置为使得下转盘的储药格转动回初始位置,且使得上转盘的操作位置处的落药控制机构更新为在预设方向的相反方向上位于当前落药控制机构的相邻位置处的落药控制机构。
其中,第一控制信号、第二控制信号、第一转动控制信号和第二转动控制信号的格式分别与相应的机械结构的驱动机构提供的接口相适配即可,可参照相应机械结构的驱动方式的说明书来设计。第一控制信号的内容示例性地可以包括取或是放药瓶的信号、对当前操作位置的落药控制机构放置的药剂种类等,第二控制信号的内容示例性地可以包括打开及关闭落药口的信息、第一转动控制信号和第二转动控制信号包括控制对象、转动方向和转动角度等。而第一控制模块根据获取到的处方信息和当前操作位置处的落药控制机构生成第一控制信号,第二控制模块确定落药控制周期和落药位置,第三控制模块生成的第一转动控制信号和第二转动控制信号的具体内容则可以参照前文方法部分的叙述,在此不再赘述。
图9示意性地显示了一种实施方式的用于双层转盘的并行落药控制***。
参考图9所示,其包括双层转盘100和控制装置200,其中,双层转盘包括设置有落药控制机构10的上转盘1;设置有储药格20的下转盘2;和设置于上转盘1的操作位置11处用于向落药控制机构10放置或取走药瓶的机械臂(图未示出)。控制装置200包括用于存储配置信息的存储模块60,其中,配置信息包括双层转盘的机械参数;第一控制模块61,用于根据获取到的处方信息和当前操作位置处的落药控制机构,生成第一控制信号输出至机械臂;机械臂根据第一控制信号向当前处于操作位置的落药控制机构放置药瓶或取走药瓶,并输出操作反馈信号至控制装置;第二控制模块62,用于根据第一控制信号和机械臂的反馈信号获取落药控制信息,根据落药控制信息确定落药控制周期和落药位置,并根据确定的落药控制周期和落药位置生成第二控制信号分别输出至相应的落药控制机构;相应的落药控制机构分别根据第二控制信号进行落药动作,并输出动作反馈信号至控制装置;和第三控制模块63,用于根据第二控制信号和落药控制机构的反馈信号获取落药控制信息,根据落药控制信息生成第一转动控制信号或第二转动控制信号输出至双转盘;双转盘根据第一转动控制信号驱动上转盘转动,或根据第二转动控制信号驱动上转盘和下转盘同时转动。其中,第一转动控制信号配置为使得仅仅下转盘向预设方向转动预定数量的储药格;第二转动控制信号配置为使得下转盘的储药格转动回初始位置,且使得上转盘的操作位置处的落药控制机构更新为在所述预设方向的相反方向上位于所述当前落药控制机构的相邻位置处的落药控制机构。
在具体实现中,机械臂的反馈信号以及落药控制机构的反馈信号可以用于记录操作位置处的落药控制机构的药瓶放置情况及落药控制周期的落药次数,而第一控制模块根据获取到的处方信息和当前操作位置处的落药控制机构生成第一控制信号,第二控制模块确定落药控制周期和落药位置,第三控制模块生成的第一转动控制信号和第二转动控制信号的具体内容则可以参照前文方法部分的叙述,在此不再赘述。
在一些实施例中,本发明实施例提供一种非易失性计算机可读存储介质,所述存储介质中存储有一个或多个包括执行指令的程序,所述执行指令能够被电子设备(包括但不限于计算机,服务器,或者网络设备等)读取并执行,以用于执行本发明上述基于双层转盘的并行落药控制的实现方法。
在一些实施例中,本发明实施例还提供一种计算机程序产品,计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当所程序指令被计算机执行时,使计算机执行上述基于双层转盘的并行落药控制的实现方法。
在一些实施例中,本发明实施例还提供一种电子设备,其包括:至少一个处理器,以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被所述至少一个处理器执行,以使至少一个处理器能够执行上述基于双层转盘的并行落药控制的实现方法。
在一些实施例中,本发明实施例还提供一种存储介质,其上存储有计算机程序,该程序被处理器执行时能够执行上述基于双层转盘的并行落药控制的实现方法。
上述本发明实施例的基于双层转盘的并行落药控制的装置可用于执行本发明实施例的基于双层转盘的并行落药控制的实现方法,并相应的达到上述本发明实施例的实现基于双层转盘的并行落药控制的实现方法所达到的技术效果,这里不再赘述。本发明实施例中可以通过硬件处理器(hardware processor)来实现相关功能模块。
图10是本申请另一实施例提供的执行基于双层转盘的并行落药控制的实现方法的电子设备的硬件结构示意图。
参考图10所示,该设备包括:
一个或多个处理器810以及存储器820,图10中以一个处理器810为例。
执行基于双层转盘的并行落药控制的实现方法的设备还可以包括:输入装置830和输出装置840。
处理器810、存储器820、输入装置830和输出装置840可以通过总线或者其他方式连接,图4中以通过总线连接为例。
存储器820作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的基于双层转盘的并行落药控制的实现方法对应的程序指令/模块。处理器810通过运行存储在存储器820中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的基于双层转盘的并行落药控制的实现方法。
存储器820可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储根据基于双层转盘的并行落药控制的装置的使用所创建的数据等。此外,存储器820可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器820可选包括相对于处理器810远程设置的存储器,这些远程存储器可以通过网络连接至基于双层转盘的并行落药控制的装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置830可接收输入的数字或字符信息,以及产生与基于双层转盘的并行落药控制的装置的用户设置以及功能控制有关的信号。输出装置840可包括显示屏等显示设备。
上述一个或者多个模块存储在所述存储器820中,当被所述一个或者多个处理器810执行时,执行上述任意方法实施例中的基于双层转盘的并行落药控制的实现方法。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
本申请实施例的电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、***总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子装置。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。