Enterprise Server Workspace 可以连接到一个或多个 PLM 实例,并直接支持 Windchill®、Arena®、Oracle® Agile™、Aras Innovator® 以及 Siemens Teamcenter®(需要额外设置)。接口配置通过 Workspace 的浏览器界面完成,大多数配置在基于 XML 的配置文件中定义(通过 Workspace 上传)。当接口搭建并正常工作后,在以下几个不同领域中工作时将提供相应的特性与功能:
- 库(元器件)——用于在 Workspace 与 PLM 实例之间,对元器件、元器件参数以及器件选型进行单向或双向同步。配置允许你指定哪些参数由哪个系统作为主数据(master)。此外,条目参数(item parameters)使你能够在 Workspace 侧更新属性(可按字段配置),而无需正式发布该元器件条目的新修订版本。还提供专用的 Part Request 工作流,支持在你的 PLM 实例中自动创建元器件,并将生成的 PLM 物料编号回传并同步到 Workspace 中的元器件。
- 设计(项目)——提供专用的 Project Creations 工作流,支持在你的 PLM 实例中自动创建物料编号,然后将其作为 Altium Designer 项目的参数进行回传。这些参数可用于特殊字符串(例如用于图纸边框标注)。你可以在 Altium Designer 中运行 Project Releaser 时,将设计发布到你的 PLM 实例。发布操作使用发布模板(作为 PLM 实例集成配置的一部分进行定义)来控制数据应如何传递到 PLM。并且如果你是首次发布,且(PLM 侧的)物料编号尚未与该项目关联,那么这些物料编号会在 PLM 中创建,并在首次发布过程中与项目建立关联。你还可以在发布操作中(可选,取决于配置)为 Workspace 库元器件在 PLM 实例中定义元器件条目。并且你始终可以在流程工作流的历史记录(History 选项卡)中清楚看到已创建的内容,例如在 PLM 实例中创建的物料编号等。
PLM 支持
Enterprise Server Workspace 直接支持以下 PLM 系统:
- PTC Windchill® PLM 版本 12
- Arena® PLM
- Oracle® Agile™ PLM
- Aras Innovator® 12.0 SP18 版本
Additional Setup for Aras Innovator
要实现与 Aras Innovator 的 PLM 集成,需要通过在其客户端注册表中添加一个新的节点段,将你的 Altium 服务器注册到 Aras Authentication setup。注册完成后,会为已连接的服务器授予一个唯一的 OAuth token,用于认证访问。
对 Aras Innovator 配置所需的更改,是通过编辑其 OAuth 客户端注册表文件来完成的:
-
在 Aras 主机上,打开
\OAuthServer\OAuth.config文件进行编辑。 -
找到并复制 IOMApp 段——从
<clientRegistry id="IOMApp" enabled="true">行到</clientRegistry>行。 - 将复制的 IOMApp 段紧接着粘贴在其后,以创建一个新的(重复的)段。
-
在这个新的节点段中,将
IOMApp重命名为NEXUS——结果为<clientRegistry id="NEXUS" enabled="true">。参见示例。 - 保存,然后重启 Aras 机器。
-
Siemens Teamcenter®,需要额外的 integration setup。
- Workspace 还提供 Configuration Generator,它会通过分析当前 Workspace 的数据模型来创建 PLM 配置。生成的配置包含当前 Workspace 中可用的所有元素(元器件类型与参数等),并面向指定的(且受支持的)目标 PLM 系统。
连接到你的 PLM 实例
连接到你的 PLM 实例需要在 Workspace 浏览器界面的 Admin – PLM Integration 页面中完成。这包括上传适用的基于 XML 的配置文件和发布模板,并启用/配置 PLM 元器件与 Workspace 中元器件的同步。
安装包中提供了示例配置文件和发布模板——展开以下部分以获取更多信息:
Sample Configuration Files
示例配置文件可通过 Add new instance 视图获取——在 Configuration 选项卡下,点击 Download sample configuration 链接以获取 zip 文件 ConfigurationSamples.zip。该 zip 包含 Windchill、Arena、Aras 和 Agile PLM 系统的初始配置文件:
- dm-Windchill-config-basic.xml
- dm-Arena-config-basic.xml
- dm-Agile-config-basic.xml
-
dm-Aras-config-basic.xml -
dm-Teamcenter-config-basic.xml(当 Teamcenter PLM Addon license 已添加到 Workspace 时可用。)
示例配置文件作为 Enterprise Server 安装的一部分提供。
随附的配置包含几个具有代表性的元器件实体段(例如:Capacitors 和 Diodes),其中每个都包含基本的 ToPLM 以及 ToAltium 属性/参数映射子段。你可以在示例文件基础上增补与编辑,以适配你公司的 PLM 实例与需求;也可以创建你自己的配置文件;或使用 Configuration Generator 创建与 Workspace 数据模型匹配的基础配置文件。
Sample Publishing Templates
示例发布模板可通过 Add new instance 视图获取——在 Publish Template 选项卡下点击
按钮,然后在 Publish Template 窗口中点击 Download sample configuration 链接以获取 zip 文件 PublishTemplateSamples.zip。该 zip 包含以下文件:
- dm-Windchill-publish-template-basic.xml
- dm-Arena-publish-template-basic.xml
- dm-Agile-publish-template-basic.xml
-
dm-Aras-publish-template-basic.xml -
dm-Teamcenter-publish-template-basic.xml(当 Teamcenter PLM Addon license 已添加到 Workspace 时可用。)
示例发布模板作为 Enterprise Server 安装的一部分提供。
请根据你公司的 PLM 实例与需求对其进行修改,或创建你自己的模板。
请注意,在示例发布文件中,已配置以下重要区域:
-
在发布过程中如何处理 PLM 侧的元器件创建与关联(“BOM Strategy”)。可用选项如下:
- LinkExistingOnly——关联 PLM 中已存在的元器件,但不创建 PLM 中不存在的元器件。
- CreateNewAndLink——关联 PLM 中已存在的元器件,并创建并关联那些不存在的元器件。
- LinkIfAllExists——不创建 PLM 侧不存在的元器件;仅当所有元器件都存在于 PLM 中时才进行关联。
-
用于定义将发布输出发布到 PLM 的方式与位置的一组规则:
- 用于处理(父)项目数据的规则。
- 用于处理源数据的规则。
- 用于处理装配数据的规则。
- 用于处理制造数据的规则。
通过
按钮添加新的 PLM 条目时,使用
按钮浏览并应用已适当保存/修改的 PLM 配置。
同样地,可通过 Publish Template 选项卡下的
按钮添加兼容的发布模板。在随后的 Publish Template 对话框中,使用
按钮浏览并选择正确的模板文件。
添加并配置与公司 PLM 系统的接口。连接有效后,你就可以根据该实例的活动发布模板,使用已定义的流程定义将项目发布数据发布到 PLM 系统中,并且还可以计划在该 PLM 与 Workspace 之间进行元器件同步。
与其使用随附的配置文件来创建新的企业系统实例,也可以使用 Workspace 的内部配置生成器来创建一个自适应配置,其结构源自 Workspace 的数据模型。生成器会请求连接信息(PLM 类型与 URL),然后查询 Workspace 中已注册的元件类型(电容、二极管等)及其匹配的 Component Templates,以构建基础配置文件——点击以下可展开章节了解更多信息:
Configuration Generator
在 Workspace 中通过 Add new instance 页面上的 Generate configuration 链接可使用自适应配置功能;该页面由 Workspace 中的
按钮打开。
在 Generate Configuration 对话框中,选择要连接的企业系统类型——可用的 PLM 类型之一(Windchill、Arena 等)——然后输入其远程 URL。选择
按钮以创建一个新的 dm-configuration.xml 文件;随后可将其保存,并通过
按钮将其添加到新的 PLM 实例中。
生成器会创建与当前 Enterprise Server 安装的数据模型相匹配的配置。例如,在 Workspace 中注册的 Component Types 会作为实体类型添加到配置文件中(dm-configuration.xml)。每个实体章节都包含匹配的 ToPlm 与 ToAltium 章节,以及从对应元件模板(如可用)获取的映射参数。同时还包含项目发布章节,用于将发布包元素映射到企业系统。
生成的配置中所有章节都包含 TODO 注释,用于标出需要添加或修改以兼容你的 Workspace/PLM 配置的区域。关于如何编辑配置文件以适配你的 Workspace/PLM 设置的更多信息,请参阅随附示例配置文件中的说明性注释。
连接验证
Workspace 提供全面的 PLM 实例连接验证检查,可在 Add/Edit Instance 页面中通过
按钮使用。该功能会执行一系列配置兼容性检查,并立即报告结果。
运行连接验证报告时,Workspace 会分析当前配置与发布模板设置,检查其与 Workspace 以及目标企业系统数据的兼容性。诸如路径错误、未匹配的元件类型定义与参数、无效的生命周期或修订版本设置等配置问题,会在以下 Configuration Validation Report 对话框中被检测并报告。
如果报告了配置错误——导致总体状态为 ERROR(Status)——则必须先解决这些问题,才能创建新实例。WARNING 状态表示存在诸如“Workspace 元件类型未包含在配置中”或“指定属性在企业系统侧不可用”等问题;在这种情况下,仍允许保存并使用已配置的实例。
随后可在所应用的配置/发布文件中修正已报告的错误与警告,和/或通过更改 Workspace 或企业系统的设置来解决。实例成功定义后,请务必点击
按钮。该实例将出现在已连接实例的当前列表中,位于界面主 PLM Integration 页面。
元件同步
Workspace 与已连接的企业系统实例之间的元件同步——更准确地说,是其参数化数据——基于 LibSync 流程工作流。LibSync 该流程在 Workspace 中预定义,且无法从 Workspace 的 Admin - Processes 页面访问(或编辑)。不过,作为基于工作流的流程,其同步动作的结果可以查看,并可处理任何错误。
使用同步流程包括以下内容:
-
为每种元件类型配置同步设置,实际包括:
- 确定同步方向(同步到 Workspace,或同步到 PLM)。
- 确定涉及哪些元件类型,以及新元件应创建在何处。
- 配置映射或参数属性。
- 如适用,配置 Part Choices 数据映射。
- 执行同步。
上述前两组事项在用于已连接企业系统实例(如 PLM)的配置文件中处理。同步本身可按需执行,可在 Workspace 界面的 PLM Integration 页面中触发,且/或可进行 计划——即按周期自动同步,该周期在配置与 PLM 实例的连接时定义。
配置同步
在配置文件中,企业系统实例的连接性在 Instance 标签之间定义为指定的 Driver 类型与目标 URL。当使用 Configuration Generator 创建配置文件时,其中包含的 Driver 与 URL 引用即为生成过程中在 Generate Configuration 对话框中输入的内容。
<Instance>
<Driver>[Driver Type]</Driver>
<Url>[PLM API URL]</Url>
</Instance>
在配置文件的后续 Schema 章节中,你需要为每一种专用的零件类型定义一个同步映射章节。在 Workspace 侧,这是类型为 altiumType 的元件——其值是类型参数选项之一,可在 Altium Designer 的 Preferences 对话框中的 Data Management - Component Types page 里看到。在 PLM 侧,会创建一个类型为 plmType 的零件,其类型由其在 PLM 空间中的取值决定。
该章节在文件中声明为一个 Entity ,例如对于电容,可能如下:
<Entity altiumType="Capacitor" plmType="Capacitor">
.
.
</Entity>
在 Entity 中,使用两个部分来控制并配置从 Workspace 到 PLM 实例、以及从 PLM 实例到 Workspace 的同步——从而支持单向或双向同步。请结合示例配置文件中的注释使用以下部分,以了解更多信息。最终,配置文件中定义的内容会因你的具体需求而异,同时也取决于已在所连接的企业系统实例中定义的(PLM)属性。
ToPlm
此部分用于控制并配置从 Workspace 到 PLM 实例的同步,形式如下:
<ToPlm sync="true">
.
.
</ToPlm>
在 ToPlm 部分中,定义了以下内容:
- 在 PLM 实例中如何创建新元器件——位于标签集 <CreateInfo> 与 </CreateInfo> 之间。一个示例是选择目标企业系统中定义的物料命名方案,并指定物料编号前缀:
<CreateInfo>
<Numbering name="Electrical">
<Fields>
<Field name="Code" value="120"/>
</Fields>
</Numbering>
</CreateInfo>
-
用于过滤,以限制 Workspace 中哪些元器件会与 PLM 同步——位于标签集
<SourceCriteria>与</SourceCriteria>之间。源数据的传播可以通过对参数属性进行布尔逻辑组合来约束;多个属性集合可通过 AND、OR、NOT 逻辑子句的基本应用,解析为特定的过滤结果。如果你的 Workspace 中有例如 6000 个电容,但只希望同步其中某个文件夹里的 85 个陶瓷电容,那么此功能会非常有用。在这种情况下,你只需在
SourceCriteria标签集中指定该文件夹路径,并可选地添加其他参数属性以进一步收紧源数据约束——例如 0603 封装类型。分组条件之间的关系隐含为 AND 逻辑运算符,因此下面的示例会将 Workspace 中 0603 封装的陶瓷电容同步到 PLM。<SourceCriteria> <Folder>Components/Capacitors/Ceramic</Folder> <common:Attribute> <common:Key>Case/Package</common:Key> <common:Value>0603</common:Value> </common:Attribute> </SourceCriteria>此外,还提供了专用的 OR 逻辑标签集(
<Or>…</Or>)以及 NOT 逻辑排除标签集(<Not>…</Not>),可添加在SourceCriteria节点部分中。使用这些选项时,OR 逻辑适用于添加在<Or></Or>标签内的参数属性集合,而 NOT 逻辑适用于<Not>…</Not>标签内的参数属性集合。一个示例是:额外要求 Lifecycle 状态为Approved或Released,但排除(NOT)Classification 参数值为SpecialOrder的物料。此时完整的逻辑过滤为:<SourceCriteria> <Folder>Components/Capacitors/Ceramic</Folder> <common:Attribute> <common:Key>Case/Package</common:Key> <common:Value>0603</common:Value> </common:Attribute> <Or> <common:Attribute> <common:Key>Lifecycle</common:Key> <common:Value>Released</common:Value> </common:Attribute> <common:Attribute> <common:Key>Lifecycle</common:Key> <common:Value>Approved</common:Value> </common:Attribute> </Or> <Not> <common:Attribute> <common:Key>Classification</common:Key> <common:Value>SpecialOrder</common:Value> </common:Attribute> </Not> </SourceCriteria>
- 应从 Workspace 传递到 PLM 的元器件属性(参数)列表——位于标签集 <Attributes> 与 </Attributes> 之间。示例如下:
<Attributes>
<!-- Name/Comment from Altium Server will be passed to PLM field Name 'as is' -->
<common:Attribute>
<common:Key>name</common:Key>
<common:Value>${parameter.Name}</common:Value>
</common:Attribute>
<!-- Number generated on PLM side will be propagated to Altium Server -->
<!-- as PlmPartNumber parameter (note: any parameter name can be used)-->
<common:Attribute attributeType="item" primaryKeyOrdinal="1">
<common:Key>number</common:Key>
<common:Value>${parameter.PlmPartNumber}</common:Value>
</common:Attribute>
<!-- Altium Server component description will go to PLM field Description. Value will be prefixed with 'Extended' -->
<!-- Description on Altium Server side is a revision level parameter -->
<common:Attribute attributeType="revision">
<common:Key>description</common:Key>
<common:Value>Extended ${parameter.Description}</common:Value>
</common:Attribute>
<!-- This attribute will not be pushed to PLM component as part of library synchronization -->
<!-- It is being used to pass values during project publish with BOM -->
<common:Attribute>
<common:Key>refDes</common:Key>
<common:Value>${parameter.LogicalDesignator}</common:Value>
</common:Attribute>
<!-- RoHS field in PLM will be set to 'YES' -->
<common:Attribute>
<common:Key>RoHS</common:Key>
<common:Value>YES</common:Value>
</common:Attribute>
</Attributes>
ToAltium
此部分用于控制并配置从 PLM 实例到 Workspace 的同步,形式如下:
<ToAltium sync="true" mode="createAndUpdate">
.
.
</ToAltium>
可选的
mode 语句用于确定元器件数据如何从企业系统同步到 Workspace。默认模式(createAndUpdate)允许在 Workspace 中创建新元器件,并更新现有 Workspace 元器件;而替代的 updateExisting 模式仅允许更新现有 Workspace 元器件。
在 ToAltium 部分中,定义了以下内容:
- 在 Workspace 中如何以及在何处创建新元器件——位于标签集 <CreateInfo> 与 </CreateInfo> 之间。
<CreateInfo>
<!-- <ComponentTemplate>TODO component template Revision ID</ComponentTemplate> -->
<RevisionNamingScheme>1-Level Revision Scheme</RevisionNamingScheme>
<LifecycleDefinition>Component Lifecycle</LifecycleDefinition>
<Folder>Components/Inbox/Capacitors</Folder>
</CreateInfo>
当在 Workspace 中创建一个元器件条目时,如果已指定,将使用与目标 Workspace 文件夹(如上例中的 Components/Inbox/Capacitors)关联的 Component Template。这也会定义用于所创建元器件的 Item 命名方案,并覆盖目标 Workspace 文件夹中已指定的命名方案——反之,如果该文件夹既未定义模板也未定义命名方案,则同步将失败。
另请注意,在示例配置中,定义了要使用的默认修订版本命名方案(1-Level Revision Scheme)和生命周期定义(Component Lifecycle)——如果目标 Workspace 文件夹关联了元器件模板,则这些设置会被覆盖。
如果在配置中添加了特定的元器件模板引用(例如:CMPT-00001),则将使用该模板,而不是使用与目标 Workspace 文件夹关联的模板。其设置将覆盖配置文件中的任何参数设置(例如生命周期定义等),但已定义的目标 Folder 除外。
<CreateInfo>
<!-- A specified Template overrules other CreateInfo settings, except the target Folder -->
<ComponentTemplate>CMPT-00001</ComponentTemplate>
<RevisionNamingScheme>1-Level Revision Scheme</RevisionNamingScheme>
<LifecycleDefinition>Component Lifecycle</LifecycleDefinition>
<!-- A specified target Folder overrules that defined in an applied Template -->
<Folder>Components/Inbox/Capacitors</Folder>
</CreateInfo>
请注意,所指定的模板仅适用于新创建的 Workspace 库元器件。此方法对于将专有元器件参数从外部系统导入/同步到 Workspace 的管理尤其有用。在这种情况下,可以应用定制的 Component Template 来解析传入的参数数据、设置合适的默认值、指定单位数据类型,并为新创建的 Workspace 库元器件指定 Lifecycle Definition 和 Revision Naming scheme。
- 对从企业系统(PLM)实例检索的数据进行过滤——位于标签集 <SourceCriteria> 与 </SourceCriteria> 之间。过滤语句可以将从 PLM 接收的元器件数据限制为由特定作者创建的条目(如所提供的示例配置所示),或限制为具有特定属性 Value 的元器件条目(如下所示:Business Unit = Engineering_RD)。
<SourceCriteria>
<ns2:Attribute>
<ns2:Key>Business Unit</ns2:Key>
<ns2:Value>Engineering_RD</ns2:Value>
</ns2:Attribute>
</SourceCriteria>
- 应从 PLM 传递到 Workspace 的元器件属性(参数)列表——位于标签集 <Attributes> 与 </Attributes> 之间。示例如下:
<Attributes>
<!-- Name field from PLM will be passed to name/comment field in Altium Server -->
<common:Attribute attributeType="revision">
<common:Key>name</common:Key>
<common:Value>${attribute.name}</common:Value>
</common:Attribute>
<!-- Description field from PLM will be passed to Description field in Altium Server on revision level -->
<!-- Revision level attributes will cause new revision to be created in case parameter value is changed -->
<common:Attribute attributeType="revision">
<common:Key>Description</common:Key>
<common:Value>${attribute.description}</common:Value>
</common:Attribute>
<!-- Number field from PLM will be passed to PlmPartNumber field in Altium Server on revision level -->
<!-- Note: any attribute name can be used -->
<common:Attribute attributeType="revision" primaryKeyOrdinal="1">
<common:Key>PlmPartNumber</common:Key>
<common:Value>${attribute.Number}</common:Value>
</common:Attribute>
<common:Attribute attributeType="item">
<common:Key>DynamicCONTS</common:Key>
<common:Value>Will not cause revision update if changed ${attribute.LastModified}</common:Value>
</common:Attribute>
</Attributes>
用于定义 Part Choices 数据映射的部分位于示例(或生成的)配置文件末尾。
PartChoices
在配置架构中的 Entity 声明之外,还有一个额外部分,用于定义企业系统(PLM)与 Workspace 之间的元器件 Part Choice 数据映射。该部分允许针对大多数受支持的 PLM 系统进行特定的 Part Choices 属性参数映射,并为 Aras、Windchill 和 Arena PLM 系统提供 Approved Manufacturing List (AML) 数据关系。这是一个互斥的双向定义——即只能指定一个方向,而不能同时双向——用于指定传播 Part Choices 数据时所使用的元器件制造商与料号属性。
当在配置文件中启用 Part Choices 同步(sync="true")时,指定属性的 Value 会被传输到目标系统。数据传播方向由“To”表达式决定,其中 ToAltium 表示将 PLM 元器件的参数数据应用到已创建/更新的 Workspace 库元器件,而 ToPlm 则会将与 Workspace 库元器件关联的 Part Choices 数据移植到 PLM 端。启用后的配置适用于所有已定义的元器件实体,因此每当遇到元器件数据集时,Part Choice 数据都会被传输到指定目标。
配置文件中 ToAltium Part Choices 映射的示例条目——其中 PLM 系统属性为 MFR1(Manufacturer Name)和 MPN1(Manufacturer Part Number)——可能如下所示:
<PartChoices>
<ToAltium sync="true">
<MfrMappings>
<MfrMapping>
<MfrName>MFR1</MfrName>
<MfrPartNumber>MPN1</MfrPartNumber>
</MfrMapping>
</MfrMappings>
</ToAltium>
</PartChoices>
Part Choice 数据同步也支持多个 Part Choice 数据条目。这些附加属性需要在配置文件映射中作为另一对属性定义来指定,例如:如下所示的 MFR2 和 MPN2:
<MfrMappings>
<MfrMapping>
<MfrName>MFR1</MfrName>
<MfrPartNumber>MPN1</MfrPartNumber>
</MfrMapping>
<MfrMapping>
<MfrName>MFR2</MfrName>
<MfrPartNumber>MPN2</MfrPartNumber>
</MfrMapping>
</MfrMappings>
对于具有原生/内置制造商 Part Choice 功能的企业系统(例如 Windchill 中的 Manufacturer Parts 以及 Arena 中的 Vendor Parts),不需要在配置文件中映射参数。在这种情况下,只需在相关配置部分中启用对 Part Choice 数据的接收即可。
<PartChoices>
<ToAltium sync="true"/>
</PartChoices>
或者当数据传输方向为传向企业系统时:
<PartChoices>
<ToPlm sync="true"/>
</PartChoices>
PTC Windchill PartsLink Support
PTC Windchill PLM system 提供可选的 PartsLink 模块,用于将零部件按组进行 classified。在 Windchill 中指定的 Part Classification 也可以包含关联的 Attribute/Value 键值对,以便在该分类中提供更进一步的定义。PartsLink 系统支持快速、便捷地定位特定组件类型,并由 Workspace 的 PLM Integration 支持双向同步以及读/写访问。
在 Windchill 的 Workspace 配置实例中,可通过在 ToPLM 段中按如下示例格式指定绑定属性,在 Windchill 中创建 PartsLink Classification:
<common:Attribute>
<common:Key>Classification</common:Key>
<common:Value>102-Capacitor</common:Value>
</common:Attribute>
在上述情况下,该 Key/Value 对定义了一个名为 102-Capacitor 的 Classification。可通过指定名称和值参数(此处为 Capacitance)在 Windchill 中创建与该分类关联的分类 Attribute——注意:一个 Classification 可应用多个 Attribute:
<common:Attribute>
<common:ClassificationName>102-Capacitor</common:ClassificationName>
<common:Key>Capacitance</common:Key>
<common:Value>${parameter.Value}</common:Value>
</common:Attribute>
在配置的 ToAltium 同步段中,可在 <SourceCritera> 标签集内通过指定其 ClassificationName,对来自 Windchill 的数据按所需的零部件 Classification 进行过滤。
<SourceCriteria>
<ClassificationName>102-Capacitor</ClassificationName>
</SourceCriteria>
若要获取所有符合匹配的 Classification Attribute 值的零部件(例如所有 10uF 电容),则 <SourceCriteria> 段应包含配置属性设置,用于定义 ClassificationName 及其关联的分类 Attribute 键和值。
<SourceCriteria>
<common:Attribute>
<common:ClassificationName>102-Capacitor</common:ClassificationName>
<common:Key>Capacitance</common:Key>
<common:Value>10uF</common:Value>
</common:Attribute>
</SourceCriteria>
要从 Windchill 提取特定的 Classification Attribute 值,请从与 ClassificationName 关联的特定 Attribute 名称中获取 Value 参数。
<common:Attribute attributeType="revision">
<common:ClassificationName>102-Capacitor</common:ClassificationName>
<common:Key>Value</common:Key>
<common:Value>${attribute.Capacitance}</common:Value>
</common:Attribute>
在 Windchill 中,PartsLink Classification 通过创建一个可应用于某种零部件类型的 binding attribute 来定义。随后,将零部件 Classification Attribute 添加到已定义的 Classification 类中。
Windchill 中的组件条目将包含其已定义的 Classification 以及任何指定的 Classification Attribute 参数,这些参数也可供 Workspace 的 PLM 组件同步流程使用。
当组件条目从 Windchill 同步到 Workspace,且在 Workspace 的 PLM 配置中指定了 PartsLink 交互时,该零部件的 Windchill Configuration Attributes 将会传递到 Altium Designer。
PTC Windchill SSO Support
连接到 Windchill PLM 系统时,也支持使用单点登录(SSO)授权,并可通过 Workspace 界面进行设置。这为执行 Workspace PLM 流程(如 Project Creation 和 Publish to PLM)时提供了一种更简化且安全的连接授权方式。实际应用中,该方案允许通过 identity provider 服务(例如 PingFederate),使用 OAuth delegation standard 来授予 Windchill 访问权限。
在 Workspace PLM Management 页面(Admin - PLM Integration)的 OAuth 选项卡下可进入 SSO 设置,并可添加多个 OAuth provider 实例。
使用 PLM Management 页面上的 OAuth 选项卡访问 OAuth provider 设置。
OAuth provider 授权设置可基于你所配置的 identity provider 中可用的数据完成。将 Workspace 所需的信息(ID、token、URL 等)输入到页面字段中,然后保存完成的配置。
设置新的 SSO OAuth 实例所需的信息来自现有的 OAuth provider 配置。
要完成设置,请在 Windchill XML 配置文件中启用新的 OAuth provider 实例——更多信息请参阅 Windchill 示例配置文件中的注释。
<Instance>
<Driver>Windchill</Driver>
<Url>https://MyWindchill.company.com</Url>
<OAuthProvider>Windchill-PingFederate</OAuthProvider>
</Instance>
执行组件同步
组件(库)同步可作为手动或定时流程执行:分别可在 Workspace PLM Integration 页面上某个 PLM 实例条目的 Sync action 按钮触发,或作为在实例设置中指定的 automated cycle 运行。单击你希望同步的 PLM 实例对应的
控件。同步过程将按照关联配置文件中定义的设置,沿着 LibSync 工作流推进。
该控件会变为
。如果你想停止同步过程,请单击该控件。将出现确认窗口,你可以单击
以取消同步——所有已同步的组件将保持同步状态,但在该点之后将不再继续同步。
Workspace 与所示 PLM 实例之间的组件同步正在进行。
运行组件同步时,LibSync 流程会按其预定义的 Workflow 推进,直到完成或遇到错误。刷新浏览器(F5)以显示同步流程的当前状态。要监控或查看 LibSync 流程,请选择 Synchronization status 选项卡并选择 Closed 列表选项——如果某个流程仍在运行,它将显示在 Active 列表中。管理员可使用
按钮,以逗号分隔的 CSV 文件格式(Synchronisation status.csv)下载所有已列出同步活动的详细记录。
该视图的子选项卡提供以下信息:
- Diagram – 表示流程工作流的图形,并高亮显示其当前步骤位置(已完成或错误/失败状态)。
- Data– 该流程操作的信息摘要,包括各步骤的成功或失败情况,以及指向已记录流程报告的链接——见下文。
- History – 按顺序列出的主要 Workspace 同步事件的时间日志。
The LibSync process results are also available in the Process Management page (Admin » Processes) under the Browser tab.
在 Data 子选项卡下显示的所选 LibSync 事件详情中,包含指向该事件系统日志文件(PLM [date-number].log)的链接。
计划同步
你还可以安排自动化同步。为此,请编辑 PLM 实例(在主 PLM Integration 页面中点击其实例名称或相关控件),选择 Component Synchronisation 选项卡并启用 Synchronize PLM Components with server on schedule 选项。使用 Synchronize every 控件按需设置自动同步计划。系统非常灵活,允许你:
- 设置每 15/30/45/60/75/90 分钟进行一次计划同步。
- 设置每 x 小时进行一次计划同步。
- 设置计划的每日同步,并在指定时间执行。
你定义的计划将会在主 PLM Integration 页面的 Sync scheduled 列中反映出来。
你也可以按需运行同步流程。点击
按钮,并选择所需的同步模式:
-
Incremental – 在此模式下,only 自上次运行同步以来已被修改的那些元件(即其时间戳晚于上次同步日期),并且满足配置文件中同步条件的元件,将被纳入同步,并相应传播变更。这是默认模式,也是在主 PLM Integration 页面中点击某个 PLM 实例的
控件时运行的模式。
- Full – 此模式会强制执行全量同步。所有满足配置文件中同步条件的元件都会被纳入同步,并相应传播变更。
流程工作流
以下流程定义(及其底层工作流)可通过 Workspace 获取,用于支持 PLM 集成:
-
Part Requests流程主题:
- Part Request with PLM Part Create – 支持在你的 PLM 实例中自动创建元件(Component),并将生成的料号回传到 Workspace 中的元件。工作流图如下所示。
需要注意的一点是:当你修改此示例定义以创建自己的流程时,必须指定要在哪个 PLM 实例中创建部件。请在工作流图中选择 Create Part in PLM 实体,并在 PLM Instance 字段对应的下拉菜单中选择 PLM 实例。该菜单会列出当前已定义的所有 PLM 实例(在界面 PLM Integration 页面中定义)。
► 更多关于流程工作流的内容,请参阅 Creating and Managing Processes。
- Project Activities流程主题:
- Publish to PLM (User selects) – 将已发布(released)的 Workspace 项目输出发布到已集成的 PLM 实例,用户可以精确选择要发布哪些输出。工作流图如下所示。
- Project Releaser with Publish – 作为 Project Releaser 的一个附加阶段发布到已集成的 PLM 实例。工作流图如下所示。
-
Project Creations流程主题:
- Project with initialise in PLM – 支持在你的 PLM 实例中自动创建料号,并将这些料号作为 Workspace 设计项目的参数回传。工作流图如下所示。
访问与 PLM 相关的流程
以下各节强调了从何处访问已激活的 PLM 相关流程。由于示例流程不能按提供的内容直接使用,以下流程是基于示例创建的,用于说明:
- PR with PLM Part Create – 由示例流程定义 Part Request with PLM Part Create 创建。
- Publish to Company PLM – Choose Data – 由示例流程定义 Publish to PLM (User selects) 创建。
- Project Releaser with Publish to Company PLM – 由示例流程定义 Project Releaser with Publish 创建。
- Create Project with PLM Initialise – 由示例流程定义 Project with Initialise in PLM 创建。
部件请求
在 Altium Designer 中,可从 Explorer panel 访问(在完成搜索后),也可从 Manufacturer Part Search panel 的 Details 窗格中访问,或通过 Components panel 中元件列表底部的链接访问。
在 Workspace 界面中,可在 Part Requests 页面通过点击页面右上角的
按钮来访问已激活的流程定义。
Part Request Example
以下示例简要展示了在 Workspace 中创建一个新部件,然后在 PLM 实例中自动创建对应部件的过程。生成的料号随后会从 PLM 实例回传到 Workspace 中的元件,作为一个 Item 参数——这意味着无需发布 Workspace 库元件的新修订版。此示例使用的流程定义为 PR with PLM Part Create,它源自示例定义 Part Request with PLM Part Create。
- 启动部件请求流程,并按需填写随后出现的表单——用于描述初始请求。在下图中,请求是通过 Workspace 界面的 Part Requests 页面提交的,并且请求了一个部件。
- 新的部件请求会在 Part Requests 页面中显示为一个活动流程,其当前状态会反映在主条目中,也会反映在其底层工作流的图中。
-
当所需用户接手(或被分配)处理该请求的任务后,最终会创建所请求的部件。为满足请求而创建(和/或选择)的每个元件都会被添加到任务的 Components 字段中。添加的元件将自动在 PLM 中创建。下图中,已创建并添加了一个元件——CMP-007-00038。请确保 Next step 字段设置为 Completed,然后点击
按钮。
系统可能会要求你提供 Part Request 流程工作流中所指定 PLM 系统的登录凭据。
- 流程工作流将继续执行,并在 PLM 实例中创建指定元件。流程运行完成后,你可以在流程的 Data 选项卡上看到生成的 PLM 料号。请务必将过滤器(左上角)切换为查看 Closed 流程。
- 回到 Altium Designer,在 Explorer 面板中浏览到已创建的元件,并切换到其 Preview 选项卡视图。在参数区域中,注意新增了一个参数——PlmPartNumber——其值为 PLM 中对应已创建部件的编号。
请注意,该参数已添加到元件中,但其修订版保持不变——并未重新发布该元件。这是因为该参数是 Item 级参数——添加在 Component Item 本身上,并在其所有修订版中可用。
项目活动
从 Altium Designer 发布到 Enterprise Server Workspace 的项目设计数据,可以通过 Workspace 的 Publish to PLM 流程以受控方式传播到 PLM。Workspace 流程定义了发布活动的界面与方法,而指定的 XML Publishing Template 则定义了文件数据如何传播到目标 PLM 系统。
Publishing Folder Support for Windchill PLM
在为 Windchill® PLM 配置 Publish to PLM process 时,你还可以为从 Workspace 发布的文档指定(并创建)一个目标 Windchill 文件夹。
相关的 Windchill 文件夹参数定义在应用于 Workspace 中 Windchill PLM 集成条目的 Publishing Template XML file 里。文件夹定义节点采用 <pt:Folder>xxx</pt:Folder> 的标签格式——其中 pt 是当前命名空间,xxx 是完整的文件夹路径——并作为发布规则放置在每种文档类型的 FileDistribution 部分中(例如 PCB.zip Fabrication 输出)。
Publishing XML 结构层级的示例如下:
<pt:EntityRule id="FAB">
<pt:FileDistributions>
<pt:FileDistribution archiveName="PCB.zip">
<pt:Folder>PRODUCT/Projects/${project.name}/FAB data</pt:Folder>
最后一行条目将为 PCB.zip Fabrication 输出指定(或创建)一个发布目标文件夹,其 Windchill 文件夹结构如下(其中项目名称为 MyProject):
PRODUCT
Projects
MyProject
FAB data
请注意,Publishing XML 文件中定义的文件夹路径是绝对路径(而非相对路径),并且可以包含其他项目属性,例如项目名称(${project.name})和装配编号(${project.PLM_ASSEMBLY_NUMBER})。
标准发布流程
在设计端,可在 Altium Designer 中通过活动项目的 Project » Project Activities 子菜单访问标准的发布到 PLM 流程。
在 Workspace 界面中,可在 Project Management 视图里点击
按钮来访问已启用的流程定义。
使用 Project Releaser 发布
作为 Project Releaser 的一部分,发布到 PLM 实例的流程可在 Altium Designer 中通过活动项目的 Project » Project Releaser 子菜单访问。
将出现 Project Releaser,并新增一个阶段——7: Publish to PLM。此外,在与
按钮关联的菜单中还提供了一个命令——Prepare & Release & Publish to PLM——如果你希望运行 Project Releaser 时不停下来查看生成的数据和执行报告,可使用该命令。
Defining the Stage Name
如果你使用示例流程定义——Project Releaser with Publish——来创建自己的定义,那么在 Altium Designer 端默认呈现的阶段名称为 Publish to PLM。Project Releaser
按钮下拉菜单中的复合命令也会包含该名称:Prepare & Release & Publish to PLM。
不过,你可以更改该名称(以及与该阶段关联的描述提示)向用户呈现的方式。要实现这一点,可在该流程的底层工作流中选择 Start 元素(类型为 Start Release)后进行设置。相关字段包括:
- Action name – 项目发布后动作的名称,即在 Project Releaser 中作为第 7 阶段呈现的阶段名称。如果流程工作流中定义了任务,则该字段必须填写。该名称也将用于菜单命令,格式为 Prepare & Release & <Action name>。
- Action description – 项目发布后动作的描述,在 Project Releaser 中会作为第 7 阶段条目的工具提示呈现给用户。
基于示例流程定义 Project Releaser with Publish 的工作流中,Start 元素的默认设置,以及其在 Project Releaser 中的呈现方式。
下图展示了在底层工作流中更改这些字段,以及对 Project Releaser 中条目产生的影响。
如果你使用标准 Prepare command 运行 Project Releaser,在审阅并发布数据后,
按钮会在 Execution Report 阶段出现。点击该按钮可继续执行该流程的底层工作流,以发布到 PLM。随后将出现 Login Credentials 对话框。输入你的 PLM 实例的 Username 和 Password ,并选择要使用的 PLM Template(以 <PLMInstance>:<PublishingTemplate> 的形式显示)。
点击 Diagram 选项卡可查看该流程的底层工作流。
点击
按钮即可按该工作流继续发布流程。
可通过 Workspace 界面检查发布到 PLM 流程的状态:当项目从 Projects 视图打开后,在该项目的详细视图中选择 Activities 视图。流程运行时选择 Opened 视图选项查看状态;流程完成后选择 Closed activities 选项访问状态信息。
项目创建
在设计端,可在 Altium Designer 的主 File » New » Project in <Workspace> 子菜单中访问。
在 Workspace 界面中,可在 Projects 视图里点击
按钮来访问已启用的流程定义。
此外,在克隆项目时也可访问:在 Projects 视图中通过
菜单按钮进入。
流程工作流将继续,并弹出对话框以便你定义项目的名称、描述、类型,以及创建时应使用的任何 Project Template Item。点击 Start 后,将出现 Login Credentials 对话框。输入你的 PLM 实例的 Username 和 Password ,并选择要使用的 PLM Template(以 <PLMInstance>:<PublishingTemplate> 的形式显示)。然后点击 Submit 以继续执行工作流。
Project Creation Example
以下示例简要展示了创建新项目并在 PLM 中初始化的过程。该流程在 Altium Designer 中通过 Create Project with PLM Initialise 定义调用——该定义源自示例定义 Project with Initialise in PLM。
- 启动流程(File » New » Project in <Workspace> » Create Project with PLM Initialise)后,会出现一个对话框(以流程定义命名)用于定义项目。在本示例中,我们将项目命名为 Example_Project_with_PLM_Init,填写描述,并保持其他所有字段——包括 Advanced 选项卡上的字段——不变。
-
项目定义完成后,点击
按钮。将出现 Login Credentials 对话框。由于这是一个新项目,你需要提供 PLM 登录凭据,并指定要使用的 PLM 实例及其关联的发布模板。此处示例使用了 Arena PLM 的配置文件及其关联的 Publishing Template(按要求)。
提供凭据并选择 PLM 实例与发布模板后,点击
按钮。
-
流程将继续直至完成(假设未发生错误),可在 Tasklist panel 中看到:在已关闭的 Activities 列表下查看——从关联的
按钮菜单中勾选 Show closed 选项。选择 Activity 条目可获取有关已完成流程及其数据集的更多信息。
Project Releaser with Publish(to PLM)流程时),这些 Item 将被填充发布数据。
已完成的流程及其相关信息也可以在 Workspace 界面中查看:当项目从 Projects 视图打开后,在该项目的详细视图中选择 Activities 视图即可查看。选择 Closed activities 选项(右上角)以访问已完成流程的状态信息。
- 在 Altium Designer 中,新项目会显示在 Projects 面板中,并计划提交到 Workspace 中基于 Git 的 Versioned Storage 设计仓库——在项目条目上右键并使用 Save to server 命令即可完成提交。之后你就可以添加源文档并开始设计。当你准备发布时,该项目已经与 PLM 实例中的相关部件建立了链接。
在 Project Options 对话框的 Parameters 选项卡中,或在 Explorer 面板的项目 Parameters 列表下,你可以看到在 PLM 实例中分配的部件编号,这些编号与可释放/发布的相关项目实体相对应。
PLM 参数名称与项目发布包之间的对应关系在 PLM 配置文件中指定,而该配置文件又由 PLM 系统所需的名称与编号属性决定。
当你放置一个原理图文本字符串时,与项目关联的 PLM 参数将作为特殊字符串可用:










































