18. Shift 班次元素

18.1 元素定义

Shift元素是一个逻辑开关元素,它由一组与时间段对应的“开”、“关”状态构成,且这一组时间段描述的“开”、“关”状态随着仿真时钟的推进,不断重复。即一个Shift元素的定义,就实现了一次对仿真时间轴的划分,将时间轴划分出若干个“开”、“关”时段,如果将“开”定义为工作,将“关”定义为休息,那这样的一个划分就对应着一个工作班次的定义,如下图所示:

进一步,这种对时空“开”、“关”状态划分的应用,不仅可以用于描述Labor员工的工作班次,以控制Machine设备元素对Labor员工的请求(即只在Labor元素的工作时间段内能请求到员工响应)。还可用于模型中任何建模元素的流程控制逻辑中,比如控制Conveyor元素、Vehicle元素、Buffer元素、Pipe元素、Tank元素、Processor元素、Track元素等等的输入和输出,使得建模表述更符合现实系统的行为。

由上图可以看出,一个Shift元素的定义,只需要定义出:初始工作时长、初始休息时长、循环重复的时段。其中循环重复的时段由有限数量的子时段构成,每一个子时段仅由一个工作时长,一个休息时长构成。

18.2 元素属性

在模型结构树上,鼠标双击Shift元素节点,系统弹出Shift元素属性页面对话框如下:

  • 属性参数

如图Shift元素的属性参数有:初始工作时长、初始休息时长。另外,系统提供以表格形式录入“子时段”参数的功能,在上图中每点击一次“增加”按钮,系统便增加一行用于录入“子时段”参数的表格,每个“子时段”表格由“班次名称”、“工作时长”、“休息时长”数据项构成。

其中 “班次名称”数据项下输入字符串,描述该时段的功用。“工作时长”、和“休息时长”数据项录入时长数字。

如果不满意其中某个“子时段”表格数据,可鼠标点击该行表格左侧的复选框,再点击“删除”按钮删除该行数据、或者直接在数据项表格内修改数据。甚至点击“重置按钮”对所有已录入的数据项清零,重新开始数据录入工作。

【提示1】

Shift元素属性数据项输入工作完成后需要点击“确认”按钮,以接受用户对Shift时段的定义,此时系统会对用户录入数据项的合法性进行检查,以排除工作时长为0的时段。

18.3 内部函数

点击系统模型结构树“System”节点,然后再点击其下的“Shift”子节点,系统展开Shift元素有关的内部函数节点。在流程代码编辑阶段,用户可通过鼠标双击这些函数节点来引用它们。Shift元素有关的内部函数定义如下:

  1. 函数名称:  Status(shiftName)
    函数功能:返回名为shiftName的班次元素当前的当班状态。
    输入参数 1:  shiftName,shift元素名称。
    函数返回值:shift元素当前的当班状态。
               0 非当班状态。
               1 当班状态。
              -1 函数未成功执行。