编写定制批下达规则
“排产器”使用批下达规则定义到达作业添加到成形批量的数量。此规则有时被称为批数量规则。
批下达规则逻辑
在创建定制批下达规则并编写相应的批下达函数前,应理解批下达函数使用的逻辑。当指定了批定义的作业到达工序时,即调用批下达函数。
当批下达函数进行调用时,它将决定添加至成形批的数量,该数量将反过来决定已形成批的下达时间。
命名函数
您的定制批下达函数可使用非标准用户可调用函数名的任何名称。
自变量
#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);