摘要:Odoo生产计划与执行隶属于Odoo MRP与MES的运营管理解决方案。Odoo中生产计划有多种形式,从销售预测到销售运作计划(SOP)开始,到随后的主生产计划、物料需求计划(MRP)、分销需求计划(DRP)、长期生产计划,以及粗能力计划(RCCP)和详细能力
文 | 开源智造·Odoo金牌服务
主生产计划
Odoo主生产计划利用销售订单、销售预测和计划库存补给所提供的数据创建和维护产成品和关键零部件的生产进度表。当输入销售订单后,Odoo系统会自动生成能够立即供主生产计划人使用的已计划的独立需求。主生产计划模块是由需求管理、主生产排程以及长期生产计划构成。
传统的生产计划包括如下计划层次:销售运作计划、需求管理、主生产排程和物料需求计划。Odoo系统在这个方面设计比较灵活,用户可以根据自身需求组合这些计划层次。
需求管理用于创建和维护独立需求计划以及客户需求,它在销售预测和主生产排程、物料需求计划之间构架了桥梁。Odoo系统可以生成数个不同版本的需求计划用以比较,尤其体现在制作长期生产计划的场合。主生产排程是一种用于对关键零部件,或者对生产流程产生重要影响的零部件进行计划的工具。这样的物料会被标记为主排程项目,并且在做计划的时候被给予特别的关注。一旦主计划人检查并确认主生产排程的结果,在MRP运行时,零部件的物料清单就会被展开,并且计算相应的非独立需求。Odoo系统将MPS和MRP建立在产成品的计划策略上。
需求管理将预测功能和主生产排程、物料需求计划相连接,预测功能包括如销售运作计划和销售信息系统等。Odoo系统实现将销售运作计划中生成的生产率转移到需求管理中,因而Odoo的用户们将从这种计划层次的全面集成中获益匪浅。在Odoo产品组层次上计划的生产率会在转移过程中被分散到单独的产品中。用户可以在产成品层或零部件层上进行需求管理。对于专门设计的产品可以在基本产品或关键零部件层次上执行需求管理。
物料需求计划和库存控制
物料需求计划的主要功能是监控库存,决定在什么时候需要什么物料以及多少数量,并自动生成相应的订单提议(见图8-2)。
在物料需求计划中,系统在净需求量计算中将可用的库存量、来自采购或生产主计划收货与计划需求相比较。如果物料短缺,即可用库存量少于需求量,系统就会自动生成一张订单提议。另外,在Odoo物料需求计划运行中,系统会自动识别冲突状况,并且以例外信息的形式将其记录下来。从而物料需求计划人员会了解所有可能需要注意的异常状况。
物料需求计划人员可采取两种方式调出计划结果:物料需求计划清单,库存/需求概览。
(1)物料需求计划清单
物料需求计划清单是物料需求计划人员最重要的工具。对于每种物料,系统都会根据计划运行的计算结果保存所有未来库存和需求发展的记录。物料需求计划清单既可在线显示,也可打印出来。
物料需求计划人员可以利用物料需求计划清单灵活地显示功能,针对确切的问题区域进行处理。比如,用户可以显示在计划运行中所有具有排产问题的物料,以及那些需要重新计划的物料,还可以显示任何时间段的收货和发货情况。
为了发现最紧急的状况,系统可以按照可立即识别的优先级来标示例外信息,也可以从一个信息直接跳到下一个。如果希望检查在先前的计划运行中出现过例外信息,用户可以根据信息的新旧、处理情况来排列信息。
物料需求计划人员可以在每次收货或发货时调取更详细的信息。物料需求计划清单也可以直接和库存/需求情况进行比较。这就意味着上次计划运行时的计划状况可以和当前计划状况进行比较。
(2)库存/需求概览
库存/需求概览的结构和内容是和物料需求计划清单相对应的。这两个清单的主要区别在于当前对库存/需求情况的变更(如收货、生成订单等)会立即在库存/需求概览中被显示,而物料需求计划清单则是对于上一次计划运行时的计划情况的静态显示。用户可以同时比较这两个清单,这样就可以很容易地显示和分析自计划运行开始之后计划的变更情况,从而物料需求计划人员就能够始终掌控当前物料可用性状况。
产能需求计划
对任何一个制造型企业来说,产能需求计划(CRP)和排产都是基本且至关重要的功能。处理不善或产能缺乏对一个世界级制造企业可能是灾难性的。企业必须要能用最少的缓冲次数为量小而易变的生产批量完成可靠排产。
Odoo系统将生产周期排产建立在路径和网络的基础上。物料需求计划为订单提供基础日期,然后排程使用这些信息来确定订单和运营的起止日期。由于在每一个计划阶段都需要详细的排程,因此会对计划订单以及生产订单都制定排程。Odoo系统提供了制定细节层次最大的灵活度。在生产周期排程中需考虑的时间因素包括三个方面:操作时间,即设备准备和拆卸的次数(和批量大小无关),以及加工时间(和批量大小成正比);操作间隔时间,包括等待时间、移动时间、排队时间;冗余时间,即在生产程序之前或之后的缓冲时间。
下面对Odoo的生产排产和Odoo的产能管理进行详细介绍。
(1)生产排产
如果使用路径来安排计划订单,MRP就会基于批量大小以及路径中包含的操作程序计算出完成周期。如果在系统设置中有指定,Odoo就会在操作程序的起止点使用悬浮时间(见图8-3)。然而排产的执行也可以不使用路径,而使用来自相应产品主数据和物料主数据的参数来为计划订单进行排产。
起始于对产品或物料所需要的日期,计划订单通常都是向后排产的。如果向后排产超过了当前日期,那么系统可能会自动切换到起始于当前日期的向前安排。在此情况下,根据系统的设置情况,系统可能会自动减少操作间隔时间和悬浮时间。系统还可以将操作过程分解,或对它们进行排列令其重叠,从而进一步减少生产周期,直至订单满足需求日期。
生产订单也可使用路径进行排产,其算法与计划订单相同,并且既可以向前,也可以向后进行排产。系统会从任意被定义为瓶颈的操作流程出发,对之后的操作执行向前排产,而对之前的操作执行向后排产。这对用户为了优化工作中心的操作程序而不得不重新计划相关订单变得十分重要。
(2)产能管理
在Odoo中的每一个工作中心,用户都可以用任意度量单位来定义任意数量的产能。除了劳动力和机器这两大产能类别外,事实上用户可以定义其需要的任何产能类别,例如用于紧急订单的备用产能、某一流程中的能耗等。用户还可以定义产能集合,如被分配到几个工作中心的储备人员集合就属于这种产能。用户可以为同一个工作中心中不同的技能设置不同的劳动力产能。
在选择配置文件中,用户可以指定计划是在被选择产能的单独产能层面上执行的。用户可以建立工作中心和储存在人力资源管理系统中的人员主数据之间的联系,这就允许对分配到特定工作中心的员工的资质进行检查,同时还可帮助计划人员搜索某个具备稀缺技能的员工,计划人员可以将该员工与某个生产订单中的关键车间操作进行关联。
定义产能后,用户可以对每一个分配给某项操作流程的产能进行产能需求计算。由于几个产能会分配到同一工作中心,这就意味着可为同一项操作生成一个或多个产能负荷。Odoo制造系统在整个系统中都应用相同的基本产能负荷算法,其算法由工作中心的公式决定,计划人员既可以使用标准公式,也可以使用公司所专有的公式。
如果使用可以对其工作中心分配多种产能的次级操作程序,用户可以获得更加详细的计划细节。例如,用户可以用这种方式对某一计划单元中详细步骤进行描述。另外,Odoo制造系统不但将工厂维护模块中产能需求计划和人力资源模块中人员计划和发展相集成,而且完全集成了粗能力计划和详细计划。在同一屏幕显示中,用户可以看到来自详细计划和粗能力计划的产能负荷。在混合模式或流程制造业中,粗能力计划对于满足生产资源计划的需求已经足够了,一般不再需要详细计划了。
车间作业控制
Odoo的车间作业控制功能填平了生产计划和工厂车间实际生产之间的缺口,它不仅涵盖了传统车间作业控制(SFC),而且还包括文档控制、产品控制、质量管理、返工以及外包加工。制造执行系统执行由MPS和MRP生成和计划的生产需求。用户将生产需求分配给工作中心或生产线,并在此之后释放、追踪、确认、实现这些需求。Odoo系统将实时信息传递到车间现场,并将实时的信息反馈给计划和销售部门。
在车间作业控制和制造执行中,生产订单(也叫作业单)是核心数据对象。常规生产订单包括对单一物料或产品的需求。Odoo系统还可以在一张生产订单中连带生产多种产品(副产品),并将发生的成本分配给各产品。用户还可以在生产订单中指定外部加工,这将会在外部工厂车间进行加工。如果需要返工,用户可生成一张单独的返工订单,这张返工订单会被直接分配给主生产订单,另外用户也可以在某一现有订单中插入返工订单。
绝大多数生产订单来自计划订单,这是MRPⅡ的标准工作方式。用户也可以为某个产品或物料直接输入生产订单。在基于销售订单进行产品装配的时候,系统可以根据销售订单自动生成装配订单,生产订单流转过程如图8-4所示。
在生产订单的生命周期中,通常是在计划订单的起始日期到达时生成生产订单。用户可以在设置系统时为一组物料定义开始时间。用户是通过分别从路径和相应的物料清单复制操作清单和需要的物料零部件来生成生产订单的。当用户将计划订单转成生产订单或手工生成生产订单时,Odoo系统会在后台自动执行这些复制程序。
用户也可以在一组关联生产订单中处理多重生产层次,这被称为集体订单(见图8-5)。利用这种直接生产方式,用户就无需为处于各个生产层次间的次级装配过账物料转移。它也使得各个生产层面之间的同步变得更容易更透明。
在集体订单中,用户可以更新单独的订单、子目录,或者整个集体订单。数量的变更会对非独立订单立即产生影响。比如说用户可以发布、计划,或者检查整个集体订单的可用性,当用户利用直接生产来转变计划订单的时候,集体订单中的所有计划订单都会被同时转变。
在对Odoo生产订单进行处理之前必须首先释放订单。一旦把订单状态设置到已被释放,用户就可以打印车间作业文件、从库存发放物料,以及确认作业情况。在释放生产订单之前,用户必须要确定有足够的制造产能可供使用。用户可以利用图形式计划表来获得短期订单概况,并且释放生产订单。
在释放生产订单的时候,用户可以设置系统来检查零部件、生产资源以及生产工具的可用性。甚至可以通过订单类型来指定要执行的可用性检查的类型,例如动态或静态的可利用性检查。在客户进行系统用户化的时候,用户可以指定在缺乏零部件或生产资源的情况下是否可以释放某订单:用户单个的释放生产订单;也可以在订单的起始日期都属于同一释放范围的时候,将订单集合成组来释放;用户还可以对系统进行设置使得生产订单一经生成就被释放。
释放生产订单后,系统将基于预约将物料发放给相应的生产订单。在创建生产订单后,系统会为BOM零部件生成物料预约,用户可以在生产订单中改变或添加物料成分。用户使用拣配清单或物料标签将物料从库存发放给生产订单,随后系统会从相应的预约中扣除已发放的数量。
在生产订单运转过程中,为了将信息反馈给销售订单处理和车间作业计划,用户需要对生产订单的操作加以确认。确认收集了诸如产量、废料、生产时间和完成日期等重要数据,并清除产能负荷,为生产成本控制收集数据。
同时,在用户确认生产订单的最后操作时,系统会自动收货入库。或者也可以在另外一个处理事务进行汇报。用户可以通过直接入账到可用库存或质检库存的方式来处理生产上部分交货的收货,用户还可以进行衍生产品或副产品的收货。
最后,生产订单的结算意味着清除实际发生成本和收货时入账数字间的差别。订单结算显示了Odoo系统中生产和控制之间的紧密集成。通常在生产订单完成之后或月末结账之前对其进行结算。在结算时,用户可以将成本差异记入一个或多个成本对象中去。例如,可以将过量废料导致的差异记入废料成本收集器;将由于性能低劣造成的差异记入生产力问题成本收集器;或者也可以将全部差异直接记入库存账目。如果使用的是标准成本法,系统就会在总分类账的价格差异账目中做相应记录。
来源:Odoo老杨_OSCG