APP下载

汽车车身分配中心监控管理系统设计与实现*

2020-12-07任泽兵盛步云殷希彦

计算机与数字工程 2020年10期
关键词:管理层车间管理系统

任泽兵 盛步云 殷希彦

(武汉理工大学机电工程学院 武汉 430070)

1 引言

随着汽车工业快速发展,消费者已不再满足于车型单一,配置千篇一律的产品,人们对汽车的个性化需求越来越强烈。个性化的汽车伴随而来的是越来越丰富的产品配置,从而导致总装车间装配线上需要的零件物料种类越来越多[1~2]。因此,生产管控模式精益化成为了个性化定制生产环境下重要的任务。传统控制方式已无法满足于汽车生产各车间越来越高的车身序列需求,必须通过一种柔性化、灵活性更高的手段来实现这一目标,而在汽车生产的四大工艺车间(冲压车间、焊装车间、涂装车间、总装车间)之外增加一个立体的车身分配中心(Body Distribution Center,BDC),是提高各车间生产序列的符合性,同时达到精益生产的一种合理有效的方法。监控管理系统作为BDC 监控、调度管理的核心,其设计合理性、有效性、智能性是决定整个BDC发挥其作用的关键因素。

目前,国内外已有众多学者对BDC 及立体仓库的监控管理系统进行了不同深度的研究及应用,文献[3~5]研究了汽车零部件立体仓库的监控,通过建立零部件物料监控系统提高了物料保障整个制造过程的零部件有效供给实现物流供应链的科学管理。文献[6~10]研究了立体仓库的物料出库和入库的路径优化算法,旨在寻求一种最优的物料存取规则,充分利用有限的立库空间,为提高汽车物流效率提供助力。文献[11~13]通过研究基于射频识别技术(Radio Frequency Identification,RFID),从数据采集方面来解决货物信息的监控问题。BDC 通过立体仓库对焊接白车身和涂装漆后车身进行存取,是汽车生产过程中保障冲压车间、焊装车间、涂装车间、总装车间四大工艺车间的所有车身按照计划顺序执行的重要组成部分,其中监控与管理是整个BDC 的核心部分。国内外学者对汽车分配中心监控系统的研究多集中于对立体仓库物流路径规划和图像信息采集方面,而在对汽车生产中车身与四大工艺车间的调度和监控系统的研究较少。因此,本文通过结合自动化物料立体仓库监控及管理系统的设计思路,对BDC 的监控与管理系统进行设计与开发,能最大程度优化生产过程中车身调度,解决资源瓶颈等问题。

2 系统体系结构设计

BDC 是基于物流管理技术、现代信息技术、计算机通讯技术和自动控制技术等发展起来,对汽车工厂的焊接白车身和漆后车身进行自动化、智能化管理的综合应用系统[14]。从系统监控管理层面划分,可将BDC分为管理层、监控层及执行层三层。

管理层通过Webservice 接收制造执行系统(Manufacturing Execution System,MES)[15]下发的焊装、涂装及总装的生产计划信息,并依据生产计划、库存及车身BSN(Body Serial Number)码,生成车身去向编码,并通过Socket将车身去向编码发送到监控层。

监控层通过接收管理层下发的车身去向编码,并依据设备状态信息生成执行层的控制指令,通过OPC(OLE for Process Control)发布到执行层[16]。

执行层接收到监控层指令后,通过可编程控制器(Programmable Logic Controller,PLC)[17]对输送设备及堆垛机进行运动控制,实现白车身及漆后车身的快速入库及出库,从而达到通过计划信息对车身进行快速、智能化调度及存取的目的。

图1为BDC监控管理系统体系结构图。

3 系统功能设计

通过对监控管理系统的体系结构及流程进行分析,依据统一建模语言(Unified Modeling Lan⁃guage,UML)[18]提出管理层及监控层的总体用例需求,然后基于用例需求分别对管理层和监控层进行功能架构设计。执行层则通过模块化的方式对PLC程序进行设计。

图1 BDC监控管理系统体系结构图

3.1 管理层

管理层用例需求包括:系统管理、基础信息、生产计划、系统查询、系统报表以及辅助功能。以上用例的描述如下。

1)系统管理

系统管理包括用户管理以及数据库管理。用户管理是对登录管理层系统的所有用户进行权限控制,以及增加、删除、修改用户登录信息。数据库管理则是对系统数据进行备份及恢复处理,以及按照要求对系统数据库进行定期备份,必要时对数据进行恢复。

2)基础信息

基础信息主要包括车身、立库、设备及MES 相关的基础配置信息的管理。车身信息包含车型类别、车身BSN 码的配置信息;立库信息是对立库的排、行、列等信息的配置管理[19~20];设备信息是对立库中所用到的堆垛机的可用状态,以及与之对应的库位进行配置;MES 信息则是系统与MES 接口信息的配置管理。

3)生产计划

生产计划是对从MES 中接收过来的生产计划信息进行管理,主要包含焊接计划、涂装计划、总装计划、焊装出库计划以及涂装出库计划。

4)系统查询

系统查询是对整个BDC 中库存信息、库位信息的查询,并通过监控层上传的相关车身位置信息对车身的工艺位置进行跟踪,同时,通过对BDC 中正在执行的计划信息进行管理。

5)系统报表

系统报表是对BDC 仓库的预警、库位利用率、车身的在库库龄以及车身的出入库流水信息进行管理。

6)辅助功能

辅助功能则是对系统的操作日志、设备的故障报警信息通过数据库进行管理并查询,实现对监控管理层及执行层的所有在线信息进行管理和查询。

图2为BDC管理层系统架构图。

图2 BDC管理层系统结构图

3.2 监控层

监控层系统用例需求包括:立库操作、状态信息、数据信息、辅助功能。以上用例的描述如下。

1)立库操作

立库操作是可以通过系统对BDC 中的车身进行手动出入库操作。

2)状态信息

状态信息是对执行层中的设备、指令的状态信息进行管理,主要包含指令状态、出入库设备状态、堆垛机状态、设备通讯状态以及设备故障报警信息。

3)数据信息

监控层与执行层之间的数据通讯采用OPC 技术,为便于系统对PLC 变量数据信息的实时监控,通过OPC浏览器对PLC变量进行管理,主要实现对OPC 数据的变量名、所属设备及当前值的管理,OPC数据服务器对象的结构如图3所示。

4)辅助功能

辅助功能则是对系统的操作日志、设备的故障报警信息通过数据库进行管理并查询,实现对监控管理层及执行层的所有在线信息进行管理和查询。

图4为BDC监控层系统架构图。

图3 OPC服务器对象的结构图

图4 BDC监控层系统结构图

3.3 执行层

执行层设备主要包含输送设备和堆垛机,堆垛机作为BDC 执行监控层下发指令的核心设备,对其PLC 控制程序采用模块化开发的方式编写。首先编写各个子功能的控制程序,然后将各个子功能程序通过调用的方式集成到主程序中。图5 是系统执行层设备主控制程序流程图。

图5 执行层设备主控制程序流程图

执行层设备在上电后自动运行自检程序,用于检测机械设备是否处于零位状态,以及检测各电气设备是否处于正常工作状态。当检测正常后,系统才能进行正常的指令执行操作。若系统自检出现报警,需要BDC 管理人员对系统故障进行排查。图6是执行层设备自检程序流程图。

图6 执行层设备自检程序流程图

执行层设备取货与放货指令是由监控层将系统的出库与入库任务进行分解后发送到执行层设备,由执行层设备进行取货和放货指令的执行。图7是执行层设备取货与放货子程序流程图。

图7 执行层取货与放货子程序流程图

4 系统通信接口设计

BDC 监控管理系统中的管理层和监控层之间以及监控层和执行层之间需要进行通信来完成协作,下面分别对这两组通信接口进行设计和说明。

4.1 管理层与监控层通信设计

管理层与监控管理层之间通过Socket 进行通信,为节省系统之间通信资源的占用,采用Json 数据格式将结构化的车身去向编码信息发送到监控层,管理层下发的Json格式数据信息如下:

"message":"…",//附加信息

"command_data":[{"BSN":"...",//车 身 BSN 码 "com⁃mand_type":"...",//指 令 类 型 "car_type":"...",//车 型 信 息"command_time":"...",//指令生成时间"Result":"...",//执行结果}]

4.2 监控层与执行层通信设计

监控管理层与执行层之间通过OPC 进行双向通信,监控管理层将设备控制指令信息发送到执行层设备,执行层设备将指令执行状态、设备运行状态、车身位置信息发送到监控管理层,为监控管理层对车身的调度与指令的生成提供判断依据,监控管理层与执行层之间的通讯信息如下。

监控层发送到执行层数据信息:

<item name="DB101,B0" vt="UI2" owner="DDJ1" alias="start"remark="起始符"/>

<item name="DB101,B1" vt="UI2" owner="DDJ1" alias="version"remark="版本号=1"/>

<item name="DB101,B2" vt="UI2" owner="DDJ1" alias="mode" remark="工作模式0-维修;1-手动;2-单机自动;3-联机自动;4-不明."/>

<item name="DB101,B3" vt="UI2" owner="DDJ1" alias="busy"remark="作业状态0-待机;1-取货中;2-取货完成;3-放货中;4-请求卸货(申请卸货);5-放货完成;6-取货准备(回库台位);7-召回;8-急停;9-不明."/>

<item name="DB101,D4" vt="I4" owner="DDJ1" alias="jobNo"remark="任务号"/>

<item name="DB101,B8" vt="UI2" owner="DDJ1" alias="gzbj" remark="故障报警0-无故障;1-货物超限;2-作业条件不满足;3-与输送线通讯故障;4-传送地址错;5-指定库位满入;6-空出;7-行走变频器报警;8-升降变频器报警;9-货叉变频器报警;10-行走超时;11-升降超时;12-货叉超时;13-水平测距出错;14-垂直测距出错;15-放货异常;16-浅货位有货;17-货叉数据出错"/>

<item name="DB101,B9" vt="UI2" owner="DDJ1" alias="line"remark="作业地址中的排号"/>

<item name="DB101,B10" vt="UI2" owner="DDJ1"alias="column"remark="行走位置"/>

<item name="DB101,B11" vt="UI2" owner="DDJ1"alias="layer"

remark="载货台位置"/>

<item name="DB101,B12"vt="UI2" owner="DDJ1"alias="kg_column" remark="行走开关信号"/>

<item name="DB101,B13" vt="UI2" owner="DDJ1"alias="lg_layer" remark="载货台开关信号"/>

<item name="DB101,B14" vt="UI2" owner="DDJ1"alias="xzsjxh"remark="行走和升降动作信号"/>

<item name="DB101,D15" vt="I4" owner="DDJ1" alias="xzbmq"remark="行走编码器或激光数值"/>

<item name="DB101,D19" vt="I4" owner="DDJ1" alias="qsbmq"remark="起升编码器或激光数值"/>

<item name="DB101,B23" vt="UI2" owner="DDJ1"alias="zhtcxxh"remark="载货台超限信号"/>

<item name="DB101,B24" vt="UI2" owner="DDJ1"alias="hcthxh"remark="货叉探货信号"/>

<item name="DB101,B25" vt="UI2" owner="DDJ1"alias="hcwzxh"remark="货叉位置信号"/>

<item name="DB101,B26" vt="UI2" owner="DDJ1"alias="hcdzxh"remark="货叉动作信号"/>

执行层发送到监控层数据信息:

<item name="DB100,B0" vt="UI2" owner="DDJ1" alias="start"active="false"remark="起始符"/>

<item name="DB100,B1" vt="UI2" owner="DDJ1" alias="version" active="false"remark="版本号=1"/>

<item name="DB100,B2" vt="UI2" owner="DDJ1" alias="zyml" active="false" remark="作业命令1-取货(空载行走到指定位置并伸叉取货);2-放货(双重入库)(带货行走到指定位置并伸叉放货);3-通知可卸货;4-解警;5-取货准备(行走到指定地址,叉不动作);6-召回(到指定位置);7-急停;8-确认收到放货完成."/>

<item name="DB100,D4" vt="I4" owner="DDJ1" alias="jobNo"active="false"remark="任务号"/>

<item name="DB100,B8" vt="UI2" owner="DDJ1" alias="zyLine"active="false"remark="作业地址排"/>

<item name="DB100,B9" vt="UI2" owner="DDJ1" alias="zyColumn" active="false"remark="作业地址列"/>

<item name="DB100,B10" vt="UI2" owner="DDJ1"alias="zyLayer"active="false"remark="作业地址层"/>

<item name="DB100,B11" vt="UI2" owner="DDJ1"alias="end" active="false"remark="结束符"/>

5 系统实现

在完成BDC 监控管理系统的总体体系结构、各层级架构及各层之间的通信设计之后,采用C#语言对管理及监控层系统进行开发,执行层则采用西门子TIA portal进行PLC程序的编写。

5.1 管理层软件开发

管理层主要是对整个BDC 进行生产计划及日常的管理和操作,该操作软件主要从功能性、稳定性、易用性和美观协调性等角度出发完成的开发。

5.2 监控层软件开发

监控层采用OPC 技术将指令信息下发到执行层,并对执行层设备进行实时监控,如图9 所示为监控层主界面图。

图8 管理层主界面图

图9 监控层主界面图

5.3 执行层程序开发

执行层采用西门子的TIA portal软件进行主程序和各子模块程序的开发,同时完成人机界面(Hu⁃man Machine Interface,HMI)的开发,实现对执行层设备的状态、指令信息、故障信息等的实时在线查看,系统具备手动、自动和维修三种模式,使系统使用及维护更方便。

6 结语

通过对BDC 监控管理系统的管理层、监控层、执行层,以及各个层级之间的通信接口进行设计和程序开发,实现对BDC 的自动化管控。通过本研究,对BDC 的整体控制过程及信息流有了更深的认识。但未就汽车生产的排产问题对智能化调度BDC 库进行更深入的研究,通过对BDC 库的智能调度研究,优化汽车生产的排产问题将是下一步研究工作的重点。

猜你喜欢

管理层车间管理系统
基于大数据分析的智慧高速运营管理系统
基于大数据分析的智慧高速运营管理系统
机构投资者与管理层共同持股存在联合效应吗?——基于企业创新的视角
基于James的院内邮件管理系统的实现
100MW光伏车间自动化改造方案设计
山间采茶忙 车间制茶香
在线评审管理系统的建设与实践
核安全文化对管理层的要求
招工啦
“扶贫车间”拔穷根