介绍

在工业批量和连续生产/运营环境中,调度涉及将诸如罐、反应器和其他加工设备之类的资源分配给生产/运营任务。第 4 层生产/运营计划确定要制造什么产品、要制造多少产品以及何时制造。根据设备、物料、人员和班次的可用性,随着时间的推移分配资源。详细的调度优化解决方案使用启发式模型描述生产/运营过程,以找到分配给定任务和资源的最佳方式。详细调度是生产的核心,与生产控制、订单处理、物料和能源控制以及维护密切相关。

ISA-95 标准是为在企业资源规划(ERP,ISA-95 第4层)和控制(第3层)层次上连接供应链而创建的。该标准与典型的生产环境密切相关,包含调度和调度所需的所有主要元素。在该标准中,调度是制造运营管理 (MOM) 的核心,与生产控制密切相关。在 ISA-95 中,详细的生产/运营计划通常发生在第 3 层。详细的生产/运营计划改进了从第 4 层获得的生产/运营计划。

ISA-95 的扩展标记语言 (XML) 实现是来自 WBF-生产技术组织的企业到制造标记语言 (B2MML)。B2MML 包括几个复杂的元素,包含各种生产设备和产品方面。从调度的角度来看,BLMML 的核心元素是“生产调度”。

有多种实现 ISA-95 标准和 B2MML 的方法。通过其灵活性和对扩展的开放性,ISA-95 还适用于订单和生产/运营相关信息从 ERP 级别向下传递的情况,并且初始生产/运营计划本身将在 MOM(第3层)系统中执行。

在某些情况下,为了能够为基于逻辑的决策提供所有必要的信息,有必要实施 ISA-95 标准不支持的数据传输。标准中未包含的此类数据(生产/运营参数)的一个示例是产品的发布日期和到期日(发货日期或者到达客户地点的日期)。发布日期是产品可以生产的确切时间。由于物料或设备的可用性,发布日期可能会受到限制。到期日同样重要,是指产品必须可用的日期,通常是由于客户的要求。

在这里,描述了使用 ISA-95 标准的调度解决方案的企业对制造 (B2M) 的集成。该应用程序展示了一种利用现有元素并使用提供的方法扩展 BZMML 文件的方法。生成的输入数据包含的信息比 ISA-95 最初设计的要多得多,因为优化是作为 MOM 级别上的一个单独模块进行的。因此,所有输入/输出信息必须通过 ISA-95 提供。另一方面,输出文件完全适合 ISA-95 环境。该案例研究还表明,许多实际应用程序只需要实现所提供元素的一小部分,并且总是有多种选择可以实现这一点。

本文是作为 MESA/ISA-95 的一种实践的一部分编写的,并作为对开发基于 ISA-95 MOM 标准的制造系​​统的一种实践的描述。

生产/运营计划系统简介

生产/操作调度系统经常在批量生产/操作中找到它们的应用。在批量生产/操作中,每个批次或产品都在连续的生产/操作阶段进行处理。每个阶段使用一个或多个并行设备单元来处理批次。调度系统采用批次订单列表并生成详细的时间表,指定在什么时间在哪个设备上生产哪个批次。在生成详细时间表时,可能必须考虑其他有限或并行的资源。因此,在详细调度中做出的最常见的决定是:

  • 资源分配:在哪里生产哪个批次,由谁生产,数量是多少
  • 批次排序:按什么顺序生产批次
  • 批次计时:确切地何时使用分配的资源生产批次

因此,一个详细的调度方案必须能够考虑工厂的相关物料流,考虑所有的生产设备项目及其当前状态,并可能还管理能源或其他有限资源的使用。

计划通常用甘特图表示,该图展示随时间向设备分配的批次。甘特图的简单图示如图 6-1 所示。在这里,六个批次被分配给三个替代设备单元。对批次进行排序,并确定每批次的生产开始和结束时间。

图 6-1:在三个并联设备单元上随时间分配六个批次的甘特图表示

调度的另一个重要方面,特别是在具有并行设备单元的多级工厂中,是通过工厂的批次路由进行批量调度。图 6-2 展示了具有三个连续处理步骤的工厂的示例,每个步骤都配备了三个并行设备单元。此处,批次 1 首先在阶段 1 中的设备 1 上进行处理,然后再移至阶段2 中的设备 5 和阶段 3 中的设备 8。这个简单的示例只是一种可能性,并提出了通过工厂的多种可能的替代路线。

图 6-2:批次 1 通过多级批处理工厂中的连续阶段和并行设备单元的路由

详细的调度是生产/运营物流的重要组成部分。如 ISA-95 标准第 3 部分所述,详细生产/操作调度的主要任务包括:

  • 创建和维护详细的生产/运营计划
  • 将实际生产/运营与计划生产/运营进行比较
  • 执行假设模拟以确定瓶颈并估计生产流速和工作流程

将详细的调度解决方案连接到控制系统可以利用这些好处,因为调度所需的大部分当前状态数据都可以自动访问。此外,该解决方案随后成为控制系统基础设施的一个功能部分,并且所使用的数据可以始终保持最新。

为了更轻松地连接到其他系统,需要很好地定义应用程序接口。重点是详细调度解决方案需要哪些信息以及解决方案应返回哪些信息,例如,第 4 层的企业计划和物流。

详细的调度活动通常是与执行的节拍是不一致的,因为它通常需要一些时间,从几分钟到几小时不等。输入解决方案的重要输入数据在调度活动完成并发布到生产时必须仍然有效。如果活动开始后实时状态数据发生变化,则必须重新计算详细计划。

一个好的详细的生产/运营计划通常是一个短生产期的计划,即开始和完成有限和特定批次生产之间的时间。详细的生产/运营计划可以通过以下一种或几种方法的组合得出:

  1. 手动:在讨论和考虑工厂限制后,规划团队使用标准化办公工具(如Excel或专门的规划支持软件)制定详细的时间表。这些软件工具可以可视化生产/运营计划,但不会生成它——所有决定都由用户做出。通常情况下,详细的时间表只是用纸笔将计划表写下来。手动生成的时间表通常被认为是好的时间表,但需要付出巨大的努力,并且对调度人员的技能极为敏感。如果没有经验丰富的计划人员,进度表的质量就会受到影响。通常,根据可用资源的当前状态在车间调整手动生成的详细计划,其中计划人员定期手动更新按计划生产的指标。
  2. 基于规则:这种方法非常接近手动方法,因为规划过程遵循一组严格的规则,这些规则基于团队的领域知识或经验。基于规则的调度的主要好处可能只是通过计算机程序加速人类行为。在基于规则的调度中,规则通常在标准或特定的业务规则软件包中实现,以在短时间内生成良好的可行调度。例如,规则可能是先使用设备1进行尽可能多的生产,然后使用设备2,依此类推。这些规则通常规定了要做出的决定的顺序,也可能有解决冲突的规则。优化很少包括在内,调度的最优性主要取决于规则的准确性和生产车间对资源和订单状态的近实时更新频率。基于规则的系统的一个典型例子是特定领域的专家系统。基于规则的调度的计算时间通常非常短。
  3. 启发式:启发式方法可以快速制定一个预计接近最佳答案或“最佳解决方案”的时间表,尽管通常既没有最优性的保证也没有最优性的度量。启发式是“经验法则”、有根据的猜测、直觉判断或简单的常识,还可以包括“盲目”的试错程序。还有基于规则的启发式方法,可以是严格规则(见上文)和直觉的混合;方法的分类是主观的,因此并不总是直截了当的。启发式方法通常会产生一个好的第一个计划或解决一个更简单的问题,该问题包含更复杂问题的解决方案或与更复杂问题的解决方案相交。它还可能涉及数学方法和搜索树。启发式方法的缺点是通常既不能保证也不能测量最优性。解决问题所需的时间在很大程度上取决于问题的大小和选择的树搜索策略。
  4. 基于模型:派生代数模型来描述工厂布局和物理生产/运营规则(和配方)。与前面讨论的规则相比,底层生产/运营规则可能指示生产/运营阶段的顺序,或者设备 1 的生产时间为 20 分钟,而设备 2 的生产时间为 40 分钟。数学模型包含以下表达式:

'生产时间(设备 1)= 20' 和'生产时间(设备 2)= 40'

'开始时间(阶段 2)> 结束时间(阶段 1)' 的批次。

基于模型的方法在找到数学最优解时有可能优于手动、基于规则和启发式方法。缺点是模型可能不完整以及计算时间长。

数学模型通常用以下方法求解:

数学优化,它提供了一种旨在实现最优性的分析和稳健方法,或者使用优化算法,这些算法可能不会导致最佳结果,但会减少计算时间。

在这些方法中的任何一种中,操作系统的人工调度员可能希望在其执行之前或执行时出于他自己的原因改变所生成的详细调度。企业对制造和过程控制的集成必须为计划的潜在变化做好准备。

详细调度的更新频率是调度到生产控制系统的集成要求的一个重要方面。此频率主要取决于生产要求、资源状态和在制品 (WIP) 订单状态的更改频率。它决定了数据交换的频率以及调度和生产控制之间的联系必须变得多么紧密,以优化生产和支持操作。

使用的方法(手动、基于规则、启发式或基于模型)也会影响更新频率。手动计划的更新频率通常低于计算机生成的计划。对于计算机生成的更新,几乎可以立即创建和实施时间表。第2层的过程控制集成会模糊甚至可能消除过程控制和详细调度之间的界限。

调度系统的接口

详细的生产/运营调度是任何过程自动化系统的组成部分,代表了物流和生产/运营之间的关键环节。随着需要更高运营效率的全球经济挑战日益增加,其重要性也在不断增长。在现代工厂中,详细调度与周围环境直接相关,例如(如上所述)与控制系统相关。生产/运营调度,与控制系统集成,直接调度计划生产,并将相关加工信息反馈给第二层的控制系统。例如,详细的调度系统可以通过各种控制系统组件收集有关工厂的当前状态信息。在生成计划之后,详细的计划系统提供新的设定点以达到目标生产计划。这需要通过第2层和第3层的实时集成快速访问相关数据,这点对系统架构提出了挑战。

ISA-95 的第 3 部分描述了详细的生产/操作调度活动。主要输入是来自第 4 层系统的生产/运营计划,它可能只定义详​​细计划功能的生产目标,而无需考虑有限的产能或资源。第 3 部分中描述的其他输入是产品定义或配方、资源可用性和报告正在进行的工作的生产跟踪信息。

ISA-95 标准第 1 部分和第 2 部分中描述的接口功能列表包括订单处理、生产控制以及物料和能源控制功能。这些调度在图 6-3 所示的功能性模型中展示,除了功能性模型中给出的接口外,详细的生产调度和维护管理功能之间业经常交换信息。特别是,阻止某些设备的计划维护活动的日期、时间和持续时间时对于有效计划的生成至关重要。

图 6-3:功能性模型

产品控制

可以在生产控制系统和详细调度系统之间交换数据。这种数据交换的一个动机是提炼车间的情况,即当前的生产/运营能力。生产/运营能力包括生产/运营的当前状态、有关可能延迟或实际设备性能的信息以及有关在生成详细计划时要考虑的可能干扰的信息。此外,计划生产的信息被馈送到调度系统,反映了现实,因为并非所有的预定订单都可能实际生产。由于设备单元在短时间内关闭或订单的生产时间比预期的要长,因此可能会发生延迟和取消。在相反方向的数据交换中,从生产/操作调度到生产控制系统,调度通常被传输到调度系统。传输包括主要的调度决策信息,即订单分配、顺序、和时间。

订单处理

从订单处理系统到调度系统的更新输入是生产/操作订单。生产/运营订单信息通常包括物料定义、数量、与配方相关的数据元素以及可能影响计划的相关属性。订单信息还包括截止日期、生产/运营订单中的批次或产品数量、产品等级、质量要求和订单优先级。

从详细的生产/操作调度系统到订单处理系统的返回输入可以是准确的生产时间以及可用的生产能力或可用性,以指示是否可以提交更多订单进行生产。大多数情况下,生产/运营订单已经在订单管理系统中选定,所有被调度的订单都应该进行计划。如果不是这种情况,则调度系统还返回关于在调度的时间范围内将生产哪些订单以及将不生产哪些订单的信息。此外,可能必须遵守其他与质量相关的规则。例如,可能有一项限制规定,不得在同一设备上直接依次生产两种截然不同的产品。如果这些规则中的一些不能被遵守,那么一些订单可能不得不推迟。

物料和能源控制

调度系统的任务是将生产/操作订单分配和计时到可用资源。这些资源通常是设备,但通常也包括物料、人员和能源,尤其是当这些资源受到限制或在当前生产/运营计划中形成瓶颈时。因此,调度与物料和能源控制是交织在一起的。通常在短期或中期考虑物料和能源控制,以便调度系统可以提供长期物料和能源需求作为输入。物料和能源控制的作用是确保所需资源在需要时可用。

在资源有限的情况下,调度系统应接收有关物料和能源限制的信息。一个好的、详细的计划会考虑到某种物料在特定时间无法用于生产的情况,并且在必要时会延迟需要这种物料的产品的制造。它还考虑了能源限制。例如,在钢铁生产中,工厂能源消耗是一个主要的成本因素。最耗能的工作可能会安排在不同的时间,以最大限度地减少非常昂贵的峰值能源需求。在其他情况下,能源密集型生产可能会转移到能源更便宜的夜间时间。同时,一些订单可能非常重要,以至于能源成本的作用微不足道。所有这些问题都可以通过在两个系统之间有效交换信息来解决。

维护管理

详细调度和维护管理之间的密切联系是必要的,因为维护操作可能会阻塞单个机器甚至整个生产线。一个好的、详细的计划说明计划的维护操作会导致生产停止、部分停机或产能下降。该信息通常在维护管理系统中可用,并应作为调度系统的输入。

计划维护操作的时间安排通常有一定的余地。定期检查、清理和翻新活动可能会安排在特定的一天,但通常可以灵活选择活动是在上午还是下午进行。为了最大限度地减少不可避免的干扰及其对生产力的影响,除了生产/运营订单的时间安排之外,一些调度系统还可以优化维护活动的确切时间,并相应地调整整个生产/运营计划,然后,有关何时应进行维护活动、维护可用性的信息将从调度系统馈送到维护管理系统,以通知维护人员。

应用于变压器厂

本节讨论调度系统在变压厂的应用。在这里,计划从未分类的生产/运营请求开始,并以完整的详细计划结束。因此,所提出的方法实际上结合了来自第4层的基本主调度活动和来自第3层的详细调度活动。

在变压器厂中,硅钢卷在不同的加工步骤中进行处理,这些处理会产生不同的形状和大小的铁芯片。最后的加工步骤是将最终成形的铁芯片进行叠装。准备和加工通常需要数小时。因此,这在变压器厂是一个批处理过程。

大多数变压器厂的每个加工步骤都有几个替代设备单元。这使得在 24 或 36 小时的时间范围内安排加工的任务变得复杂。庞大的产品组合加剧了制定良好时间表的难度。

例如,电磁绝缘件部分有三个替代绕线机。根据产品的不同,并非所有设备都可用。例如,只有在生产油浸式变压器时才可以使用绕线机1,而只有在生产电抗器时才可以使用绕线机2。

B2MML 组件

本节介绍变压器厂调度解决方案中使用的 B2MML 组件。它们与前面描述的其他系统对接。两个 B2MML 文件与其他系统交换。首先,输入文件详细说明要安排的生产/操作请求列表以及生产/操作规则。其次,输出文件指定时间表,即在什么时间将哪个生产/操作请求分配给哪个设备。可以根据这些信息生成甘特图,如图 6-1 所示,以展示调度解决方案应用的关键结果。

在这里描述的解决方案中,输入和输出文件具有相同的结构,唯一的区别是输入文件中的某些元素保持为空。输出文件中省略了其他元素以避免传输冗余数据。保持输入和输出的结构相同的优点是只需定义一个 B2MML 文件,并且只需创建一个到所有其他系统的链接。随着结构的重复,与 IT 部门和系统管理员的讨论变得更加容易。

生产/运营规则和配方信息也经常存储在第4层的 ERP 系统中。在变压器厂应用中,详细的调度优化解决方案是 ISA-95 第 3 部分中描述的 MOM 模块。由于生成计划时需要规则和配方,因此必须将它们作为 B2MML 组件输入。

在接下来的段落中,详细描述了应用程序中使用的模型,即:

  • 过程/操作段模型,定义工厂布局
  • 生产/运营计划模型,定义生产/运营请求
  • 维护模型,定义维护请求

此应用程序不需要某些 B2MML 组件,因此未包括在内。许多相关的关键信息项是订单或设备特定的,可以通过生产/运营请求和设备要求条目提供。

流程/运营部门模型

过程/操作段模型描述了过程/操作布局,并将不同的过程/操作段与设备、人员和物料需求联系起来,见图 6-4。它可能包含详细信息,例如流程/操作段相关性、工艺路线和物料相关性。例如,它可以包括中间体的生产和消费。工厂布局是调度的必要输入,以便调度解决方案可以按照正确的生产/操作顺序将作业分配给设备单元。尽管在输出文件中不需要,但可以将其保留在那里以在生成计划时重建工厂状态。

在厂调度应用的上下文中,图 6-4 中突出显示的组件是最相关的组件;其他组件,可参考ISA-95标准文档。过程/操作段模型主要用于表示加工步骤和设备。如前所述,“过程/操作段”是指一个处理步骤。每个设备单元由单独的设备段规范表示。该信息定义了整个工厂布局,在生成详细的生产/运营计划时需要考虑。

此外,调度解决方案的输入文件需要定义生产/操作规则。B2MML 表示区分一般生产/操作规则和特定于生产/操作请求的生产/操作规则。一般生产/运营规则适用于所有生产/运营请求,并在流程/运营段模型中定义。在所描述的应用程序中,所有通用生产/操作规则都由设备定义为设备段规范属性。

图 6-4:第 1 部分:过程段模型

图 6-4:第 2 部分:产品定义模型

生产/运营规则包括:

  • 清理时间:在设备上处理生产/操作请求后清理设备的持续时间
  • 持续时间:在设备上处理生产/操作请求之前设置设备的持续时间
  • 运输距离:将生产/运营需求从一个设备单元运输到下一个可能的设备单元的持续时间。运输距离以通过工厂的路线为依据,如图6-4 所示。
  • 设备可用性:设备单元首次可用的时间。设备件可能在预定时间开始时被阻塞,因为它们被先前的加热所占用或因为正在进行维护。

根据经验,将设备的生产/操作规则定义为设备段规范属性而不是将定义为过程/操作段参数通常是有利的。这可能会导致更多的条目,但允许更多的灵活性,因为可以为每个设备输入不同的值。

生产/运营计划模型

图 6-5 中的生产/运营调度模型是关键的组件,包含执行调度任务所需的大部分信息。这包括所有生产/运营请求和步骤,以及执行订单的给定生产/运营步骤所需的人员、设备和物料。此外,还可以提供特定于订单和阶段的生产/运营参数,以及生产的中间物料和成品的数量以及原材料和中间物料的消耗量。

图 6-5:生产/运营调度模型

在变压器厂应用中,生产/运营计划模型用作调度系统的输入和输出。输入包括来自订单处理系统的生产/操作请求列表,其中包含执行调度优化所需的所有相关信息。输出包含每个设备单元上每个生产/操作请求的时间安排和设备分配。

所有必要的信息都来自多个细分领域的要求和各自的设备要求以及生产/运营参数和属性。同样,相关元素被突出显示。该信息包含:

  • 订单的发布和截止日期
  • 通用订单参数,例如钢种和质量
  • 正确顺序的细分需求
  • 各细分领域的设备要求
  • 处理时间,可能在安排之前就已确定
  • 用于优化的订单优先级或惩罚信息

一个步骤可能有几个可供选择的设备,并且需要为这些步骤中的每一个指定处理时间。值得注意的是,处理时间应尽可能灵活。因此,提供了最小和最大处理时间以及标准处理时间。该时间范围指定了调度的灵活性,同时确保生成的产品属性继续满足要求。这种灵活性对于调整加工时间可能是必要的,以便连续生产序列不会被中断。

维护模型

变压器厂应用程序中使用的第三个也是最后一个 B2MML 组件是维护模型。一般情况下,维护请求是针对特定设备提出的,维护请求可能产生维护工单,进而产生维护响应。

在讨论的变压器厂调度系统中,只调度工单,不调度维护响应。B2MML 条目用于指定执行维护的时间窗口,以及要维护的设备和预期的维护持续时间。如果时间窗口大于预期的持续时间,调度优化软件会确定该窗口内最适合执行维护任务的时间。

图 6-6:维护模型的 B2MML 组件:突出显示在变压器调度应用程序中使用的组件

同时处理维护工作订单和生产/运营计划,使生产与计划的维护运营保持一致。这最大限度地减少了设备停机对生产效率的影响。

超出 ISA-95 标准的补充

ISA-95 B2MML 实现标准没有直接提供向调度系统提供所有信息所需的所有元素。但是,通过遵循 B2MML 扩展指南,在嵌入缺失元素时几乎可以完全保持在标准的结构化框架内。

本节将介绍实施变压器厂调度应用程序所需的一些扩展。尽管这些扩展适用于变压器厂调度解决方案的这个特定示例,但建议类似的扩展应该适用于其他调度解决方案。

超出标准的主要新增内容是由于生产/运营订单的顺序依赖性而产生的。这些序列依赖性必须为每个生产/操作订单表示,因此不适合标准的产品段依赖性。如果没有依赖于设备、订单和可能的下一个订单的元素,提供依赖于序列的转换时间可能会非常麻烦。

在这里,实施是通过工艺/操作部分中的标准生产/操作参数完成的。

选择处理时间

在 ISA-95 标准中,生产/运营请求的段要求包含持续时间字段。但是,所讨论的案例需要一个持续时间范围,而不是一个固定的持续时间。这是通过属性实现的,通过针对最小、最大和标准处理时间的单独设备要求属性来实现。可以为每个生产/操作订单和每个设备单元指定这些时间。

两个设备单元之间的距离

对于生成详细调度的调度解决方案,必须知道每个段的处理时间。此外,设备单元之间的运输时间通常很长,必须加以考虑。例如,从绝缘车间到线圈车间需要20分钟,而从线圈车间到入炉只需要5分钟。调度解决方案需要这条信息来遵循工厂中的首选路线。在所描述的解决方案中,运输时间与场地路线无关并且可以嵌入到段需求元素中。

根据 ISA-95,不能在属性中包含设备 ID。为此需要两种替代方法来使用 描述元素,或者为此目的定义一个类型为“Any”的元素。根据实施,这种类型的信息也可以作为设备段规范属性提供。

维护时间

维护部分几乎完成,除了无法明确提供的维护请求的请求持续时间。

维护工单的使用与 ISA-95 中的定义略有不同。计划开始和结束时间定义了所需维护时间窗口的开始和结束时间。持续时间字段作为“Any”类型的元素实现,对应于所需的实际维护时间。无需更改 B2MML 模型即可轻松实现此扩展。

标准的扩展

以下功能目前不受 ISA-95 支持,因此不包含在 B2MML 中,但它们是向应用程序中的调度模块提供相关信息所必需的:

  • 订单价格/价值:订单的价格/价值应直接位于生产/运营请求下,例如,可以在生成计划时在目标方法中使用。但是,在此级别没有生产/运营参数的条目,而是使用了优先级。或者,可以将价格或价值插入到每个生产/运营请求的成本核算段下,这将提供有关生产/运营订单利润的反向信息。
  • 依赖于序列的转换时间:这是调度系统的一个非常常见的输入,允许对排序选项进行排序。因为包括依赖于序列的转换时间需要参考两个订单,可能还需要参考一个段或设备,所以缺少以直接方式执行此操作的要素。
  • 生产/运营请求的发布和截止日期:这是一个非常简单的问题,不应涉及除标签之外的任何更改。当前元素“开始时间”和“结束时间”用于此目的,但截止日期尤其可以预期为生产/运营计划元素中的标准元素。

在变压器厂调度解决方案中,这些功能目前尚未实现,而是使用变通方法来确保符合 ISA-95。在这种情况下,它们可以通过使用标准生产/操作参数和类型“Any元素来实现。B2MML 扩展也允许变通方法。

系统实施

在讨论的变压器厂调度应用中,开发了一种结合启发式的基于模型的优化方法。这保证了可靠、快速的计算和最佳或接近最佳的时间表。软件架构中包含对专用数学优化求解器的调用。图 6-7 展示了解决方案组件,可以看出,ISA-95 接口已作为解决方案中的一个模块完成。这提供了最大的灵活性,例如,在迁移到标准的新版本或向输入/输出例程添加一些元素时。

图 6-7:调度系统组件概述

结论

在这个例子中,很明显标准不能直接满足或提供可能出现的所有特定数据集成需求的指南。然而,通过提供可扩展的标准化数据格式和结构,以及任何兼容系统可读的定义明确的接口,ISA-95 标准可以并将显着减少集成工作。

使用 ISA-95 标准的主要好处并不直接来自软件开发,但是,遵循标准会加快数据交换结构的设计速度,因为它限制了可能的替代方案的数量。并且,熟悉标准的专业人士可以很容易地找到相关信息,因此其他应用程序的可重用性更高。由于该标准已被很好地记录在案,因此也无需重新执行此操作。最后,使用中性标准还允许跨公司边界的解决方案集成,由于需要在各种专业解决方案提供商之间进行协作,这在今天是一个重要问题。B2MML 的主要缺点是文件相对较大,对上述标准的所有必要扩展都可以以相对简单的方式实现。

在变压器厂中使用 ISA-95 应用程序进行调度集成的更多相关文章

  1. Visual Studio中创建混合移动应用程序解决方案Xamarin Portable Razor

    在Visual Studio中创建混合移动应用程序的一个解决方案是使用Xamarin Portable Razor工具,这是ASP.NET MVC API针对移动设备的一个轻量级实现.Xamarin编 ...

  2. java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配

    今天把sql server 2008 r2装了起来,64位的,然后就迫不及待地体验连接数据库的操作,编程语言是java.我一开始学了一种非常老的连接方式,使用JDBC-ODBC桥.初次使用不太熟练,所 ...

  3. [Microsoft][ODBC 驱动程序管理器] 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配

    环境:  操作系统:64位WIN7   数据库:SQL Server 2000 SP1  开发语言:J2EE 在Servlet连接数据库时出错提示:  [Microsoft][ODBC 驱动程序管理器 ...

  4. 在Eclipse中使用MAT分析Android程序内存使用状况(转)

    对于Android这种手持设备来说,通常不会带有太大的内存,而且一般用户都是长时间不重启手机,所以编写程序的时候必须要非常小心的使用内存,尽量避免有内存泄露的问题出现.通常分析程序中潜在内存泄露的问题 ...

  5. 【转】Tomcat中部署java web应用程序

    http://www.blogjava.net/jiafang83/archive/2009/06/02/279644.html 转载:今天给大家介绍怎样在Tomcat5.5.9中部署Java Web ...

  6. 如何在ExtJS 6中使用Fashion美化应用程序

    在Ext JS 6,一个最大的改变就是框架合并,使用一个单一的代码库,就可以为每一种设备开发各具有良好体验的最好应用程序.它还带来了一种美化应用程序的新方式. 在本文,重点是Sencha Fashio ...

  7. 在Tomcat中部署Java Web应用程序

    在Tomcat中部署Java Web应用程序有两种方式:静态部署和动态部署.在下文中$CATALINA_HOME指的是Tomcat根目录. 一.静态部署      静态部署指的是我们在服务器启动之前部 ...

  8. 如何在KEIL中编写模块化的C程序

    在KEIL中的模块化程序写法在使用KEIL的时候,我们习惯上在一个.c的文件中把自己要写的东西按照自己思路的顺序进行顺序书写.这样是很普遍的写法,当程序比较短的时候比如几十行或者一百多行,是没有什么问 ...

  9. WEB服务器4--IIS中网站、Web应用程序和虚拟目录

    网站.Web应用程序和虚拟目录 在IIS中可以创建网站.Web 应用程序和虚拟目录,以便与计算机网络上的用户共享信息. “网站”.“Web 应用程序”和“虚拟目录”这三个概念的关系如图 8‑1所示. ...

随机推荐

  1. pipeline 结构设计

    目录 一.pipeline步骤 二.案例 pipeline详解 只生成一次制品 不同环境部署 系统集成测试 指定版本部署 一.pipeline步骤 当团队开始设计第一个pipeline时,该如何下手呢 ...

  2. IOS学习路径

    iOS Developer Roadmap Start your journey today! Where Do I Start? Becoming an iOS developer is a lot ...

  3. 系统丢包net.netfilter.nf_conntrack_max 超限查看

    sysctl  net.netfilter.nf_conntrack_max  查看限制 sysctl net.netfilter.nf_conntrack_count 查看当前是否超限 echo n ...

  4. textarea标签换行符以br存入数据库 ,br转 textArea换行符

    textArea换行符转 <br/> textarea标签回车符是/n,在html里识别回车是<br/>,在存入数据库之前要进行转换成<br/>,在取出展示在htm ...

  5. c++模板移除引用

    背景 一个函数内部需将函数内的一个变量转为其参数的类型, 函数的参数是引用 本文要演示的环境需要c++11支持(使用了新的关键字 using) 例如 get_value 内部将dobuble类型数据转 ...

  6. iOS越狱插件源查找及避免插件劫持

    1.关于 iOS越狱插件源查找地址:https://www.ios-repo-updates.com/ 2.注意 不要使用不可靠的第三方源,其可能存在劫持,而你却茫然不知. 使用上面的网站查找你需要的 ...

  7. c++之sigslot库

    关于 本文演示环境: win10 + VS2017 1. demo #include <iostream> #include "sigslot.h" using nam ...

  8. Java 8 后的新功能梳理

    为什么要写这篇文章 经过了若干年的发展,Java逐步从java8升级为java11,java17. 让我们对比学习一下最新一版的LTS版本和java8比起来让代码简化了多少. 文本块(Text Blo ...

  9. 聊一聊Yarp结合Nacos完成服务发现

    背景 Yarp 这个反向代理出来后,相信还是有不少人在关注的. 在 Yarp 中,反向代理的配置默认也是基于配置文件的,也有不少大佬已经把这个配置做成了数据库配置+可视化界面. 仔细想了想,做成数据库 ...

  10. 【LeetCode】1408. 数组中的字符串匹配 String Matching in an Array

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 暴力遍历 日期 题目地址:https://leetco ...