我建议将您的工作流程划分为模块并代表每个模块的活动状态。
模块是主要工作流程的子集。例如,它可以按任务、人员、角色、部门等进行划分。这将大大简化工作流的表示。假设有人在许多关键时刻负责数据输入。我们可以将他的所有任务分组到一个包含相同活动、输入、输出和条件的模块(或子工作流程)中。模块可以是相互依赖和相关的。
状态是我们在模块中所处的位置。在简单的工作流程中,只有一个活动任务。在现实生活中,我们是多线程的!因此,也许在一个模块中,许多状态可以同时处于活动状态。该状态还包括活动输入、输出和内存位。
输入是执行用于评估布尔条件的活动所需的东西。它可能是一份文件、一段数据、一个信号……
输出是任务产生的结果:信息、文档、信号……
定义够了吗?
然后只需将您的工作流程转换为LADDER LOGIC,您就有了自己的状态!
参见维基百科上的梯形逻辑定义
您只显示活动状态:
- 模块的活动任务
- 需要输入/确认输入
- 需要的输出/实现的输出
- 继续的条件
看起来很抽象?
这是一个小例子......
Janet 在系统中输入数据。她管理图表的绿色任务。我们只关注她的工作,而不是其他任务。她知道如何完成工作流程中的 16 项任务。我们正在等待她继续执行以下操作,她的 Intranet 仪表板显示:
优先级 1:您必须发送采购订单以根据销售报告为下个月订购足够的铅笔。
- 任务:发送采购订单
- 输入:营销部门的预测报告
- 输出:采购订单、供应商、项目、数量
- 完成条件:已发送订单并收到供应商的订单确认
优先级2:您必须将生产拒绝的橡皮擦数量输入金融系统
- 任务:数据输入
- 输入:拒绝生产计数
- 输出:拒绝数量
- 完成条件:数据输入并确认
我们对具有数十万阶梯步骤的自动化生产系统进行了大量故障排除(工作流程太复杂而无法整体表示)。当系统被阻塞时,我们查看每个模块并确定激活任务完成缺少哪些输入。
祝你好运!