Projekt-Quellformat
FactoryTalk Optix
-Projekte basieren auf Textdateien. Sie können FactoryTalk Optix
-Projekte in einer kollaborativen Umgebung mit Versionskontrolle innerhalb oder außerhalb von FactoryTalk Optix
entwickeln.
TIPP:
Bei der Bearbeitung von Projekten außerhalb von
FactoryTalk Optix
können Sie Standardtools für die Softwareentwicklung und -versionierung verwenden.Projektstruktur
Jedes
FactoryTalk Optix
-Projekt enthält diese Quelldateien und Ordner:- Eine-Datei. Enthält allgemeine Informationen über das Projekt und Referenzen zu denProjectName.optixFTOptix-Modulen, die das Projekt verwendet.
- Eine-Datei. Enthält allgemeine Informationen über das Projekt und Referenzen zuProjectName.optix.designFactoryTalk Optix-Modulen, die von Elementen zur Entwurfszeit benötigt werden.
- EinNodes/-Ordner. Enthält diese Ordner und Dateien:
- Eine-Datei. Beschreibt das Stammverzeichnis des Projekts, das die zugehörigen Eigenschaften und Referenzen zu den Hauptknoten des Projekts enthält.ProjectName.yaml
- Ordner für jeden Hauptprojektknoten (UI,Modelusw.). Jeder Ordner enthält eine.yaml-Datei, die das zugehörige Informationsmodell beschreibt (UI.yaml,Model.yamlusw.).
- OrdnerProjectFiles/. Enthält die im Projekt verwendeten Dateien (z. B. Bilder, Schriftarten oder Dokumente) und diese Unterordner:
- NetSolution/. Enthält alle benutzerdefinierten C#-NetLogic-Dateien.
- PKI/. Enthält die privaten, öffentlichen und abgelehnten Zertifikate für die OPC UA-Authentifizierung.
Projektinformationsmodell
YAML-Dateien stellen das Informationsmodell eines Projektes dar. Die einzelnen Projektknoten und -module werden in separaten YAML-Dateien beschrieben, sodass Anwendungsentwickler durch die Bearbeitung von bearbeitbaren YAML-Dateien die Möglichkeit haben, Projekte granular zu verändern.
Zur Entwurfszeit werden Änderungen an Projekten in die YAML-Dateien übertragen. Die in den YAML-Dateien beschriebenen Elemente sind nur die Elemente, die mit einem Wert belegt sind. Wird einer Eigenschaft eines Objektes kein Wert in
FactoryTalk Optix
zugewiesen, so wird sie in der entsprechenden YAML-Datei nicht beschrieben.Beispiel für die YAML-Darstellung des Hauptprojektknotens
UI
.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
Struktur
Informationsmodell
Rückmeldung geben