编写定制批下达规则

注意: 关于创建定制规则所要求的步骤总结,请参见编写定制排产器规则。有关该主题中所述函数的详细信息,请参见排产自定义指南,该指南可从我们的技术支持网站下载。

“排产器”使用批下达规则定义到达作业添加到成形批量的数量。此规则有时被称为批数量规则。

批下达规则逻辑

在创建定制批下达规则并编写相应的批下达函数前,应理解批下达函数使用的逻辑。当指定了批定义的作业到达工序时,即调用批下达函数。

当批下达函数进行调用时,它将决定添加至成形批的数量,该数量将反过来决定已形成批的下达时间。

命名函数

您的定制批下达函数可使用非标准用户可调用函数名的任何名称。

自变量


#include "factor.h"
double brrl(ldp, batch)
LOAD *ldp;        /* pointer to the load */
BATCHDEF *batch;  /* pointer to the batch definition */

该函数接受两种公式,一个指向负荷(类型:LOAD *),一个指向批(类型:BATCHDEF *)。

返回值

该函数返回一个值以添加至成形批(类型:double)。

以下是基于作业中数量的批下达函数的示例:


double brrl (LOAD *ldp, BATCHDEF *batch)
/*-----------------------------------------------------------------
     Batch release rule which adds the quantity on the job.
     ARGS:
       ldp - pointer to the arriving load (job)
       batch - pointer to the batch that this load will follow
                RETURNS: job quantity
-----------------------------------------------------------------*/
{
     
     return((double)ldp->losize);
{

安装定制函数

要使定制下达函数对“排产器”可用,必须调用函数 sedfbq 从 ucini1 函数将其“安装”。函数必须按以下顺序使用两个自变量:

  • 函数包括定制逻辑的批下达规则的数量。
  • 批下达函数的地址。

例如,要在规则位置 39 安装以上示例规则“brrl”:


sedfbq (39, brrl);
相关主题