发明内容
针对目前自动化立体仓库软件和电气程序的开发与调试过程中存在的不足,本发明提出了一种可编程逻辑控制器的监控方法及其监控系统,用于自动化立体仓库设备上负责处理上位机与PLC设备之间通讯并控制堆垛机与输送机工作。
一种可编程逻辑控制器的监控方法,具体包括以下步骤:
步骤1、为当前项目生成一份配置文件,对配置文件进行格式验证,出现格式错误提示用户修改错误,验证通过则保存该配置文件。
步骤2、读取步骤1生成的配置文件,对配置文件进行逻辑验证。
步骤3、在配置文件逻辑验证成功后,在内存中保存该配置文件,并根据配置文件,对UI元素进行赋值或修改。
步骤4、对配置文件进行解析,得到设备之间组合工作的路径。
步骤5、当得到所有设备之间组合工作的路径之后,结合配置文件中各个设备的信息,得出每个路径对应的设备电报;所述的设备电报是向可编程逻辑控制器发送的控制设备运转的通讯电报。
步骤6、选择对设备的操作方式:堆垛机单机自动或者联机自动,若用户选择堆垛机单机自动,进入步骤7执行,若用户选择联机自动,进入步骤8执行;所述的堆垛机单机自动表示仅控制堆垛机工作,所述的联机自动表示需要堆垛机与输送机设备组合使用完成一条任务。
步骤7、采用堆垛机单机自动的方式进行任务的操作,具体包括控制堆垛机进行入库与出库两种操作;若在执行过程中出现故障,发送包含故障原因的故障电报,并发送进入步骤9执行,若执行过程中没有出现故障,则在执行完毕,进入步骤10执行。
步骤8、采用联机自动的方式进行操作,具体包括有入库、出库与拣选三种操作;若在执行过程中出现故障,发送包含故障原因的故障电报,并进入步骤9执行,若执行过程中没有出现故障,则在执行完毕,进入步骤10执行。
步骤9、若出现故障,解析故障电报得到报警信息,然后用户根据报警信息进行故障解除,解除故障后继续进行未完成的工作任务。
步骤10、根据任务的任务来源,进行反馈:若该任务是立体仓库库存管理系统所下达的,那么需要进行反馈,反馈信息只有成功,执行失败的时候将不进行反馈。
一种可编程逻辑控制器的监控系统,包括组态配置模块、逻辑处理模块与主界面模块。
所述的组态配置模块用于为当前项目生成配置文件,并对该配置文件进行格式验证,出现格式错误提示用户修改错误,验证通过则保存该配置文件。
所述的逻辑处理模块对该配置文件进行逻辑验证,若验证有误,提示用户修改,验证无误则对配置文件进行解析,得到设备之间组合工作的路径,并结合配置文件中各个设备的信息,得出每个路径对应的设备电报;同时,逻辑处理模块实现了联机自动与堆垛机单机自动两种对设备的操作方式;所述的堆垛机单机自动的操作方式包括控制堆垛机进行入库与出库两种操作,所述的联机自动的操作方式包括入库、出库与拣选三种操作。
所述的主界面模块提供了可视化的界面,根据已通过逻辑验证的配置文件对相关的UI元素进行赋值或者修改,主界面模块为用户提供了两种对设备的操作方式:联机自动与堆垛机单机自动,用户选择某种操作方式后,主界面模块调用逻辑处理模块进行相应的设备操作;主界面模块提供的可视化界面上显示任务列表、设备状态以及设备电报给用户,用户能在该界面上新建任务、删除或者批量删除任务以及设置任务优先执行顺序。
本发明的优点与积极效果在于:
(1)通过配置文件,得到立体仓库设备的数量与设备之间的逻辑关系及工作流程,使得同一套系统或者方法可以应用在不同设备结构与工作流程的立体仓库中,而不需要对程序的代码进行修改,具有复用性强、具有较短的开发与调试周期的优点;
(2)本发明中对通过程序自动获取处理设备之间组合工作的路径,使得电气程序只需要设计控制设备电机的运行方式即可,具有降低电气程序开发难度、缩短电气程序调式时间的优点。
具体实施方式
下面将结合附图和实施例对本发明作进一步的详细说明。
如图1所示,本发明的PLC的监控方法具体包括如下内容:
步骤1:生成配置文件。本发明中配置文件的生成过程是:在图形化界面,用户根据立体仓库设备的数量和设备之间的逻辑关系,通过图形拖拽的方式,把代表立体仓库设备的图形符合组合起来,并填写或选择每台设备的属性,完成配置文件的生成。如图2所示,图2中,加方框的堆的图形表示堆垛机,双向箭头表示输送机,箭头的方向表示输送机的运行方向,横向双向箭头表示辊子机,纵向双向箭头表示链条机,空白方形表示升降台。每一台设备都具有一些属性,这些属性需要用户手动输入和选择。输送机的属性包括电机编号、名称和类别,所述类别包括三类:辊子机、链条机和升降台,此外,输送机的属性还包括输送机两端的属性:端口ID、是否为升降台、是否为入库端口、是否为出库端口、是否为取货端口、是否为卸货端口、既为入库端口又为出库端口或者既为取货端口又为卸货端口、本端口前方向端口ID、本端口后方向端口ID、本端口左方向端口ID、本端口右方向端口ID、本端口上方向端口ID、以及本端口下方向端口ID。通过设置输送机两端的属性可以将输送机设备各种工作的线路配置出,如果是升降台则有升降电机编号、辊子电机编号,如果是取货或者卸货口则有该端口对应的货架编号。堆垛机的属性包括堆垛机编号、堆垛机名称、对应输送机的取货端口ID、应输送机的卸货端口ID、堆垛机在OPC(Object Linking and Embedingfor Process Control,用于过程控制的对象连接与嵌入)中的地址。当用户将相应的属性设置完成之后点击保存按钮,将该配置文件保存到一个选定的路径之中。在保存配置文件时,会对一些设备属性进行格式上的验证,若出现错误,提示用户修改错误。本发明方法通过图形拖拽、为图形配置属性的方式来生成配置文件,降低了生成配置文件的难度,减少了配置错误的发生。
步骤2:读取配置文件,并对配置文件中设备之间的逻辑关系进行验证,验证成功后会继续执行下一步骤,如果验证失败则提示用户错误原因,终止执行。
具体验证的过程如图3所示,包括下面步骤:
步骤2.1、验证开始,首先判断配置文件中是否至少存在一台堆垛机、一个入库口、一个出库口、一个取货口以及一个卸货口,如果缺少其中任意一台设备则验证失败,转步骤2.6。若存在,执行下一步。
步骤2.2、判断入库口与取货口之间的设备能否建立联系,如果不能则验证失败,转步骤2.6。若能,执行下一步。
步骤2.3、判断卸货口与出库口之间的设备能否建立联系,如果不能则验证失败,转步骤2.6,若能,执行下一步。
步骤2.4、由于出库口可以做拣选,即能入库,所以判断出库口与取货口之间的设备能否正常建立联系,如果不能则验证失败,转步骤2.6,若能执行下一步。
步骤2.5、由于入库口也可以做出库,所以判断卸货口与入库口之间的设备能否正常建立联系,如果不能则验证失败,执行下一步,如果能,则执行步骤2.7。
步骤2.6、提示用户配置文件出现错误,并给出错误原因。
步骤2.7、验证结束。
步骤3:配置文件逻辑验证成功之后,将配置文件中的信息保存在内存中,并根据配置文件中的信息对相关的UI(User Interface,用户界面)元素进行赋值或者修改。所述的UI元素是指出库口、入库口以及堆垛机状态等。如:配置文件中共有4台堆垛机,那么在主界面中就会出现4个显示堆垛机状态的面板。配置文件中共有1号和5号两个入库口或者出库口,那么在主界面进行入库或者出库操作时,就会有1号和5号两个入库口或者出库口让用户进行选择。
步骤4:对配置文件进行解析,并得到设备之间组合工作的路径。输送机每台设备之间的端口号都是有联系的,通过了步骤2的验证,说明入库口-取货口、卸货口-出库口、卸货口-入库口、出库口-取货口之间都是可以建立联系的。本发明通过采用递归方式遍历设备端口,得到出上面四个端口与端口之间的联系路径。如:入库口-取货口,入库端口ID为1,入库口的前方向端口ID为2,2号端口的前方向端口ID为7,7号端口的前方向端口ID为8,8号端口为取货口,通过递归方式遍历设备端口,最后能够得到1号入库口-8号取货口的设备运行路径为“1-2-7-8”。
步骤5:当得到所有设备之间组合工作的路径之后,结合配置文件中各个设备的信息,得出每个路径对应的设备电报,所述的设备电报就是向PLC发送的控制设备运转的通讯电报设备电报的定义格式如图4所示,该电报中包括信息电报和状态电报,图4中是进行入库的一个设备电报的示例。所述的设备电报,针对所有路径,得到的过程是类似的,以完成入库口-取货口的路径的任务为例,具体得到设备电报的方法如下:为完成该任务可能需要多台输送机设备组合运行来完成,因为货物在输送机设备上最多会改变两次运行方向,即纵向运行,横向运行,纵向运行,当然也可以只改变一次运行方向或者不改变运行方向,在不改变运行方向的情况,一次向对应设备的PLC发送所有的设备电报,在改变一次或者两次运行方向的情况,在每一个方向运行初,发送设备电报给对应设备的PLC控制设备运行,在运行结束后发送设备电报给对应设备的PLC让设备停止运行。如改变一次方向的为横向运行,纵向运行,横向运行时发送一次设备电报,运行结束发送设备电报让设备停止运行,纵向运行时发送一次设备电报,运行结束发送设备电报让设备停止运行。
本发明方法集成了原电气程序中的逻辑部分,简化了电气程序的开发难度,并且这部分逻辑可以在不同项目中不修改程序代码就可以正式使用。
步骤6:选择对设备的操作方式,本发明的方法中对设备的操作有两种方式,分别为联机自动与堆垛机单机自动,堆垛机单机自动表示仅控制堆垛机工作,联机自动表示执行一条任务需要堆垛机与输送机设备组合使用完成任务。若用户选择堆垛机单机自动,进入步骤7执行,若用户选择联机自动,进入步骤8执行。
步骤7:采用堆垛机单机自动的方式进行任务的操作。所述的堆垛机单机自动的操作方式下有控制堆垛机进行入库与出库两种操作,具体流程如图5与图6所示。
如图5所示为入库工作过程:
步骤7a、根据堆垛机编号选择要操作的堆垛机,然后选择入库操作;
步骤7b、由用户输入并提交入库的货位地址;
步骤7c、对货位地址进行验证,保证货位地址的格式正确,保证所选堆垛机与货位地址之间的逻辑关系正确,若验证失败提示用户错误的原因,转步骤7b执行,若验证成功执行步骤7d;
步骤7d、保存所建立的入库任务到任务列表;
步骤7e、向所选择的堆垛机的PLC发送设备电报控制设备入库;当收到所选堆垛机PLC的“工作完成”之后,删除任务列表中的此条任务,到此堆垛机单机入库操作结束。
出库操作与入库操作基本相同,如图6所示,在选择操作时选择“出库”即可。
若在执行过程中出现故障,发送包含故障原因的故障电报,并进入步骤9执行,若执行过程中没有出现故障,则在执行完毕,进入步骤10执行。
步骤8:采用联机自动的方式进行操作所述的联机自动的方式下有入库、出库、拣选三种操作。
如图7所示,以入库操作为例说明,入库操作过程为:输入并提交入库的货位地址,对货位地址进行验证,保证货位地址的格式正确,保证所选堆垛机与货位地址之间的逻辑关系正确,验证不合格提示错误原因,验证成功之后在任务列表中生成一条入库任务。任务下达完毕之后,在入库口处进行货物组盘,组盘后点击输送机设备上的入库按钮,输送机的PLC向本发明方法发送“准备入库”的电报,系统会判断是否允许做入库准备,当任务列表中存在与申请开始入库的操作口存在冲突的以进行任务,则将进行等待,直到冲突任务执行完毕。在无冲突任务或者冲突任务执行完毕后,回复PLC“允许开始入库”的电报,PLC对货物的长宽高尺寸进行检测,并读取托盘的条码,检测无误后PLC会发送“入库申请”电报,本发明方法会在接到该“入库申请”电报后从任务列表中查询是否存在该任务,如果不存在则回复给PLC“无任务”电报,输送机将托盘退回到入库口,如果存在该任务,根据起始端口ID与终到端口ID在已得到的所有路径中找到该路径,并根据该路径得到设备电报,在给PLC发送设备电报前会判断是否有冲突任务存在,如果有则等待冲突任务完成后再发送,若没有则直接给PLC发送设备电报,然后再接收到PLC返回的设备电报,发送执行下一步操作的设备电报给PLC,如此控制设备运行,直到将货物送到指定的终止台,即取货口,然后判断是否要操作堆垛机工作,若否,入库操作解释,若是,则给该取货口对应的堆垛机发送“入库”的电报,当堆垛机完成任务之后回复“工作完成”电报,入库操作结束。出库:与入库顺序相反,先向堆垛机发送电报,再向输送机发送电报。拣选:先做出库,然后再进行回库操作后,再做入库。
若在执行过程中出现故障,发送包含故障原因的故障电报,并进入步骤9执行,若执行过程中没有出现故障,则在执行完毕,进入步骤10执行。
步骤9:若出现故障,则用户根据报警信息进行故障解除,解除故障后继续进行未完成的工作任务。例如,当堆垛机出现故障后,该堆垛机的PLC会发送一条故障电报,本发明方法会解析该故障电报,并将故障原因显示在堆垛机状态中,用户发现设备报警会,根据找到故障原因,将问题解决完毕后,在点击一个“解除故障”按钮,就会将报警的堆垛机故障解除,设备停止报警,并继续工作。
步骤10:本发明方法的任务列表中的任务都存在一个任务来源的信息,在任务完成后,根据该任务的任务来源,进行反馈。如果该任务是立体仓库库存管理系统所下达的,那么需要进行反馈,反馈信息只有“成功”,执行失败的时候将不进行反馈,立体仓库库存管理系统中管理机部分的数据需要用户手动进行修改,具体的反馈方式与库存管理系统相协定。
本发明的一种可编程逻辑控制器的监控系统,如图8所示,通过工业网与PLC设备进行信息交互,通过以太网与数据库服务器以及立体仓库库存管理系统进行信息交互。如图9所示,本发明的一种可编程逻辑控制器的监控系统,包括组态配置模块1、逻辑处理模块2、主界面模块3与系统配置模块4。
组件配置模块1提供了图形化界面,使得用户可以直观地通过图形拖曳的方式,把代表立体仓库设备的图形符合组合起来,并填写或选择每台设备的属性,为当前项目生成配置文件。组件配置模块1还提供了对配置文件进行格式验证的功能,在配置文件出现格式错误时候提示用户修改错误,在验证通过后保存配置文件。
逻辑处理模块2对组件配置模块1保存的配置文件进行逻辑验证,若验证有误,提示用户修改,验证无误后对配置文件进行解析,得到设备之间组合工作的路径,并结合配置文件中各个设备的信息,得出每个路径对应的设备电报。设备电报的格式如图4所示。逻辑处理模块2还实现了联机自动与堆垛机单机自动两种对设备操作的方式。具体操作的过程同上面步骤7与步骤8所述的操作过程。调用OPC操作以及PLCDevice操作的接口就是在逻辑处理模块2中实现的,所述的PLCDevice操作是指主要实现读写设备电报的前期和后期处理。逻辑处理模块2中具体还实现了堆垛机类、输送机类以及监控类,堆垛机类与输送机类继承自PLCDevice,用来实现设备电报的处理以及添加事件。监控类用于实现设备的业务逻辑事件处理、查找可执行的任务并下发、修改任务状态、获取任务以及向数据库反馈设备状态。
具体在完成某路径的任务时,设备电报的具体发送过程是:(1)针对货物在输送机设备上不改变运行方向完成任务的情况,逻辑处理模块2一次向对应设备的PLC发送所有的设备电报;(2)针对货物在输送机设备上改变一次或者两次运行方向完成任务的情况,在每一个方向运行初,逻辑处理模块2发送设备电报给对应设备的PLC控制设备运行,在运行结束后,逻辑处理模块2发送设备电报给对应设备的PLC让设备停止运行。
主界面模块3提供了可视化的界面给用户,在逻辑处理模块2对配置文件逻辑验证成功之后,根据配置文件中的信息对相关的UI元素进行赋值或者修改。主界面模块3还为用户提供了两种对设备的操作方式:联机自动与堆垛机单机自动。主界面模块3根据用户选择的对设备的操作方式调用逻辑处理模块2进行相应的设备操作,同时主界面模块3上还可以显示任务列表、设备状态以及设备电报,用户可在该可视化的界面上新建任务、删除或者批量删除任务以及设置任务优先执行顺序等。
系统配置模块4主要提供了两项功能:数据库的设定以及摄像头IP地址的设定。