模具钢材模拟切割系统的开发与实现

2011-11-20 03:09军,红,君,
大连工业大学学报 2011年3期
关键词:余料下料数据服务

周 茂 军, 曹 幼 红, 赵 秀 君, 程 雄

(1.大连工业大学 机械工程与自动化学院,辽宁 大连 116034;2.桂林电子科技大学 机电工程学院,广西 桂林 541004)

0 引 言

近年来,对矩形件优化排样问题的研究主要集中在近似算法的构造上[1],但这些算法只局限于对板材进行二维优化排样,并不考虑对第三维的有效利用,同时仅通过算法不能直观地表现对立体板材的切割过程和利用。

企业为了降低生产成本,就要尽可能提高材料的利用率。相比普通钢材,模具钢材的价格较高,这就要求模具钢材销售企业在下料切割过程中需要合理选料同时尽量减少余料的数量和避免废料的产生。传统的模具钢材销售企业的下料环节完全依靠车间工人的经验进行原料的选择和切割方案的设计,同时将余料的尺寸、编号等信息返回给办公室有关部门进行手工存档。该下料管理方式有很大的缺陷:在众多的库存中选料耗费大量的时间;容易出现选料不合理现象;没有科学统一的下料依据,容易产生不合理的余料和废料。因此,有必要应用信息技术开发模具钢材下料方案设计系统,实现系统自动匹配选料,用三维图显示模拟切割,提供多种合理的切割方案,辅助工作人员科学快速的决策下料方案,避免因考虑或设计不周造成钢材的浪费,提高对钢材的有效利用率,降低成本,解决企业实质性的问题。

1 系统分析

1.1 需求分析

通过对模具钢材销售企业的实际调查,模具钢材模拟切割系统应该具有以下功能:①生产计划的管理,车间严格按照合同要求满足客户需求;②自动匹配筛选功能,通过对库存的管理,按照合同要求对库存按材质、长度、宽度、厚度三个方向及库存状态进行搜索匹配,列出可使用的母料;③可以进行模拟切割并打印具体设计方案图,能显示工件与余料尺寸及切割步骤;④一个母料可以同时切割多个不同尺寸,不同数量的工件,可以运用Ctrl键对待切工件多选;⑤由于车间实际下料结果和方案可能存在尺寸误差,因此按实际尺寸为准必须可以修改工件及余料的尺寸;⑥自动生成余料编号,方便库存管理。

1.2 开发工具

本系统所涉及的数据量大,所以后台数据库采用Microsoft SQL Server2000,该数据库系统在安全性、准确性、运行速度方面有绝对的优势,并且处理数据库量大、效率高[2];前台采用.NET开发平台,Microsoft.NET 是创建可互操作的分布式应用程序的新平台[3];系统运用C#开发语言;在实际开发编程过程中采用了ADO.NET 技术。服务器采用Windows Server 2003。

2 总体设计

2.1 系统总体结构

因为系统数值计算量大,而C/S模式处理大量信息的能力是B/S(浏览器/服务器)模式无法比拟的,该模式具有高性能和高可靠性等优点,所以系统采用C/S模式。。

系统开发模式采用三层C/S 结构,即界面层、中间业务处理层、后端数据服务层;①客户端人机界面的开发,使得开发大大简化,只注重人机界面的设计,不必关心业务逻辑和数据库的访问;②中间业务逻辑层处理界面层传递的任务以及为数据服务层提供SQL语句,客户端程序调用中间层的业务逻辑规则,以完成其业务操作,业务逻辑改变时,客户端界面可以不做变化;③数据库服务层提供对数据库进行各种操作的方法,即对数据库进行直接的访问,该层被中间业务逻辑层调用完成业务逻辑。三层C/S 结构的优点是允许合理地划分三层结构的功能,使之在逻辑上保持相对独立性,从而使整个系统的逻辑结构更为清晰,能提高系统和软件的可维护性和可扩展性。从图1 中可以看出,层与层之间是有着严格的访问级别约定的:Form 界面不可以越级直接访问数据库,只需要界面内部写相应代码,不需要改变业务逻辑;数据服务层改变数据库或升级数据库,只需要改变数据服务层对应代码,不需要改变界面层和业务层。

图1 三层结构Fig.1 Three-layer structure

系统总体功能结构如图2所示。

图2 系统结构Fig.2 System structure

2.2 业务流程

如图2所示,用户登入系统并进行操作,系统列出所有下料信息库的数据(即需要下料切割的订单),当用户选择一条下料信息库的数据时,锁定匹配条件,结合材料信息库数据进行自动匹配,列出符合条件(可提供切割的母料)的材料信息数据,用户选择了下料信息和材料信息,进入人机模块进行切割方案设计过程,通过模拟切割确定合理方案,当确定下料方案时,保存并打印模拟切割的过程、尺寸、步骤、图形等信息,即进入到下料方案输出阶段,并将该切割方案提供给下料车间,同时记录所使用的材料信息,用来查询母料去向及计算损耗,并将切割所剩余料保存返回材料信息库,供下次使用;若下料车间按方案图切割的实际尺寸与系统设计的尺寸存在误差,则将设计的余料尺寸等信息进行修改,即进入到编辑模块。

2.3 数据管理

主要针对用户和数据库的备份管理。本系统采用SQL Server事物日志方式进行数据的自动备份,把数据备份到服务器磁盘上,这种备份方式比数据库的完整备份占用空间小,所用时间少,备份效率高,从而保证了数据库的安全性[4];服务器磁盘采用RAID(Redundant Array of Independent Disk磁盘阵列),为存储系统(或者服务器的内置存储)带来巨大利益,提高传输速率和提供容错功能,同时也保证了数据的安全性。

3 关键技术

3.1 泛型的使用

系统程序中定义了多个类文件,由于数组的长度是动态的,所以在每个类文件中使用泛型List<T>,指定了T 的类型,其集合可以直接作为DataGridView 的数据源。使用泛型集合编译器会在编译期间检查要放入集合对象的数据类型,如果发现不是某种特定的类型就会报错,这样就可以避免发生许多运行时错误,实现类型安全;由于明确了数据类型,所以在存取数据不会发生类型的转换,特别是存取值类型是不会发生装箱和拆箱操作,同时可以最大限度地重用代码。在本系统的实现过程中,将所有对象类型例如母料对象、订单对象、下料设计对象都用泛型表示,这样可以获得该对象的所有属性集合。

3.2 优化数据库操作

由于程序中涉及了大量的数据库操作,在数据库中建立多个视图,实现对多表进行关联,在数据服务层的实现过程中,采用了直接访问视图优化数据库操作,在数据服务层生成的数据直接填充在Dataset,由于Dataset是一种无连接的数据集,填充之后可以马上释放数据库的连接,这也减轻了数据库的负担,而且Dataset缓存于内存中,再次访问速度非常快。

3.3 组件的使用

该部分使用了.NET 组件技术,.NET 组件提供了更为方便的编写平台和更为丰富的类库资源[5]。开发人员可自定义用户界面、功能、属性、方法、事件等特征,该技术提高了系统的重用性,灵活性,修改局部不会对整体有影响,使系统具有更好的可维护性和可扩展性。本系统通过这一特性,编写了绘图的属性,首先确定图形相对于浏览器坐标的原点,每切割一次,通过切割的尺寸计算各个图形块的各方向的尺寸,然后依照该尺寸以及确定的原点,利用C#中的DrawLine()函数,绘制图形。当鼠标点击图形块时,该图形就变成所设定的颜色,因此编写鼠标MouseClick事件来显示所选定的图形块。

3.4 绘图算法

绘制三维图形时必须确定8个顶点的坐标,因此必须根据切割尺寸及图形旋转角度获得的三维坐标点转换为平面坐标点。在实现绘图时,实现关键步骤如下:

(1)计算各边的投影比例。为了更好显示图像效果,设图像绕X 轴旋转angelx=30°,再绕Z轴旋转angelz=30°。如图3所示,分别计算出旋转后Y 轴在X 轴和Z 轴方向的投影比例,及X和Z 轴的投影比例,代码如下://设定角度默认

轴在水平方向的投影比例

轴在垂直方向的投影比例

(2)设定矩形块的原点坐标。取计算机坐标原点为Q(0,0),在本系统中,设矩形块的原点为O 点,要确定该点的屏幕坐标,必须先获得该点距离屏幕坐标原点的长度,即OQ 的长度,通过该长度就可获得O 点的屏幕坐标点。如图3所示,OQ=OA+AQ,AQ 为图形离屏幕坐标原点的最近距离,在系统中已设定AQ 为25,又由于OA 为切割宽度为已知,由步骤(1)已知Y 轴在垂直方向的投影比例syv,在水平方向的投影比例syh,即可确定OQ 在屏幕坐标X 轴和Y 轴的投影,即可确定O 点的坐标,代码如下:

olocation=newPointF((msizew+25)*syh,(msizew+25)*syv);//msizew 为OA 的长度。

图3 算法参考图Fig.3 Algorithm reference diagram

(3)确定8个顶点的坐标。在该步骤中使用在二维平面中表示浮点坐标的x 和y 的有序对的PointF[]数组存放8个顶点坐标值,代码为

确定了8个顶点的坐标就可以确定图形的各条边,通过C#语言自带的DrawLine()函数绘出各条边,即绘出了图形。

3.5 系统示例

3.5.1 方案设计图示例

如图4所示,选定了用来切割的母料和切割尺寸,在图右侧的设定需要切割的尺寸、切割刀数及钜厚等参数后,点击“切割”按钮,就可实现图4所示效果。该系统解决了传统算法中只对板材的二维排样的不足,实现了对板材三维的有效利用,用户可更直观的了解材料的利用情况。

图4 方案设计图Fig.4 Project design

3.5.2 自动匹配筛选

如图5所示,在所列出的下料信息库数据中,单击将要切割的一条数据或按住Ctrl多选,通过对材质、厚度、宽度、长度等条件的匹配,列出所有满足匹配条件的材料信息库数据,并按尺寸由小到大排序,方便选择,避免人工选料造成的时间浪费和选料的不合理。

图5 自动筛选匹配效果图Fig.5 Automatic selection matching rendering

4 结 论

本文根据对模具钢材销售企业调研的实际情况,设计并实现了基于三层C/S结构的模具钢材模拟切割系统,实现了钢材下料的模拟立体切割,形象模拟了车间的下料切割过程,方便企业决策出最优的下料方案,完善生产流程,为企业减少余料和废料的产生,提高经济效益;实现了完善的库存管理,同时可以打印设计方案的切割步骤和最终效果图,为下料车间提供参考。经过系统测试和在大连某企业实际运行,系统运行状态良好。由于本系统的特色,为企业提供强有力的工具,具有广泛的市场价值。

[1]赵晖,席平.矩形件优化排样算法与系统的研究[J].锻压技术,2005,30(1):19-20.

[2]赵晓霞.进销存管理系统的设计与实现[J].煤炭技术,2010,29(1):244-245.

[3]胡迎松,彭利文,池楚兵.基于.NET 的Web应用三层结构设计技术[J].计算机工程,2003,29(8):173-174.

[4]杨玉霞,汪永超,王亚森,等.B/S结构企业培训管理信息化系统的研究[J].计算机工程与设计,2009,30(5):1130-1131.

[5]花振峰,杨伟民,张生..NET 组件和COM 组件的应用集合研究[J].计算机与自动化技术,2005,31(2):71-72.

猜你喜欢
余料下料数据服务
海目星视觉余料切割,轻松实现板材利用最大化
地理空间大数据服务自然资源调查监测的方向分析
基于C#的钢板余料管理系统研究
自动冲压线工艺余料自动回收装置设计及应用
基于AM 及PDM 的钢板余料管理程序设计研究
2100PCTC薄甲板制作工艺
废树脂料斗定量法计量验证试验
铝电解槽下料过程对电解质温度场的影响
如何运用税收大数据服务供给侧结构性改革
基于频繁子图挖掘的数据服务Mashup推荐