自动排产
- 自动排产或工单、任务单排程是作业过程控制、操作计划的核心,高效、准确的排产可以提高工作效率,同时会减少停线停料,我们实际项目中,还碰到过一家汽车部件公司,因为人为的工单安排有偏向性导致的员工报怨,从而要求进行加工单的自动排产处理
自动排产我们分三部分说明:排产基本信息的设定、排产逻辑开发说明、排产结果示例和排产相关功能处理
排产基本信息的设定
排产基本信息就是一些记录表,包括以下表:
- 工单任务单表:这是排产对象,应包括字段:工单编号、工单序号(或工序号)、产品编号、总加工数、下单日期
- 这个表一般都是ERP处理的工单记录或录入的任务单,排产处理中只是抓取记录就可以
- 产品加工基本信息表:每个产品可加工的设备/产线/班组信息、加工效率或小时产量
- 这个数据是整理的信息,一般一次整理可以使用较长时间,比较稳定
- 设备/产线/班组班次表:每台设备是否可用、可用班次设定、当前开始可用时间/上次排产结束时间,结束时的产品编号
- 节假日设定:设定哪些天停工不生产,一般周末或节假日或整厂休息等日期,将日期输入登记即可
以上模块都可以用成熟模块快速利用开发,请参考框架模块介绍中的的增删改查模块
排产逻辑开发说明
排产逻辑主要是以下规则的程序处理
- 如果ERP生成了工单或由其他人员提交了工单、则按下单日期依次排序进入排产逻辑,这是一个顺序处理规则
- 全部工单进入系统后进行一次合单处理,如果是同样的产品,只是不同工单用于不同最终产品或不同客户订单等,在每个过程工序中,是可以合单的,合单将减少换线换料换模具调试工艺等时间,提高工作效率
- 合单后以一批工单形式进入第一步排产处理:查找上次排产安排的机台中有没有最后一个加工单是此产品的机台,如果有,则直接排排此机台以减少换模调机时间
- 如果没有则需进一步进行确认,看哪个可加工此产品的机台最早完成上次排产的任务,安排至最早完成上次排产的可加工机台加工
- 以上确认机台,下一步确认加工时间,按产品设备基本信息表的小时产量,被此一批工单的总数相除得到加工小时数,此时需要用逻辑来排查是此段时间从上次排产此机台结束时间起是否在节假日中、是否有非夜班中班、有则需顺延结束时间(如果机台24小时运转且没有节假日干扰,则属理想状态直接以结束时间加需加工小时数计算结束时间,逻辑中不能直接这样设计,只是计算结束时间的方式说明)
- 如果是不换模具的排班,还需判断是否超过同一模具最大加工数或时间(我们排产逻辑中有此设定但固定在逻辑中,可设计一个参数表来设定此类参考供排产时调用)
- 合单一批的结束时间完成后,即可进入更新工单记录表中计划开始时间及计划结束时间的逻辑、同进需更新机台结束时间及结束产品、同一产品累计加工时长数据
- 多工序排产,就是ERP已排为最底层的一个工单,但是加工中这个工单分多个机台加工过完成,要求上一步的工单更新时间后后查看是否为多工序、比如某些冲压等车间的工单,同一工单需在多台设备上加工,所以需进一步排产、逻辑同上,但是套嵌在上面的逻辑的子逻辑,同样需要找当前加工设备、安排时间排除节假日和非班次可生产时间
- 按客户要求,我们此排产逻辑中还加了计算本次排产设备总使用率、间隔一天或三天累积一批工单同时处理逻辑、排产完成后对无基本信息或没有设定设备可加工的工单产品汇总报表发送给管理人员、将总排产数及已排产数进行汇总说明
- 实际开发过程比以上说明要复杂一些,正式开发加测试在一个月内完成
- 以下为部分逻辑的无代码开发截图
合单提高效率
合单后各批次排产模块
不换模具的排产,包含工单中多工序排产
换模具的排产,包含工单中多工序排产
排产结果示例和排产相关功能处理
- 排产完成后,我们可以用每台设备及所排工单进行时间及顺序、用时、前后安排连续性等方面进行复核确认是否按正确要求排产(也是功能测试的一部分,相对于之前客户手动排产工作量而言,复核工作量占比极少,正常使用后基本不需要复核)
- 以下是一个冲压厂多工序加工产品的排产结果
- 排产测试中,我们发现以上逻辑运行近1000个工单排产(4个车间,其中1个多工序车间)时,只需不到2分钟即可排完,同时发送排产结果通知邮件,正常运行时,安排是在每周一、三凌晨进行排产处理的
- 以下为排产后的一类设备的使用率、最后一套模具的使用时长、结束时加工产品、结束时间等信息
- 以下为自动通知哪些工单排产后比ERP要求的完成时间有延误
- 以下为没有设定基本信息无法排产的通知,设定后可手动排产处理
其他功能逻辑
- 插入工单后,可以手动排产
- 可以手动排产上传使用人工排产单或下载信息调整排产信息上传
- 可以从某个产品开始打断排产、新工单插入在此工单之前进行重新排产处理
- 此模块排产前对各工单物料已进行了备料状态确认,未在包括在此逻辑中