xref: /openbmc/bmcweb/features/redfish/schema/dmtf/csdl/AutomationNode_v1.xml (revision c6d7a45d427f9a6d9e761afcf305761dca60d7cf)
1<?xml version="1.0" encoding="UTF-8"?>
2<!---->
3<!--################################################################################       -->
4<!--# Redfish Schema:  AutomationNode v1.0.0                                               -->
5<!--#                                                                                      -->
6<!--# For a detailed change log, see the README file contained in the DSP8010 bundle,      -->
7<!--# available at http://www.dmtf.org/standards/redfish                                   -->
8<!--# Copyright 2014-2025 DMTF.                                                                 -->
9<!--# For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright -->
10<!--################################################################################       -->
11<!---->
12<edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Version="4.0">
13
14  <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Core.V1.xml">
15    <edmx:Include Namespace="Org.OData.Core.V1" Alias="OData"/>
16  </edmx:Reference>
17  <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Capabilities.V1.xml">
18    <edmx:Include Namespace="Org.OData.Capabilities.V1" Alias="Capabilities"/>
19  </edmx:Reference>
20  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/RedfishExtensions_v1.xml">
21    <edmx:Include Namespace="RedfishExtensions.v1_0_0" Alias="Redfish"/>
22  </edmx:Reference>
23  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Resource_v1.xml">
24    <edmx:Include Namespace="Resource"/>
25    <edmx:Include Namespace="Resource.v1_0_0"/>
26  </edmx:Reference>
27  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Sensor_v1.xml">
28    <edmx:Include Namespace="Sensor"/>
29  </edmx:Reference>
30  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Control_v1.xml">
31    <edmx:Include Namespace="Control"/>
32  </edmx:Reference>
33  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Chassis_v1.xml">
34    <edmx:Include Namespace="Chassis"/>
35  </edmx:Reference>
36  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/AutomationInstrumentation_v1.xml">
37    <edmx:Include Namespace="AutomationInstrumentation"/>
38  </edmx:Reference>
39
40  <edmx:DataServices>
41
42    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="AutomationNode">
43      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
44
45      <EntityType Name="AutomationNode" BaseType="Resource.v1_0_0.Resource" Abstract="true">
46        <Annotation Term="OData.Description" String="The `AutomationNode` schema describes a node that carries out instructions in industrial automation environments."/>
47        <Annotation Term="OData.LongDescription" String="This resource shall represent an automation node for a Redfish implementation."/>
48        <Annotation Term="Capabilities.InsertRestrictions">
49          <Record>
50            <PropertyValue Property="Insertable" Bool="false"/>
51          </Record>
52        </Annotation>
53        <Annotation Term="Capabilities.UpdateRestrictions">
54          <Record>
55            <PropertyValue Property="Updatable" Bool="true"/>
56          </Record>
57        </Annotation>
58        <Annotation Term="Capabilities.DeleteRestrictions">
59          <Record>
60            <PropertyValue Property="Deletable" Bool="false"/>
61          </Record>
62        </Annotation>
63        <Annotation Term="Redfish.Uris">
64          <Collection>
65            <String>/redfish/v1/AutomationNodes/{AutomationNodeId}</String>
66          </Collection>
67        </Annotation>
68      </EntityType>
69
70      <EnumType Name="NodeState">
71        <Member Name="Idle">
72          <Annotation Term="OData.Description" String="The node's controller is idle."/>
73        </Member>
74        <Member Name="Done">
75          <Annotation Term="OData.Description" String="The node's controller has reached its destination position."/>
76        </Member>
77        <Member Name="Waiting">
78          <Annotation Term="OData.Description" String="The node's controller is waiting to start."/>
79        </Member>
80        <Member Name="ConditionStop">
81          <Annotation Term="OData.Description" String="The node's controller has stopped due to a condition fault."/>
82        </Member>
83        <Member Name="ErrorStop">
84          <Annotation Term="OData.Description" String="The node's controller has stopped due to an error."/>
85        </Member>
86        <Member Name="Running">
87          <Annotation Term="OData.Description" String="The node's controller is running."/>
88        </Member>
89      </EnumType>
90
91      <Action Name="Start" IsBound="true">
92        <Annotation Term="OData.Description" String="Starts the node."/>
93        <Annotation Term="OData.LongDescription" String="This action shall transition the node to the `Running` state.  This action shall pulse the trigger signal to other connected nodes that are in the `Waiting` state."/>
94        <Parameter Name="AutomationNode" Type="AutomationNode.v1_0_0.Actions"/>
95      </Action>
96      <Action Name="Wait" IsBound="true">
97        <Annotation Term="OData.Description" String="Signals the node to wait for the next instruction."/>
98        <Annotation Term="OData.LongDescription" String="This action shall transition the node to the `Waiting` state."/>
99        <Parameter Name="AutomationNode" Type="AutomationNode.v1_0_0.Actions"/>
100      </Action>
101      <Action Name="Stop" IsBound="true">
102        <Annotation Term="OData.Description" String="Stops the node."/>
103        <Annotation Term="OData.LongDescription" String="This action shall transition the node to the `Idle` state."/>
104        <Parameter Name="AutomationNode" Type="AutomationNode.v1_0_0.Actions"/>
105      </Action>
106      <Action Name="SendTrigger" IsBound="true">
107        <Annotation Term="OData.Description" String="Sends a trigger to the node."/>
108        <Annotation Term="OData.LongDescription" String="This action shall pulse the trigger signal for the node."/>
109        <Parameter Name="AutomationNode" Type="AutomationNode.v1_0_0.Actions"/>
110      </Action>
111      <Action Name="Reset" IsBound="true">
112        <Annotation Term="OData.Description" String="Resets the node."/>
113        <Annotation Term="OData.LongDescription" String="This action shall reset the node to its power-on state."/>
114        <Parameter Name="AutomationNode" Type="AutomationNode.v1_0_0.Actions"/>
115      </Action>
116    </Schema>
117
118    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="AutomationNode.v1_0_0">
119      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
120      <Annotation Term="Redfish.Release" String="2025.2"/>
121
122      <EntityType Name="AutomationNode" BaseType="AutomationNode.AutomationNode">
123        <Property Name="NodeType" Type="AutomationNode.v1_0_0.NodeType" Nullable="false">
124          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
125          <Annotation Term="OData.Description" String="The type of automation node."/>
126          <Annotation Term="OData.LongDescription" String="This property shall contain the type for the automation node."/>
127        </Property>
128        <Property Name="NodeState" Type="AutomationNode.NodeState" Nullable="false">
129          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
130          <Annotation Term="OData.Description" String="The current state of the node."/>
131          <Annotation Term="OData.LongDescription" String="This property shall contain the current state of the automation node."/>
132        </Property>
133        <Property Name="MotionProfile" Type="AutomationNode.v1_0_0.MotionProfileType">
134          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
135          <Annotation Term="OData.Description" String="The motion profile type used for this node."/>
136          <Annotation Term="OData.LongDescription" String="This property shall contain the type of motion profile used for this motion-based node."/>
137        </Property>
138        <Property Name="MotionAxis" Type="AutomationNode.v1_0_0.MotionAxisType">
139          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
140          <Annotation Term="OData.Description" String="The primary axis of motion for this motion-related node."/>
141          <Annotation Term="OData.LongDescription" String="This property shall contain the primary axis of motion for this motion-related node."/>
142        </Property>
143        <NavigationProperty Name="Instrumentation" Type="AutomationInstrumentation.AutomationInstrumentation" Nullable="false">
144          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
145          <Annotation Term="OData.Description" String="A link to the instrumentation for this node."/>
146          <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resource of type `AutomationInstrumentation` that represents the instrumentation for this automation node."/>
147        </NavigationProperty>
148        <Property Name="Status" Type="Resource.Status" Nullable="false">
149          <Annotation Term="OData.Description" String="The status and health of a resource and its children."/>
150          <Annotation Term="OData.LongDescription" String="This type shall contain any status or health properties of a resource."/>
151        </Property>
152        <Property Name="Links" Type="AutomationNode.v1_0_0.Links" Nullable="false">
153          <Annotation Term="OData.Description" String="The links to other resources that are related to this resource."/>
154          <Annotation Term="OData.LongDescription" String="This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource."/>
155        </Property>
156        <Property Name="Actions" Type="AutomationNode.v1_0_0.Actions" Nullable="false">
157          <Annotation Term="OData.Description" String="The available actions for this resource."/>
158          <Annotation Term="OData.LongDescription" String="This property shall contain the available actions for this resource."/>
159        </Property>
160      </EntityType>
161
162      <ComplexType Name="Actions">
163        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
164        <Annotation Term="OData.Description" String="The available actions for this resource."/>
165        <Annotation Term="OData.LongDescription" String="This type shall contain the available actions for this resource."/>
166        <Property Name="Oem" Type="AutomationNode.v1_0_0.OemActions" Nullable="false">
167          <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
168          <Annotation Term="OData.LongDescription" String="This property shall contain the available OEM-specific actions for this resource."/>
169        </Property>
170      </ComplexType>
171
172      <ComplexType Name="OemActions">
173        <Annotation Term="OData.AdditionalProperties" Bool="true"/>
174        <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
175        <Annotation Term="OData.LongDescription" String="This type shall contain the available OEM-specific actions for this resource."/>
176      </ComplexType>
177
178      <EnumType Name="NodeType">
179        <Member Name="MotionPosition">
180          <Annotation Term="OData.Description" String="A position-based profiled motion node where position, velocity, and acceleration are all controlled."/>
181        </Member>
182        <Member Name="MotionVelocity">
183          <Annotation Term="OData.Description" String="A velocity-based profiled motion node where position, velocity and acceleration are all controlled."/>
184        </Member>
185        <Member Name="MotionPositionGroup">
186          <Annotation Term="OData.Description" String="A multi-axis position-based profiled motion node where position, velocity and acceleration are all controlled."/>
187        </Member>
188        <Member Name="PID">
189          <Annotation Term="OData.Description" String="A node that attempts to match a set point using a PID control algorithm."/>
190        </Member>
191        <Member Name="Simple">
192          <Annotation Term="OData.Description" String="A simple node that incorporates no automated control function."/>
193        </Member>
194      </EnumType>
195
196      <EnumType Name="MotionProfileType">
197        <Member Name="Trapezoidal">
198          <Annotation Term="OData.Description" String="Trapezoidal profile."/>
199        </Member>
200        <Member Name="SCurve">
201          <Annotation Term="OData.Description" String="S-curve profile."/>
202        </Member>
203        <Member Name="None">
204          <Annotation Term="OData.Description" String="No profile specified."/>
205        </Member>
206      </EnumType>
207
208      <EnumType Name="MotionAxisType">
209        <Member Name="X">
210          <Annotation Term="OData.Description" String="X axis."/>
211        </Member>
212        <Member Name="Y">
213          <Annotation Term="OData.Description" String="Y axis."/>
214        </Member>
215        <Member Name="Z">
216          <Annotation Term="OData.Description" String="Z axis."/>
217        </Member>
218        <Member Name="TwoAxis">
219          <Annotation Term="OData.Description" String="2-axis."/>
220        </Member>
221        <Member Name="ThreeAxis">
222          <Annotation Term="OData.Description" String="3-axis."/>
223        </Member>
224      </EnumType>
225
226      <ComplexType Name="Links" BaseType="Resource.Links">
227        <Annotation Term="OData.Description" String="The links to other resources that are related to this resource."/>
228        <Annotation Term="OData.LongDescription" String="This Redfish Specification-described type shall contain links to resources that are related to but are not contained by, or subordinate to, this resource."/>
229        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
230        <NavigationProperty Name="Chassis" Type="Collection(Chassis.Chassis)">
231          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
232          <Annotation Term="OData.Description" String="An array of links to the chassis that contain this equipment."/>
233          <Annotation Term="OData.LongDescription" String="This property shall contain an array of links to resources of type `Chassis` that represent the physical containers that contain this equipment."/>
234          <Annotation Term="OData.AutoExpandReferences"/>
235        </NavigationProperty>
236        <NavigationProperty Name="AutomationNodeGroup" Type="Collection(AutomationNode.AutomationNode)">
237          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
238          <Annotation Term="OData.Description" String="An array of links to the automation nodes that are included in an automation node group."/>
239          <Annotation Term="OData.LongDescription" String="This property shall contain an array of links to resources of type `AutomationNode` that represent the nodes that provide the functionality of this group."/>
240          <Annotation Term="OData.AutoExpandReferences"/>
241        </NavigationProperty>
242        <NavigationProperty Name="PositionSensor" Type="Sensor.Sensor" Nullable="false">
243          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
244          <Annotation Term="OData.Description" String="A link to the position sensor."/>
245          <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resource of type `Sensor` that represents the position sensor associated with this node."/>
246        </NavigationProperty>
247        <NavigationProperty Name="VelocitySensor" Type="Sensor.Sensor" Nullable="false">
248          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
249          <Annotation Term="OData.Description" String="A link to the velocity sensor."/>
250          <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resource of type `Sensor` that represents the velocity sensor associated with this node."/>
251        </NavigationProperty>
252        <NavigationProperty Name="PidFeedbackSensor" Type="Sensor.Sensor" Nullable="false">
253          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
254          <Annotation Term="OData.Description" String="A link to the PID feedback sensor."/>
255          <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resource of type `Sensor` that represents the feedback sensor associated with this node.  The feedback sensor is intended to return controlled value output in a PID system."/>
256        </NavigationProperty>
257        <NavigationProperty Name="OutputControl" Type="Control.Control" Nullable="false">
258          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
259          <Annotation Term="OData.Description" String="A link to the output control."/>
260          <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resource of type `Control` that represent the output control associated with this node."/>
261        </NavigationProperty>
262      </ComplexType>
263    </Schema>
264
265  </edmx:DataServices>
266</edmx:Edmx>
267