基于事件排产的工作原理
如果用户为排产器提供所有条件和数据,排产器可以创建对将要发生事件的模拟。当运行该模拟时,排产器查看在给定时间发生的所有事件。然后它及时前移到发生任何事件的下一点。因此,每次运行排产时,重新排产全部需求(作业、预估、生产排产、MPS 订单和 APS 计划订单)。
当排产运行完成后,排产器生成对模拟排产执行情况进行汇总的输出数据。例如,如果一道工序空闲了一个小时,汇总信息将有助于确定原因(例如,所需资源可能繁忙)。然后可调整数据以使排产具有更高的效率,例如可通过调整早期作业的开始日期以加快资源的释放。如果排产结果可接受,可打印一份资源派工列表交给车间工作人员以执行该排产。
关于排产器跟踪日志
跟踪日志记录排产器处理的所有事件(将跟踪日志配置为在车间管理参数表单中的“广泛的”“明细级别”上进行记录时)。在日常排产器活动中,跟踪日志仅用于排除故障。但是,它是一个逐步演示的范例,说明排产器如何处理排产中的每个事件。因此,在该帮助主题中示例的事件是以与在跟踪日志所看到的相同的格式来演示的 (为清楚起见在该示例中已简化)。
事件处理示例
在该简单示例中,观察排产器的事件视图。假定以下条件:
- 物料 BK-110 有一个包含工序 Oper110 的工艺流程。
- 工序 Oper110 需要资源组 ST1 的资源。
- ST1 包括一个资源,班组 1。资源在示例中说明的时间在班。
- 工序 Oper110 有 15 分钟的加工持续时间。加工持续时间就是在工序中完成负荷的时间。根据在工序中定义的“排产器规则”,这表示一个固定时间或每件时间。在该示例中,加工持续时间表示每件时间。
- BK-110 的作业 110-0000 在 2004 年 2 月 27 日上午 8:00 为三个数量下达。
- 排产在 2004 年 2 月 27 日上午 8:00 开始。
事件 | 说明 |
---|---|
SCHEDULE TIME ADVANCE TO 02/27/2004 8:00:00 | 排产器移动到第一个事件发生的时间 (排产本身要设置得更早一些开始)。 |
02/27/2004 8:00:00
START OF JOB ARRIVAL EVENT FOR JOB Job110-0000 RELEASING LOADS FOR JOB Job110-0000 CREATING LOAD 1, SIZE 3 OPERATION Oper110, SELECTED AS FIRST |
下达作业并且排产器将作业数量放入称作负荷的一个单位中。在大多数情况下,负荷包括整个作业数量 (在有些情况下,作业数量可分解为几个负荷)。指出工艺流程中的第一道作业工序。 |
02/27/2004 8:00:00
START OF OPERATION EVENT PROCESSING OPERATION Oper110, LOAD 1 OF JOB Job110-0000 SCHEDULING END OF MOVE FOR OPERATION AT 02/27/2004 8:00:00 |
如果已为该工序定义任何“移动”时间,“排产器”可能已在此计算它的持续时间。在该示例中,没有为工序定义任何“移动”时间。 |
02/27/2004 8:00:00
START OF OPERATION EVENT PROCESSING OPERATION Oper110, LOAD 1 OF JOB Job110-0000 REQUESTING RESOURCE GROUP ST1 REQUESTING RESOURCE Crew1 FROM GROUP ST1 ALLOCATION NOT COMPLETE |
排产器强制第一道加工工序延缓分配资源,直到资源可为未决请求复核其请求队列。将请求输入到资源的请求队列中。
有关请求队列的详细信息,请参见“使用排产器规则”。 该延缓包括一道优先级更高的工序与一道优先级较低的工序同时到达的可能性,从而允许让更为关键的工序分配资源。 |
02/27/2004 8:00:00
START OF RESOURCE FREE CHECK EVENT FOR RESOURCE Crew1 PROCESSING OPERATION Oper110, LOAD 1 OF JOB Job110-0000 ALLOCATING 1 UNITS FROM RESOURCE GROUP ST1 CANCELING REQUEST FOR RESOURCE GROUP ST1 CANCELING REQUEST FOR RESOURCE Crew1 FROM GROUP ST1 ALLOCATING RESOURCE Crew1 FROM GROUP ST1 ALLOCATION COMPLETE SETUP NOT NECESSARY OR OF ZERO DURATION SCHEDULING END OF SERVICE FOR OPERATION AT 02/27/2004 8:45:00 |
“班组 1”资源检查其请求队列查看有无任何未决请求,并从 OperBK001 的负荷中找到该请求。
排产器从资源组 ST1 分配“班组 1”资源,并计算完成工序所需的时间。 |
SCHEDULE TIME ADVANCE TO 02/27/2004 8:45:00 | 排产器移到下一个事件发生的时间。 |
02/27/2004 8:45:00
START OF OPERATION EVENT PROCESSING OPERATION Oper110, LOAD 1 OF JOB Job110-0000 FREEING 1 UNITS OF RESOURCE GROUP ST1 FREEING RESOURCE Crew1 FROM GROUP ST1 RESOURCE Crew1 IS NOW IDLE SCHEDULING END OF COOL FOR OPERATION AT 02/27/2004 8:45:00 |
工序完成并释放资源“班组 1”。
资源“班组1”当前空闲并可供任何其他的工序分配。 如果已为该工序定义任何“完成”时间(即,冷却时间),排产器在此计算它的持续时间。在该示例中没有附加的过帐工序处理。 |
02/27/2004 8:45:00 START OF RESOURCE FREE CHECK EVENT FOR RESOURCE Crew1 REQUEST QUEUE EMPTY | 当释放资源时,复核任何其他的工序是否在繁忙时已请求它。在该示例中,对于该资源无未决请求。 |
02/27/2004 8:45:00
START OF OPERATION EVENT PROCESSING OPERATION Oper110, LOAD 1 OF JOB Job110-0000 END OF PROCESS FOUND SELECTING NEXT OPERATION END OF PROCESS FOR LOAD 1 OF JOB Job110-0000 0 LOADS OUTSTANDING JOB Job110-0000 COMPLETE |
每道工序指定工艺流程中的下一个工序。在该示例中,排产器未找到下一个工序,因而它完成了作业。 |
SCHEDULE HALTED BECAUSE THERE WERE NO MORE JOBS TO PROCESS
SCHEDULE END AT 02/27/2004 8:45:00 |
排产现在完成。 |