我希望我能解决你的问题帮助你。
Task(任务):
有一个item发送到conveyor 从4个不同的端口。其中3个端口是用百分比方法。第4个端口被定义为每30分钟发送一个。
解决:
定义一个全局表(GlobalTablePercentage)为前面3个端口。这个表有3行两列,其中第一列是百分比,第而列是端口号。
第一个全局表(iTimeEven)被用来作为TimeEvent的开关,同时它也是conveyor4的标签。
在OnReset消息器那里把Global Variable iTimeEvent 定义为0,在1800秒中以后变为可用之后设置为1,这个可以通过UserEvent或者Onreset或者conveyor4的OnMessage来实现。
在conveyor的OnEntry消息触发器那里为Global Variable iTimeEvent设置一个0值,用以等待后面的30分钟。在上游conveyor的send to port对话框里设置如下代码:
// LOCAL VARIABLE
double returnvalue;
// IF NOT TIMEEVENT THEN USE EMPIRICAL DISTRIBUTION TO DEFINE PORT
if(iTimeEvent == 0)
{
returnvalue = dempirical("GlobalTablePercentage");
}
else// ELSE USE PORT NUMBER 4
{
returnvalue = 4;
}
// RETURN PORT
return returnvalue;