项目源格式
FactoryTalk Optix
项目基于文本文件。您可以在位于 FactoryTalk Optix
内部或外部且具有版本控制的协作环境中开发 FactoryTalk Optix
项目。
小贴士:
在
FactoryTalk Optix
外部编辑项目时,可以使用标准的软件开发和版本控制工具。项目结构
每个
FactoryTalk Optix
项目都包含以下源文件和文件夹:- 一个文件。包含有关项目的常规信息和对项目所用ProjectName.optixFTOptix模块的引用。
- 一个文件。包含有关项目的常规信息,以及对元素在设计时所需的ProjectName.optix.designFactoryTalk Optix模块的引用。
- 一个Nodes/文件夹。包含以下文件夹和文件:
- 一个文件。描述项目的根节点,其中包含相关属性,以及对项目主节点的引用。ProjectName.yaml
- 用于每个主项目节点(UI、Model等等)的文件夹。每个文件夹都包含一个用于描述其相关信息模型(UI.yaml、Model.yaml等等)的.yaml文件。
- ProjectFiles/文件夹。包含项目中使用的文件(例如图像、字体或文档)和以下子文件夹:
- NetSolution/。包含所有自定义的 C# NetLogic 文件。
- PKI/。包含用于进行 OPC UA 身份验证的私有、公共和拒绝的证书。
项目信息模型
YAML 文件表示项目的信息模型。每个项目节点和模块用单独的 YAML 文件来描述,这使得应用程序开发人员可以通过编辑可维护的 YAML 文件来以粒度方式更改项目。
在设计时,会将对项目进行的更改传播到 YAML 文件。YAML 文件中描述的元素只是分配了值的元素。如果未在
FactoryTalk Optix
中向对象的属性分配值,则在相应的 YAML 文件中不会对该属性进行描述。UI
主项目节点的 YAML 表示形式示例。Name: UI Type: FolderType Children: - Name: NativePresentationEngine Type: NativePresentationEngine ReferenceType: HasOrderedComponent Children: - Name: StartWindow Type: NodePointer DataType: NodeId Value: {"IdType":2,"Id":"c5b6a0a2e7242da2ad471b89a993b1b9","Namespace":7} Children: - Name: Kind Type: PropertyType DataType: NodeId Value: {"Id":12,"Namespace":4} - Name: StyleSheet Type: NodePointer DataType: NodeId Value: {"IdType":2,"Id":"87ddf487197f945cf28bbdd169681bc9","Namespace":7} Children: - Name: Kind Type: PropertyType DataType: NodeId Value: {"Id":447,"Namespace":4} - Name: EnableVirtualKeyboard Type: BaseDataVariableType DataType: Boolean Value: false - Name: StartingUser Type: NodePointer DataType: NodeId Value: {"IdType":2,"Id":"bcd4b69a3d76a1ec8313316b2bbcbba2","Namespace":7} Children: - Name: Kind Type: PropertyType DataType: NodeId Value: {"Id":14,"Namespace":1} - Name: Sessions Type: BaseObjectType - Name: MainWindow Id: g=c5b6a0a2e7242da2ad471b89a993b1b9 Supertype: Window Children: - Name: Width Type: BaseDataVariableType DataType: Size ModellingRule: Optional Value: 400.0 - Name: Height Type: BaseDataVariableType DataType: Size ModellingRule: Optional Value: 400.0 - Name: Panel1 Type: Panel Children: - Name: Width Type: BaseVariableType DataType: Size ModellingRule: Optional Value: 300.0 - Name: Height Type: BaseVariableType DataType: Size ModellingRule: Optional Value: 300.0 - Name: Label1 Children: - Name: Text Type: BaseDataVariableType DataType: LocalizedText ModellingRule: Optional Value: {"LocaleId":"it-IT","Text":"Label1"} - Name: NetLogicDiRuntime1 Type: NetLogic
提供反馈