基于C/S架构的焊装车间生产计划显示系统
2021-11-03张贺周鹏飞魏磊董洪鹏
张贺 周鹏飞 魏磊 董洪鹏
(中汽研汽车工业工程(天津)有限公司信息工程部 天津市 300300)
汽车车身是由数以千计的薄板通过焊接工艺方法组合在一起的高强度空间板壳结构,焊装工艺十分复杂[1]。汽车生产线具备多种平台、多种配置、高柔性化生产制造能力。同一条生产线在设计之初兼顾生产几种不同型号汽车,同一天的生产订单中可能出现不同型号的车辆。如果上件工人不能按照生产订单准确选择制件,导致上错件的情况发生,会给企业带来很大的经济损失。由此可见准确上件对于人工工位来说显得尤为重要。
1 系统功能要求及总体方案
1.1 系统功能需求
汽车厂焊装车间严格按照生产计划进行生产,众多小件焊接成较大制件被运送到相关工位,通过人工上件的方式放置在夹具上,等待机器人焊接、夹取。机器人在工作的过程中根据订单上不同的“特殊材质代码” 采取不同的动作轨迹进行焊接、涂胶,目前某汽车厂采取向现场操作人员下发纸质生产计划的方式提示操作工人生产制件型号,完成一个制件操作工人需要在纸质生产计划上做一个标记。这种操作方式不能直观显示当前需要生产制件状态,很容易由于人为因素造成上件错误影响生产。如果能实时读取机器人当前生产的特殊材质代码,并且转化成为直观易见的生产制件就能大大避免上错制件问题的发生。
1.2 系统总体方案
基于以上功能需求,设计开发了“生产计划显示系统”。系统自动获取上层MES 生产计划,实时采集机器人缓存的特殊材质代码,下发给对应的显示终端,终端接收特殊材质代码后进行处理并且显示相应信息,当完成当前制件生产动作,终端显示画面自动切换到下一个制件进行显示。
2 系统模块化设计
系统模块化设计思想是通过将系统的某几个功能单元有机组合在一起,构成一个具有某一功能的子系统(或子模块),最后将这些子系统(或子模块)按照一定组织架构组合起来构成一个完整的系统。
在软件设计的过程中,需要对系统的结构层次进行分析,从中抽取出系统的设计框架,通过框架来指导整个软件设计的流程。而一个良好的系统框架也是决定整个系统的稳定性、封闭性、可维护性的重要条件之一。根据软件设计模块划分准则将生产计划指示系统分为信息采集模块、网络传输模块和处理显示模块。生产计划显示系统模块划分如图1 所示。
图1:系统模块划分示意图
2.1 服务器核心模块
服务器核心模块是生产计划指示系统的核心部分,起到“上传下达”的作用。主要功能是接收来自上层MES 的生产计划、向终端下发生产计划、获取现场机器人当前生产的特殊材质代码、将特殊材质代码发送到特定终端、接收来自终端的完成信号在本地数据库做出完成状态标记等功能。
2.2 网络传输模块
网络传输模块是系统内部各个模块沟通的桥梁。来自上层MES 的生产计划和来自现场设备的特殊材质代码都通过网络传输模块进入服务器核心模块,核心模块处理完成后通过网络传输模块传递到显示终端。
2.3 处理显示模块
处理显示模块接收来自信息采集模块的特殊材质代码信息,通过与生产计划比对、解析,在终端显示特定含义的信息,在当前制件完成生产动作时反馈一个完成信号给信息采集模块。
3 系统详细设计方案
3.1 系统硬件设计
生产计划指示系统硬件主要由服务器、显示终端、现场PLC、路由器、网络交换机等组成。服务器是整个系统的控制核心,通过网络与上层MES 系统、现场PLC、现场显示终端连接。显示终端选用研华工业平板电脑,为方便现场工人操作选用电阻式触摸屏,在Windows7 系统上安装.Net FrameWork4.5 运行环境。现场PLC作为机器人控制器为机器人的生产提供最可靠的数据,将这些数据读取出来并解析显示将极大提高上上件的准确性。网络交换机为数据传输提供可靠保障。
如图2 所示,服务器通过交换机获得上层MES 生产计划,获取现场PLC 生产数据发送给对应显示终端,显示终端通过一定算法进行解析,将生产数据显示在屏幕上。
图2:系统架构示意图
3.2 系统软件设计
生产计划指示系统核心功能是服务器采集现场数据和现场终端显示信息。网络传输模块实现数据传输功能,在应用领域技术比较成熟。本文将就服务器核心模块和处理显示模块的软件设计进行详细分析。
3.2.1 服务器核心模块软件设计
数据库是本系统的重要组成部分,存储MES 生产数据供显示终端使用。本系统使用SQL Server 作为数据库软件,上层MES 对本系统开放一张数据表,数据表包含关键生产信息外,还需要建立一个两个列(数据状态标志、时间)。在查询MES 数据库时只需查询是否有新增数据,如果出现新增加的数据更改对应数据状态标志并插入当前时间,这样设计可以大大降低数据查询量,避免程序出现“假死”的情况。
使用KepWare 作为OPC 软件获取现场PLC 数据。OPC 主要用于不同品牌PLC 与上位机之间的通讯,通过采用OPC 技术,可以以更使系统具有更简单的结构、更长的寿命、更低的编程成本。KepWare 作为成熟的第三方软件,可以使现场设备与系统的信息传输更加简单、灵活和方便[2]。使用KepWare 建立与现场实际情况相对应的Channel、Device 和Tag,即完成基础服务器核心模块软件的基础配置,接下来启动服务器端程序。
启动服务器端程序,通过初始化、读取系统配置的参数以后,连接KepWare,通过筛选得到人工上件工位对应机器人PLC 存放特殊材质代码的地址。启动生产后程序启动相应线程,实现定期查询MES 数据库、检测特殊材质代码的变化。当MES 数据库有数据更新,系统执行相应程序段将更新的数据读取到本地数据库。刚启动程序时,服务器端程序采用群发模式,将生产信息群发到所有终端;正常生产后,循环扫描OPC 软件中所有Tag 的变化,当某个Tag 值发生变化,服务器端程序将这个变化的值发送到相应终端进行处理,并接收来自终端反馈的完成信号,在本地数据库的相应位置做出标记。
3.2.2 处理显示模块软件设计
处理显示模块主要功能是接收来自服务器发送的特殊材质代码,通过与本地数据进行比对处理,显示相应内容。系统启动后,进行程序初始化并读取本终端的配置参数,这些参数包括服务器地址、终端设备ID 和系统操作模式、车型解析等参数,当与服务器建立通信成功后,向服务器发送一个“start”指令,接收服务器发送的当日生产计划和特殊材质代码,如果特殊材质代码在当日生产计划中,则对该代码进行解析,在终端显示出车型、车身号、配置、VIN 等信息;如果该代码不在当日生产计划内,则在终端画面上显示出相应的报警信息,提示上件工人进行必要的处理。
4 系统测试及运行
本系统采用C#开发,C#是一种面向对象的开发语言,具有安全、稳定、简单等特点。本系统包含服务器端、显示终端、客户端三部分构成。
4.1 服务器端程序
服务器端程序包含Socket 连接日志、OPC 服务器、高级设置三个部分。Socket 连接日志显示终端启动、工作、停止信息,系统管理员可以根据这些信息查看启动生产以后终端连接情况、某一工位制件完成情况以及某一工位停产信息。并可以根据这些信息制作详细数据报表。OPC 服务器端主要用来选择服务器所在IP 地址、OPC 软件类型、通过Tag 过滤器筛选出系统所需信息点,可以修改Tag 列表刷新频率在右侧查看所选点的数值变化情况。高级设置主要用于设置班次以及班次起止时间。
4.2 终端程序
终端程序包含图表模式、列表模式、历史数据和终端参数设置四大部分。
4.2.1 图表模式
图表模式是终端首页,是当终端程序开启后默认进入的页面。图表模式页面主要分为左右两个部分,左侧为当前生产制件的车型和详细生产信息以及本工位对应该车型的制件图片,在制件图片中标出了与其他车型的区别,便于操作工人根据提示信息从物料车上拾取生产所需制件,右侧为即将生产的车型信息,提示操作工人提前准备好即将使用的制件,在有车型切换情况下显得尤为必要。
4.2.2 列表模式
焊装车间主焊线具有很多Buffer,这些Buffer 工位多个模具同时工作,需要上件工人根据依次摆放多个制件,为了便于这些工位快速上件设计了列表模式。为了区分制件的完成状态,列表模式通过改变列表行底色的方式进行标记,已经完成的制件标记成白蓝色、正在生产的制件标记成浅绿色、尚未生产的制件标记为灰色。上件工人直观得到所需制件信息,便于快速、准确生产。
4.2.3 历史数据
历史数据页面主要包含控件DateTimePicker 和控件DataGrid View,分别实现时间筛选和显示数据的功能。基于数据安全方面考虑在设计时关闭了该页面DataGridView 的编辑权限,操作人员可以通过历史数据页面查看近期生产情况。
4.2.4 终端参数设置
显示终端一些常见参数可以通过页面设置和修改。系统管理员可以设置本工位各个车型对应的图片、可以修改该终端密码和设置列表模式下显示行数等。
4.3 客户端
生产现场某些工位有修改生产计划和临时增加生产的情况,为了便于这些工位操作,在现场安装一台客户端,通过客户端系统操作员可以增加、删除、修改和查看生产计划,为满足批量增加生产计划的需要,客户端支持Excel 文件导入功能。
5 结束语
本文分别从硬件和软件方面介绍了生产计划显示系统的构成,并就服务器端和处理显示终端软件工作过程进行详细阐述。焊装车间人工上件工位生产计划显示系统,为柔性化生产线高效生产奠定坚实基础,是焊装车间自动化生产不可或缺的一部分。系统结合Windows 任务计划程序实现定时启动停止,可以根据不同工位需要进行个性化定制,前期完成基础配置后不需要过多人为干预即可根据现场实际显示车型信息以及本工位所需上件图片信息,彻底解决由于工人疏忽导致的上错制件问题的发生。系统目前已经在某汽车厂焊装车间成功验证并得到广泛使用。