View Issue Details

IDProjectCategoryView StatusLast Update
0007991NodeSets, XSDs and Generated CodeSpecpublic2022-09-22 14:48
ReporterIvan Assigned ToRandy Armstrong  
PriorityhighSeveritymajorReproducibilityalways
Status closedResolutionno change required 
PlatformCodesys 3.5.17 Patch 3OSWindowsOS VersionWindows 10
Product Version1.05.01 
Summary0007991: My information model compiler is generating a 80k lines nodeset2.xml file
Description

I am creating a custom information model, where i use pretty basic thing for an information model, but somehow when i compile it I obtain a 4MB size file for my nodeset2.xml file.
I cannot find the bug that i am generating in my model design, can somebody here can help me find the problem?

Steps To Reproduce

Use OPCFoundation compiler tool to generate the nodeset2.xml file depending of the modeldesign.xml file

TagsNo tags attached.
Attached Files
ModelDesign.xml (26,617 bytes)   
<?xml version="1.0" encoding="utf-8" ?>
<opc:ModelDesign 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
	xmlns:opc="http://opcfoundation.org/UA/ModelDesign.xsd" 
	xmlns:ua="http://opcfoundation.org/UA/" 
	xmlns:uax="http://opcfoundation.org/UA/2008/02/Types.xsd" 
	xmlns="http://troteclaser.com/TrotecModel" 
	TargetNamespace="http://troteclaser.com/TrotecModel" 
	TargetVersion="1.00" 
	TargetPublicationDate="2022-05-12T00:00:00Z">
	<opc:Namespaces>
		<opc:Namespace Name="OpcUa" Prefix="Opc.Ua" Version="1.04.7" PublicationDate="2020-05-09T00:00:00Z" XmlNamespace="http://opcfoundation.org/UA/2008/02/Types.xsd">http://opcfoundation.org/UA/</opc:Namespace>
		<opc:Namespace Name="Trotec" Prefix="TrotecModel">http://troteclaser.com/TrotecModel</opc:Namespace>
	</opc:Namespaces>

	
	<!-- Enums -->
	<opc:DataType SymbolicName="StatusEnum" BaseType="ua:Enumeration" ValueRank="-1" AccessLevel="ReadWrite">
		<opc:Fields>
			<opc:Field Name="Unknown" Identifier="0" AccessLevel="ReadWrite"/>
			<opc:Field Name="Initializing" Identifier="1" AccessLevel="ReadWrite"/>
			<opc:Field Name="Disconnected" Identifier="2" AccessLevel="ReadWrite"/>
			<opc:Field Name="Idle" Identifier="3" AccessLevel="ReadWrite"/>
			<opc:Field Name="Error" Identifier="4" AccessLevel="ReadWrite"/>
			<opc:Field Name="Busy" Identifier="5" AccessLevel="ReadWrite"/>
			<opc:Field Name="Paused" Identifier="6" AccessLevel="ReadWrite"/>
		</opc:Fields>
	</opc:DataType>
	<opc:DataType SymbolicName="SeverityEnum" BaseType="ua:Enumeration" AccessLevel="ReadWrite">
		<opc:Fields>
			<opc:Field Name="Unknown" Identifier="0" AccessLevel="ReadWrite"/>
			<opc:Field Name="Informational" Identifier="1" AccessLevel="ReadWrite"/>
			<opc:Field Name="Paused" Identifier="2" AccessLevel="ReadWrite"/>
			<opc:Field Name="Stop" Identifier="3" AccessLevel="ReadWrite"/>
			<opc:Field Name="Abort" Identifier="4" AccessLevel="ReadWrite"/>
		</opc:Fields>
	</opc:DataType>

	
	<!--BaseTypes -->
	<opc:ObjectType SymbolicName="StatusType" DataType="ua:BaseObjectType" ExposesItsChildren="true">
		<opc:Children>
			<opc:Variable SymbolicName="Code" TypeDefinition="ua:BaseDataVariableType" DataType="StatusEnum" AccessLevel="ReadWrite"/>
			<opc:Variable SymbolicName="TimestampTrigger" TypeDefinition="ua:BaseDataVariableType" DataType="ua:DateTime" AccessLevel="ReadWrite"/>
		</opc:Children>
	</opc:ObjectType>
	<opc:ObjectType SymbolicName="ConfigurationType" DataType="ua:BaseObjectType" ExposesItsChildren="true">
		<opc:Children>
			<opc:Variable SymbolicName="Version" TypeDefinition="ua:BaseDataVariableType" DataType="ua:String"/>
			<opc:Variable SymbolicName="ID" TypeDefinition="ua:BaseDataVariableType" DataType="ua:UInt32"/>
			<opc:Variable SymbolicName="LoadConfiguration" TypeDefinition="ua:BaseDataVariableType" DataType="ua:Boolean"/>
			<opc:Variable SymbolicName="ConfigFilePath" TypeDefinition="ua:BaseDataVariableType" DataType="ua:String"/>
		</opc:Children>
	</opc:ObjectType>
	<opc:ObjectType SymbolicName="ErrorType" DataType="ua:BaseObjectType" ExposesItsChildren="true">
		<opc:Children>
			<opc:Variable SymbolicName="Code" TypeDefinition="ua:BaseDataVariableType" DataType="ua:UInt32" AccessLevel="ReadWrite"/>
			<opc:Variable SymbolicName="Severity" TypeDefinition="ua:BaseDataVariableType" DataType="SeverityEnum" AccessLevel="ReadWrite"/>
			<opc:Variable SymbolicName="Timestamp" TypeDefinition="ua:BaseDataVariableType" DataType="ua:DateTime" AccessLevel="ReadWrite"/>
		</opc:Children>
	</opc:ObjectType>
	<opc:ObjectType SymbolicName="ErrorTypes" BaseType="ua:BaseObjectType" ExposesItsChildren="true">
		<opc:Description>Error of a machine element.</opc:Description>
		<opc:Children>
			<opc:Object SymbolicName="Error01" TypeDefinition="ErrorType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Error02" TypeDefinition="ErrorType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Error03" TypeDefinition="ErrorType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Error04" TypeDefinition="ErrorType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Error05" TypeDefinition="ErrorType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Error06" TypeDefinition="ErrorType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Error07" TypeDefinition="ErrorType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Error08" TypeDefinition="ErrorType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Error09" TypeDefinition="ErrorType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Error10" TypeDefinition="ErrorType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="TimestampTrigger" DataType="ua:DateTime" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="AcknowledgeError" DataType="ua:Boolean" AccessLevel="ReadWrite"/>
		</opc:Children>
	</opc:ObjectType>
	<opc:ObjectType SymbolicName="GenericBaseType" BaseType="ua:BaseObjectType">
		<opc:Description>Base type for machines and components.</opc:Description>
		<opc:Children>
			<opc:Object SymbolicName="Status" TypeDefinition="StatusType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Error" TypeDefinition="ErrorTypes" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Configuration" TypeDefinition="ConfigurationType" AccessLevel="ReadWrite"/>
		</opc:Children>
	</opc:ObjectType>
	<opc:ObjectType SymbolicName="ComponentType" BaseType="GenericBaseType">
		<opc:Description>Base type for components.</opc:Description>
		<opc:Children>
			<opc:Variable SymbolicName="Name" TypeDefinition="ua:BaseDataVariableType" DataType="ua:String" AccessLevel="ReadWrite"/>
			<opc:Variable SymbolicName="Description" TypeDefinition="ua:BaseDataVariableType" DataType="ua:String" AccessLevel="ReadWrite"/>
			<opc:Variable SymbolicName="Index" TypeDefinition="ua:BaseDataVariableType" DataType="ua:UInt32" AccessLevel="ReadWrite"/>
			<opc:Variable SymbolicName="UID" TypeDefinition="ua:BaseDataVariableType" DataType="ua:UInt32" AccessLevel="ReadWrite"/>
			<opc:Variable SymbolicName="Enabled" TypeDefinition="ua:BaseDataVariableType" DataType="ua:Boolean" AccessLevel="ReadWrite"/>
			<opc:Variable SymbolicName="Enable" TypeDefinition="ua:BaseDataVariableType" DataType="ua:Boolean" AccessLevel="ReadWrite"/>
			<opc:Variable SymbolicName="Disable" TypeDefinition="ua:BaseDataVariableType" DataType="ua:Boolean" AccessLevel="ReadWrite"/>
		</opc:Children>
	</opc:ObjectType>


	<!--Machine Unit-->
	<opc:ObjectType SymbolicName="MovingUnitType" BaseType="ComponentType">
		<opc:Description>Represents the data structure for a MovingUnit.</opc:Description>
		<opc:Children>
			<opc:Variable SymbolicName="IsMoving" DataType="ua:Boolean" SupportsEvents="true" ExposesItsChildren="true" AccessLevel="ReadWrite"/>
			<opc:Variable SymbolicName="InPosition" DataType="ua:Boolean" SupportsEvents="true" ExposesItsChildren="true" AccessLevel="ReadWrite"/>
			<opc:Variable SymbolicName="IsReferenced" DataType="ua:Boolean" SupportsEvents="true" ExposesItsChildren="true" AccessLevel="ReadWrite"/>
			<opc:Variable SymbolicName="CurrentPosition" DataType="ua:Double" SupportsEvents="true" ExposesItsChildren="true" AccessLevel="ReadWrite"/>
			<opc:Variable SymbolicName="OffsetZeroPosition" DataType="ua:Double" SupportsEvents="true" ExposesItsChildren="true" AccessLevel="ReadWrite"/>
			<opc:Variable SymbolicName="PositionLimits" DataType="ua:Boolean" SupportsEvents="true" ExposesItsChildren="true" AccessLevel="ReadWrite"/>
			<opc:Variable SymbolicName="NegativeLimit" DataType="ua:Double" SupportsEvents="true" ExposesItsChildren="true" AccessLevel="ReadWrite"/>
			<opc:Variable SymbolicName="PositiveLimit" DataType="ua:Double" SupportsEvents="true" ExposesItsChildren="true" AccessLevel="ReadWrite"/>
			<opc:Variable SymbolicName="JogVelocity" DataType="ua:Double" SupportsEvents="true" ExposesItsChildren="true" AccessLevel="ReadWrite"/>
			<opc:Variable SymbolicName="OperationVelocity" DataType="ua:Double" SupportsEvents="true" ExposesItsChildren="true" AccessLevel="ReadWrite"/>
			<opc:Method SymbolicName="MoveAbsolute" TypeDefinition="MoveAbsoluteMethodType"/>
			<opc:Method SymbolicName="MoveRelative" TypeDefinition="MoveRelativeMethodType"/>
			<opc:Method SymbolicName="StartReference" TypeDefinition="StartReferenceMethodType"/>
			<opc:Method SymbolicName="StopMoving" TypeDefinition="StopMovingMethodType"/>
			<opc:Method SymbolicName="JogPositive" TypeDefinition="JogMethodType"/>
			<opc:Method SymbolicName="JogNegative" TypeDefinition="JogMethodType"/>
			<opc:Method SymbolicName="MoveToHomePosition" TypeDefinition="MoveToHomePositionMethodType"/>
			<opc:Method SymbolicName="MoveToWorkPosition" TypeDefinition="MoveToWorkPositionMethodType"/>
			<opc:Object SymbolicName="HomePosition" TypeDefinition="InputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="WorkPosition" TypeDefinition="InputType" AccessLevel="ReadWrite"/>
		</opc:Children>
	</opc:ObjectType>
	<opc:ObjectType SymbolicName="ExhaustType" BaseType="ComponentType" SupportsEvents="true" ExposesItsChildren="true" AccessLevel="ReadWrite">
		<opc:Children>
			<opc:Variable SymbolicName="StartupTime" DataType="ua:UInt32"/>
			<opc:Variable SymbolicName="ShutdownTime" DataType="ua:UInt32"/>
			<opc:Method SymbolicName="StartExhaust" TypeDefinition="StartExhaustMethodType"/>
			<opc:Method SymbolicName="StopExhaust" TypeDefinition="StopExhaustMethodType"/>
		</opc:Children>
	</opc:ObjectType>
	<opc:ObjectType SymbolicName="LaserSystemType" BaseType="ComponentType" SupportsEvents="true" ExposesItsChildren="true" AccessLevel="ReadWrite">
		<opc:Description>Represents the data structure for a LaserSystem.</opc:Description>
		<opc:Children>
			<opc:Object SymbolicName="LaserSource" TypeDefinition="ComponentType" DataType="ComponentType" SupportsEvents="true" ExposesItsChildren="true" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="PilotLaser" TypeDefinition="OutputType"  SupportsEvents="true" ExposesItsChildren="true" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="FocusLaser" TypeDefinition="OutputType"  SupportsEvents="true" ExposesItsChildren="true" AccessLevel="ReadWrite"/>
		</opc:Children>
	</opc:ObjectType>
	<opc:ObjectType SymbolicName="MachineLayerType" BaseType="ComponentType" SupportsEvents="true" ExposesItsChildren="true" AccessLevel="ReadWrite">
		<opc:Children>
			<opc:Variable SymbolicName="HeartBeat" DataType="ua:Boolean"/>
			<opc:Variable SymbolicName="ErrorOccured" DataType="ua:Boolean"/>
			<opc:Variable SymbolicName="Acknowledge" DataType="ua:Boolean"/>
		</opc:Children>
	</opc:ObjectType>
	<opc:ObjectType SymbolicName="InputType" BaseType="ua:BaseObjectType" SupportsEvents="true" ExposesItsChildren="true" AccessLevel="ReadWrite">
		<opc:Children>
			<opc:Variable SymbolicName="Name" DataType="ua:String" AccessLevel="ReadWrite"/>
			<opc:Variable SymbolicName="Description" DataType="ua:String" AccessLevel="ReadWrite"/>
			<opc:Variable SymbolicName="Index" DataType="ua:UInt32" AccessLevel="ReadWrite"/>
			<opc:Variable SymbolicName="DebounceTime" DataType="ua:UInt32"/>
			<opc:Variable SymbolicName="Value" DataType="ua:Boolean"/>
			<opc:Variable SymbolicName="IsInverted" DataType="ua:Boolean"/>
		</opc:Children>
	</opc:ObjectType>
	<opc:ObjectType SymbolicName="OutputType" BaseType="ua:BaseObjectType" SupportsEvents="true" ExposesItsChildren="true" AccessLevel="ReadWrite">
		<opc:Children>
			<opc:Variable SymbolicName="Name" DataType="ua:String" AccessLevel="ReadWrite"/>
			<opc:Variable SymbolicName="Description" DataType="ua:String" AccessLevel="ReadWrite"/>
			<opc:Variable SymbolicName="Index" DataType="ua:UInt32" AccessLevel="ReadWrite"/>
			<opc:Variable SymbolicName="SetValue" DataType="ua:Boolean"/>
			<opc:Variable SymbolicName="Value" DataType="ua:Boolean"/>
			<opc:Variable SymbolicName="IsInverted" DataType="ua:Boolean"/>
		</opc:Children>
	</opc:ObjectType>
	
	
	<!--Units container-->
	<opc:ObjectType SymbolicName="MovingUnitsType" BaseType="ua:BaseObjectType" AccessLevel="ReadWrite">
		<opc:DisplayName>MovingUnitsType</opc:DisplayName>
		<opc:Description>Container for MovingUnitType instances</opc:Description>
		<opc:Children>
			<opc:Object SymbolicName="MovingUnit01" TypeDefinition="MovingUnitType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="MovingUnit02" TypeDefinition="MovingUnitType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="MovingUnit03" TypeDefinition="MovingUnitType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="MovingUnit04" TypeDefinition="MovingUnitType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="MovingUnit05" TypeDefinition="MovingUnitType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="MovingUnit06" TypeDefinition="MovingUnitType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="MovingUnit07" TypeDefinition="MovingUnitType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="MovingUnit08" TypeDefinition="MovingUnitType" AccessLevel="ReadWrite"/>
		</opc:Children>
	</opc:ObjectType>
	<opc:ObjectType SymbolicName="LaserSystemsType" BaseType="ua:BaseObjectType" AccessLevel="ReadWrite">
		<opc:DisplayName>LaserSystemsType</opc:DisplayName>
		<opc:Description>Container for LaserSystems instances</opc:Description>
		<opc:Children>
			<opc:Object SymbolicName="LaserSystem01" TypeDefinition="LaserSystemType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="LaserSystem02" TypeDefinition="LaserSystemType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="LaserSystem03" TypeDefinition="LaserSystemType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="LaserSystem04" TypeDefinition="LaserSystemType" AccessLevel="ReadWrite"/>
		</opc:Children>
	</opc:ObjectType>
	<opc:ObjectType SymbolicName="ExhaustsType" BaseType="ua:BaseObjectType" >
		<opc:DisplayName>ExhaustsType</opc:DisplayName>
		<opc:Description>Container for Exhausts instances</opc:Description>
		<opc:Children>
			<opc:Object SymbolicName="Exhaust01" TypeDefinition="ExhaustType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Exhaust02" TypeDefinition="ExhaustType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Exhaust03" TypeDefinition="ExhaustType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Exhaust04" TypeDefinition="ExhaustType" AccessLevel="ReadWrite"/>
		</opc:Children>
	</opc:ObjectType>
	<opc:ObjectType SymbolicName="OutputsType" BaseType="ua:BaseObjectType" >
		<opc:DisplayName>OutputsType</opc:DisplayName>
		<opc:Description>Container for Output Signals instances</opc:Description>
		<opc:Children>
			<opc:Object SymbolicName="Output01" TypeDefinition="OutputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Output02" TypeDefinition="OutputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Output03" TypeDefinition="OutputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Output04" TypeDefinition="OutputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Output05" TypeDefinition="OutputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Output06" TypeDefinition="OutputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Output07" TypeDefinition="OutputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Output08" TypeDefinition="OutputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Output09" TypeDefinition="OutputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Output10" TypeDefinition="OutputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Output11" TypeDefinition="OutputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Output12" TypeDefinition="OutputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Output13" TypeDefinition="OutputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Output14" TypeDefinition="OutputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Output15" TypeDefinition="OutputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Output16" TypeDefinition="OutputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Output17" TypeDefinition="OutputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Output18" TypeDefinition="OutputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Output19" TypeDefinition="OutputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Output20" TypeDefinition="OutputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Output21" TypeDefinition="OutputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Output22" TypeDefinition="OutputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Output23" TypeDefinition="OutputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Output24" TypeDefinition="OutputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Output25" TypeDefinition="OutputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Output26" TypeDefinition="OutputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Output27" TypeDefinition="OutputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Output28" TypeDefinition="OutputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Output29" TypeDefinition="OutputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Output30" TypeDefinition="OutputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Output31" TypeDefinition="OutputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Output32" TypeDefinition="OutputType" AccessLevel="ReadWrite"/>
		</opc:Children>
	</opc:ObjectType>
	<opc:ObjectType SymbolicName="InputsType" BaseType="ua:BaseObjectType" >
		<opc:DisplayName>InputsType</opc:DisplayName>
		<opc:Description>Container for Input Signals instances</opc:Description>
		<opc:Children>
			<opc:Object SymbolicName="Input01" TypeDefinition="InputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Input02" TypeDefinition="InputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Input03" TypeDefinition="InputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Input04" TypeDefinition="InputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Input05" TypeDefinition="InputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Input06" TypeDefinition="InputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Input07" TypeDefinition="InputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Input08" TypeDefinition="InputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Input09" TypeDefinition="InputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Input10" TypeDefinition="InputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Input11" TypeDefinition="InputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Input12" TypeDefinition="InputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Input13" TypeDefinition="InputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Input14" TypeDefinition="InputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Input15" TypeDefinition="InputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Input16" TypeDefinition="InputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Input17" TypeDefinition="InputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Input18" TypeDefinition="InputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Input19" TypeDefinition="InputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Input20" TypeDefinition="InputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Input21" TypeDefinition="InputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Input22" TypeDefinition="InputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Input23" TypeDefinition="InputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Input24" TypeDefinition="InputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Input25" TypeDefinition="InputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Input26" TypeDefinition="InputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Input27" TypeDefinition="InputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Input28" TypeDefinition="InputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Input29" TypeDefinition="InputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Input30" TypeDefinition="InputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Input31" TypeDefinition="InputType" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Input32" TypeDefinition="InputType" AccessLevel="ReadWrite"/>
		</opc:Children>
	</opc:ObjectType>

	
	<!--Mathods-->
	<opc:Method SymbolicName="JogMethodType">
		<opc:OutputArguments>
			<opc:Argument Name="Result" DataType="ua:Boolean"/>
		</opc:OutputArguments>
	</opc:Method>
	<opc:Method SymbolicName="StartReferenceMethodType">
		<opc:OutputArguments>
			<opc:Argument Name="Result" DataType="ua:Boolean"/>
		</opc:OutputArguments>
	</opc:Method>
	<opc:Method SymbolicName="StopMovingMethodType">
		<opc:OutputArguments>
			<opc:Argument Name="Result" DataType="ua:Boolean"/>
		</opc:OutputArguments>
	</opc:Method>
	<opc:Method SymbolicName="MoveAbsoluteMethodType">
		<opc:InputArguments>
			<opc:Argument Name="AbsoluteTargetPosition" DataType="ua:Double"/>
		</opc:InputArguments>
		<opc:OutputArguments>
			<opc:Argument Name="Result" DataType="ua:Boolean"/>
		</opc:OutputArguments>
	</opc:Method>
	<opc:Method SymbolicName="MoveRelativeMethodType">
		<opc:InputArguments>
			<opc:Argument Name="RelativeTargetPosition" DataType="ua:Double"/>
		</opc:InputArguments>
		<opc:OutputArguments>
			<opc:Argument Name="Result" DataType="ua:Boolean"/>
		</opc:OutputArguments>
	</opc:Method>
	<opc:Method SymbolicName="StartExhaustMethodType">
		<opc:OutputArguments>
			<opc:Argument Name="Result" DataType="ua:Boolean"/>
		</opc:OutputArguments>
	</opc:Method>
	<opc:Method SymbolicName="StopExhaustMethodType">
		<opc:OutputArguments>
			<opc:Argument Name="Result" DataType="ua:Boolean"/>
		</opc:OutputArguments>
	</opc:Method>
	<opc:Method SymbolicName="StartProcessMethodType">
		<opc:OutputArguments>
			<opc:Argument Name="Result" DataType="ua:Boolean"/>
		</opc:OutputArguments>
	</opc:Method>
	<opc:Method SymbolicName="EndProcessMethodType">
		<opc:OutputArguments>
			<opc:Argument Name="Result" DataType="ua:Boolean"/>
		</opc:OutputArguments>
	</opc:Method>
	<opc:Method SymbolicName="AbortProcessMethodType">
		<opc:OutputArguments>
			<opc:Argument Name="Result" DataType="ua:Boolean"/>
		</opc:OutputArguments>
	</opc:Method>
	<opc:Method SymbolicName="MoveToHomePositionMethodType">
		<opc:OutputArguments>
			<opc:Argument Name="Result" DataType="ua:Boolean"/>
		</opc:OutputArguments>
	</opc:Method>
	<opc:Method SymbolicName="MoveToWorkPositionMethodType">
		<opc:OutputArguments>
			<opc:Argument Name="Result" DataType="ua:Boolean"/>
		</opc:OutputArguments>
	</opc:Method>


	<!--System type-->
	<opc:ObjectType SymbolicName="Machine" BaseType="ComponentType" SupportsEvents="true" ExposesItsChildren="true" AccessLevel="ReadWrite">
		<opc:Description>Represents the data structure for a Lasermachine.</opc:Description>
		<opc:Children>
			<opc:Variable SymbolicName="MachineID" DataType="ua:UInt32" SupportsEvents="true" ExposesItsChildren="true" AccessLevel="ReadWrite"/>
			<opc:Variable SymbolicName="SerialNumber" DataType="ua:String" SupportsEvents="true" ExposesItsChildren="true" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="MachineLayer" TypeDefinition="MachineLayerType" SupportsEvents="true" ExposesItsChildren="true" AccessLevel="ReadWrite"/>
			<opc:Method SymbolicName="StartProcess" TypeDefinition="StartProcessMethodType"/>
			<opc:Method SymbolicName="EndProcess" TypeDefinition="EndProcessMethodType"/>
			<opc:Method SymbolicName="AbortProcess" TypeDefinition="AbortProcessMethodType"/>
		</opc:Children>
	</opc:ObjectType>

	
	<!--Machines-->
	<opc:ObjectType SymbolicName="GalvoMachineType" BaseType="Machine" ExposesItsChildren="true" AccessLevel="ReadWrite">
		<opc:Description>Represents the data structure for a Galvo Lasermachine.</opc:Description>
		<opc:Children>
			<opc:Object SymbolicName="LaserSystems" TypeDefinition="LaserSystemsType" SupportsEvents="true" ExposesItsChildren="true" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Exhausts" TypeDefinition="ExhaustsType" SupportsEvents="true" ExposesItsChildren="true" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="MovingUnits" TypeDefinition="MovingUnitsType" SupportsEvents="true" ExposesItsChildren="true" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Inputs" TypeDefinition="InputsType" SupportsEvents="true" ExposesItsChildren="true" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Outputs" TypeDefinition="OutputsType" SupportsEvents="true" ExposesItsChildren="true" AccessLevel="ReadWrite"/>
		</opc:Children>
	</opc:ObjectType>
	<opc:ObjectType SymbolicName="PlotterMachineType" BaseType="Machine" ExposesItsChildren="true" AccessLevel="ReadWrite">
		<opc:Description>Represents the data structure for a Galvo Lasermachine.</opc:Description>
		<opc:Children>
			<opc:Object SymbolicName="LaserSystems" TypeDefinition="LaserSystemsType" SupportsEvents="true" ExposesItsChildren="true" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="Exhausts" TypeDefinition="ExhaustsType" SupportsEvents="true" ExposesItsChildren="true" AccessLevel="ReadWrite"/>
		</opc:Children>
	</opc:ObjectType>
	
	
	<!--Root-->
	<opc:ObjectType SymbolicName="System" BaseType="ua:BaseObjectType" SupportsEvents="true" ExposesItsChildren="true" AccessLevel="ReadWrite">
		<opc:Description>.</opc:Description>
		<opc:Children>
			<opc:Object SymbolicName="GalvoMachine" TypeDefinition="GalvoMachineType" SupportsEvents="true" ExposesItsChildren="true" AccessLevel="ReadWrite"/>
			<opc:Object SymbolicName="PlotterMachine" TypeDefinition="PlotterMachineType" SupportsEvents="true" ExposesItsChildren="true" AccessLevel="ReadWrite"/>
		</opc:Children>
	</opc:ObjectType>
</opc:ModelDesign>
ModelDesign.xml (26,617 bytes)   
Commit Version
Fix Due Date

Activities

Randy Armstrong

2022-09-16 13:50

administrator   ~0017693

You have created a model with complex variables nested in objects that results in a lot of nodes getting created when object instances are created.

Jim Luth

2022-09-22 14:48

administrator   ~0017794

Agreed to no change required in F2F meeting.

Issue History

Date Modified Username Field Change
2022-05-17 10:27 Ivan New Issue
2022-05-17 10:27 Ivan File Added: ModelDesign.xml
2022-07-05 16:39 Jim Luth Project UA Specification => NodeSets, XSDs and Generated Code
2022-07-05 16:39 Jim Luth Assigned To => Randy Armstrong
2022-07-05 16:39 Jim Luth Status new => assigned
2022-09-16 13:50 Randy Armstrong Status assigned => resolved
2022-09-16 13:50 Randy Armstrong Resolution open => no change required
2022-09-16 13:50 Randy Armstrong Note Added: 0017693
2022-09-22 14:48 Jim Luth Status resolved => closed
2022-09-22 14:48 Jim Luth Note Added: 0017794