Coating Namespace
For the coating information model, it is required to define a coating specific subtype of the module type, a ServiceFinishedEvent and a corresponding Coating OPC UA method.
<?xml version="1.0" encoding="utf-8" ?>
<ModelDesign
xmlns:uax="http://opcfoundation.org/UA/2008/02/Types.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ua="http://opcfoundation.org/UA/"
xmlns:cmn="http://common.swap.fraunhofer.de"
xmlns:pt="http://swap.demo.scenario.fraunhofer.de"
xmlns:ct="http://swap.demo.scenario.coating.fraunhofer.de"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
TargetNamespace="http://swap.demo.scenario.coating.fraunhofer.de"
TargetXmlNamespace="http://swap.demo.scenario.coating.fraunhofer.de"
TargetVersion="1.00.0"
TargetPublicationDate="2024-01-01T00:00:00Z"
xmlns="http://opcfoundation.org/UA/ModelDesign.xsd">
<Namespaces>
<Namespace Name="Coating" Prefix="SWAP.Fraunhofer.Demo.Scenario.Coating.Model" XmlNamespace="http://swap.demo.scenario.coating.fraunhofer.de/Types.xsd" XmlPrefix="ct">http://swap.demo.scenario.coating.fraunhofer.de</Namespace>
<!-- set dependency to the pfdl types namespace -->
<Namespace Name="Demo" Prefix="SWAP.Fraunhofer.Demo.Scenario.Model" XmlNamespace="http://swap.demo.scenario.fraunhofer.de/Types.xsd" XmlPrefix="pt" FilePath="DemoScenarioTypes.ModelDesign">http://swap.demo.scenario.fraunhofer.de</Namespace>
<!-- set dependency to the common namespace -->
<Namespace Name="Common" Prefix="SWAP.Fraunhofer.Common.Model" XmlNamespace="http://common.swap.fraunhofer.de/Types.xsd" XmlPrefix="cmn" FilePath="CommonModelDesign">http://common.swap.fraunhofer.de</Namespace>
<Namespace Name="OpcUa" Prefix="Opc.Ua" Version="1.03.00" PublicationDate="2013-12-02T00:00:00Z" InternalPrefix="Opc.Ua.Server" XmlNamespace="http://opcfoundation.org/UA/2008/02/Types.xsd" XmlPrefix="ua">http://opcfoundation.org/UA/</Namespace>
</Namespaces>
<ObjectType SymbolicName="ct:Coating" BaseType="cmn:ServiceFinishedEventType">
<Children>
<Property SymbolicName="ct:order" DataType="pt:SWAP_Order" ModellingRule="Mandatory" />
</Children>
</ObjectType>
<ObjectType SymbolicName="ct:ServiceObjectType" BaseType="cmn:ServiceObjectType">
<Children>
<Method SymbolicName="cmn:Coating" TypeDefinition="ct:CoatingMethodType"/>
</Children>
</ObjectType>
<ObjectType SymbolicName="ct:CoatingModuleType" BaseType="cmn:ModuleType">
<Children>
<Object SymbolicName="cmn:Services" TypeDefinition="ct:ServiceObjectType"/>
</Children>
</ObjectType>
<Method SymbolicName="ct:CoatingMethodType">
<InputArguments>
<Argument Name="order" DataType="pt:SWAP_Order" ModellingRule="Mandatory"/>
</InputArguments>
<OutputArguments>
<Argument Name="Results" DataType="cmn:ServiceExecutionAsyncResultDataType" ModellingRule="Mandatory"/>
</OutputArguments>
</Method>
</ModelDesign>