From c572d2471adc7f57056f371e199be1c55acc6177 Mon Sep 17 00:00:00 2001 From: Kavan Price Date: Tue, 8 Apr 2025 00:24:58 +0100 Subject: [PATCH 01/19] Add fastening robot schema --- .../Correction_FastenerFind-v1.json | 135 +++++++++++++ .../Correction_HoleFind-v1.json | 135 +++++++++++++ .../Fastening_Robot/Correction_Laser-v1.json | 101 ++++++++++ Robot/Fastening_Robot/Robot-v1.json | 189 ++++++++++++++++++ 4 files changed, 560 insertions(+) create mode 100644 Robot/Fastening_Robot/Correction_FastenerFind-v1.json create mode 100644 Robot/Fastening_Robot/Correction_HoleFind-v1.json create mode 100644 Robot/Fastening_Robot/Correction_Laser-v1.json create mode 100644 Robot/Fastening_Robot/Robot-v1.json diff --git a/Robot/Fastening_Robot/Correction_FastenerFind-v1.json b/Robot/Fastening_Robot/Correction_FastenerFind-v1.json new file mode 100644 index 0000000..702c10a --- /dev/null +++ b/Robot/Fastening_Robot/Correction_FastenerFind-v1.json @@ -0,0 +1,135 @@ +{ + "$id": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Robot/Fastening_Robot/Correction_FastenerFind-v1.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "Schema_UUID": { + "const": "6e3c45d4-b28d-4a64-8e03-a2c805bb04d9" + }, + "Instance_UUID": { + "description": "The unique identifier for this object. (A UUID specified by RFC4122).", + "type": "string", + "format": "uuid" + }, + "Fastener_Score": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Int8"] + } + } + } + ] + }, + "Fastener_Present": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Fastener_Head_Dia": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Fastener_Whole_Dia": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Pass": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "X": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Y": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + } + }, + "required": ["Schema_UUID", "Instance_UUID"] +} diff --git a/Robot/Fastening_Robot/Correction_HoleFind-v1.json b/Robot/Fastening_Robot/Correction_HoleFind-v1.json new file mode 100644 index 0000000..5e82e33 --- /dev/null +++ b/Robot/Fastening_Robot/Correction_HoleFind-v1.json @@ -0,0 +1,135 @@ +{ + "$id": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Robot/Fastening_Robot/Correction_HoleFind-v1.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "Schema_UUID": { + "const": "1dd3e8f8-0b28-420e-bbf3-9e34c01b8bda" + }, + "Instance_UUID": { + "description": "The unique identifier for this object. (A UUID specified by RFC4122).", + "type": "string", + "format": "uuid" + }, + "Hole_Clear": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Hole_Score": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Int8"] + } + } + } + ] + }, + "Inner_Hole_Dia": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Outer_Csnk_Dia": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Pass": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "X": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Y": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + } + }, + "required": ["Schema_UUID", "Instance_UUID"] +} diff --git a/Robot/Fastening_Robot/Correction_Laser-v1.json b/Robot/Fastening_Robot/Correction_Laser-v1.json new file mode 100644 index 0000000..4c386bf --- /dev/null +++ b/Robot/Fastening_Robot/Correction_Laser-v1.json @@ -0,0 +1,101 @@ +{ + "$id": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Robot/Fastening_Robot/Correction_Laser-v1.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "Schema_UUID": { + "const": "1286bee9-3655-44aa-8e61-ea4593d6c22c" + }, + "Instance_UUID": { + "description": "The unique identifier for this object. (A UUID specified by RFC4122).", + "type": "string", + "format": "uuid" + }, + "Above_Crossover": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Rx": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Ry": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Valid": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Z_Corr": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + } + }, + "required": ["Schema_UUID", "Instance_UUID"] +} diff --git a/Robot/Fastening_Robot/Robot-v1.json b/Robot/Fastening_Robot/Robot-v1.json new file mode 100644 index 0000000..d773fe7 --- /dev/null +++ b/Robot/Fastening_Robot/Robot-v1.json @@ -0,0 +1,189 @@ +{ + "$id": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Robot/Fastening_Robot/Robot-v1.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "DELTA Robot", + "type": "object", + "properties": { + "Schema_UUID": { + "const": "6b0383f5-e6ea-44d9-8e82-39aa64d1a0d5" + }, + "Instance_UUID": { + "description": "The unique identifier for this object. (A UUID specified by RFC4122).", + "type": "string", + "format": "uuid" + }, + "Controller_UUID": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Sparkplug_Type": { + "enum": ["UUID"] + }, + "Documentation": { + "default": "A reference to the controller that this robot uses" + } + } + } + ] + }, + "Device_Information": { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Device_Information-v1.json" + }, + "Axes": { + "type": "object", + "patternProperties": { + "^[a-zA-Z0-9_]*$": { + "$comment": "An axis name or identifier - can be any regular string", + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Axis-v1.json" + } + } + }, + "End_Effectors": { + "type": "object", + "patternProperties": { + "^[a-zA-Z0-9_]*$": { + "$comment": "An end effector position identifier", + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Fastening_Robot/Fastening_End_Effector-v1.json" + } + } + }, + "Cell": { + "type": "object", + "properties": { + "AIC_CELL_CONNECTED": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "AIC_CELL_E_STOP_PB_SW": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "AIC_CELL_ESTOP_STATE": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "AIC_CELL_SFDOOR_STATE": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "E_STOP_STATE_OVERALL": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + } + }, + "required": [] + }, + "E_STOP_SW_EXTERNAL": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "E_STOP_SW_INTERNAL": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Correction_FastenerFind": { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Robot/Fastening_Robot/Correction_FastenerFind-v1.json" + }, + "Correction_HoleFind": { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Robot/Fastening_Robot/Correction_HoleFind-v1.json" + }, + "Correction_Laser": { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Robot/Fastening_Robot/Correction_Laser-v1.json" + } + }, + "required": ["Schema_UUID", "Instance_UUID", "Device_Information", "Axes"] +} From c950ebcb4648f476b4bacf29ec9211d191005167 Mon Sep 17 00:00:00 2001 From: Kavan Price Date: Tue, 8 Apr 2025 00:25:27 +0100 Subject: [PATCH 02/19] Add fastening robot axis --- Robot/Fastening_Robot/Fastening_Axis-v1.json | 231 +++++++++++++++++++ 1 file changed, 231 insertions(+) create mode 100644 Robot/Fastening_Robot/Fastening_Axis-v1.json diff --git a/Robot/Fastening_Robot/Fastening_Axis-v1.json b/Robot/Fastening_Robot/Fastening_Axis-v1.json new file mode 100644 index 0000000..8704cd7 --- /dev/null +++ b/Robot/Fastening_Robot/Fastening_Axis-v1.json @@ -0,0 +1,231 @@ +{ + "$id": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Robot/Fastening_Robot/Fastening_Axis-v1.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "Fastening Axis", + "type": "object", + "properties": { + "Schema_UUID": { + "const": "777dd941-f426-4355-8130-e144530b1376" + }, + "Instance_UUID": { + "description": "The unique identifier for this object. (A UUID specified by RFC4122).", + "type": "string", + "format": "uuid" + }, + "Axis_Type": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Sparkplug_Type": { + "enum": ["String"] + }, + "Value": { + "type": "string", + "enum": [ + "Linear", + "Angular", + "Linear_Endless", + "Angular_Endless", + "TCP", + "Spindle", + "End_Effector", + "AGV", + "Fixture" + ] + }, + "Documentation": { + "default": "Type of axis." + } + } + } + ] + }, + "Axis_Coord_System": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Sparkplug_Type": { + "enum": ["String"] + }, + "Value": { + "type": "string", + "enum": [ + "NA", + "Workpiece", + "Base", + "Tool", + "Task", + "Object", + "Camera", + "Measurement", + "Mobile_Platform", + "Unknown" + ] + }, + "Documentation": { + "default": "Coordinate system of axis. NA - Not Applicable" + } + } + } + ] + }, + "Status": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Sparkplug_Type": { + "enum": ["String"] + }, + "Documentation": { + "default": "Any status information of an axis." + } + } + } + ] + }, + "Zero_Offset": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Sparkplug_Type": { + "enum": ["FloatLE", "DoubleLE", "FloatBE", "DoubleBE"] + }, + "Documentation": { + "default": "Zero offset of an axis." + } + } + } + ] + }, + "Locked": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Sparkplug_Type": { + "enum": ["Boolean"] + }, + "Documentation": { + "default": "Is the axis locked?" + } + } + } + ] + }, + "Load": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Sparkplug_Type": { + "enum": ["FloatLE", "DoubleLE", "FloatBE", "DoubleBE"] + }, + "Documentation": { + "default": "Actual load of an axis." + } + } + } + ] + }, + "Power": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Sparkplug_Type": { + "enum": ["FloatLE", "DoubleLE", "FloatBE", "DoubleBE"] + }, + "Documentation": { + "default": "Actual power of an axis' drive." + } + } + } + ] + }, + "Position": { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Commanded_Value-v1.json" + }, + "Angle": { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Commanded_Value-v1.json" + }, + "Speed": { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Commanded_Value-v1.json" + }, + "Acceleration": { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Commanded_Value-v1.json" + }, + "Torque": { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Commanded_Value-v1.json" + }, + "Torque_Data_Logging": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Torque_Data_Ready": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Torque_Data_Overflow": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + } + }, + "required": ["Schema_UUID", "Instance_UUID", "Axis_Type"] +} From 8305daceea49b0c09b073782990777523857111e Mon Sep 17 00:00:00 2001 From: Kavan Price Date: Tue, 8 Apr 2025 00:25:50 +0100 Subject: [PATCH 03/19] Fix fastening axis UUID --- Robot/Fastening_Robot/Fastening_Axis-v1.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Robot/Fastening_Robot/Fastening_Axis-v1.json b/Robot/Fastening_Robot/Fastening_Axis-v1.json index 8704cd7..6680102 100644 --- a/Robot/Fastening_Robot/Fastening_Axis-v1.json +++ b/Robot/Fastening_Robot/Fastening_Axis-v1.json @@ -5,7 +5,7 @@ "type": "object", "properties": { "Schema_UUID": { - "const": "777dd941-f426-4355-8130-e144530b1376" + "const": "f7458af9-1377-490f-bc70-55315cb09bf9" }, "Instance_UUID": { "description": "The unique identifier for this object. (A UUID specified by RFC4122).", From 88aacf27f84e730a28a36735c3d447c9db8e45cd Mon Sep 17 00:00:00 2001 From: Kavan Price Date: Tue, 8 Apr 2025 00:26:14 +0100 Subject: [PATCH 04/19] Add fastening vision system --- .../Fastening_Vision_System-v1.json | 93 +++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 Robot/Fastening_Robot/Fastening_Vision_System-v1.json diff --git a/Robot/Fastening_Robot/Fastening_Vision_System-v1.json b/Robot/Fastening_Robot/Fastening_Vision_System-v1.json new file mode 100644 index 0000000..3fa5868 --- /dev/null +++ b/Robot/Fastening_Robot/Fastening_Vision_System-v1.json @@ -0,0 +1,93 @@ +{ + "$id": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Robot/Fastening_Robot/Fastening_Vision_System-v1.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "Schema_UUID": { + "const": "e0a0402f-25f5-438c-b088-077b72f2dde7" + }, + "Instance_UUID": { + "description": "The unique identifier for this object. (A UUID specified by RFC4122).", + "type": "string", + "format": "uuid" + }, + "Device_Information": { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Device_Information-v1.json" + }, + "Fan_Enable": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Status": { + "type": "object", + "properties": { + "Healthy": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Image_OK": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Inspection_Complete_State": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + } + }, + "required": [] + } + }, + "required": ["Schema_UUID", "Instance_UUID"] +} From 8bbd5ff84c6a8baf13dedae8d8ae9678c7054331 Mon Sep 17 00:00:00 2001 From: Kavan Price Date: Tue, 8 Apr 2025 00:26:35 +0100 Subject: [PATCH 05/19] Add non-fastening axis --- .../Non_Fastening_Axis-v1.json | 1599 +++++++++++++++++ 1 file changed, 1599 insertions(+) create mode 100644 Robot/Fastening_Robot/Non_Fastening_Axis-v1.json diff --git a/Robot/Fastening_Robot/Non_Fastening_Axis-v1.json b/Robot/Fastening_Robot/Non_Fastening_Axis-v1.json new file mode 100644 index 0000000..53aec3b --- /dev/null +++ b/Robot/Fastening_Robot/Non_Fastening_Axis-v1.json @@ -0,0 +1,1599 @@ +{ + "$id": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Robot/Fastening_Robot/Non_Fastening_Axis-v1.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "Non-fastening Axis", + "type": "object", + "properties": { + "Schema_UUID": { + "const": "777dd941-f426-4355-8130-e144530b1376" + }, + "Instance_UUID": { + "description": "The unique identifier for this object. (A UUID specified by RFC4122).", + "type": "string", + "format": "uuid" + }, + "Axis_Type": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Sparkplug_Type": { + "enum": ["String"] + }, + "Value": { + "type": "string", + "enum": [ + "Linear", + "Angular", + "Linear_Endless", + "Angular_Endless", + "TCP", + "Spindle", + "End_Effector", + "AGV", + "Fixture" + ] + }, + "Documentation": { + "default": "Type of axis." + } + } + } + ] + }, + "Axis_Coord_System": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Sparkplug_Type": { + "enum": ["String"] + }, + "Value": { + "type": "string", + "enum": [ + "NA", + "Workpiece", + "Base", + "Tool", + "Task", + "Object", + "Camera", + "Measurement", + "Mobile_Platform", + "Unknown" + ] + }, + "Documentation": { + "default": "Coordinate system of axis. NA - Not Applicable" + } + } + } + ] + }, + "Status": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Sparkplug_Type": { + "enum": ["String"] + }, + "Documentation": { + "default": "Any status information of an axis." + } + } + } + ] + }, + "Zero_Offset": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Sparkplug_Type": { + "enum": ["FloatLE", "DoubleLE", "FloatBE", "DoubleBE"] + }, + "Documentation": { + "default": "Zero offset of an axis." + } + } + } + ] + }, + "Locked": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Sparkplug_Type": { + "enum": ["Boolean"] + }, + "Documentation": { + "default": "Is the axis locked?" + } + } + } + ] + }, + "Load": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Sparkplug_Type": { + "enum": ["FloatLE", "DoubleLE", "FloatBE", "DoubleBE"] + }, + "Documentation": { + "default": "Actual load of an axis." + } + } + } + ] + }, + "Power": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Sparkplug_Type": { + "enum": ["FloatLE", "DoubleLE", "FloatBE", "DoubleBE"] + }, + "Documentation": { + "default": "Actual power of an axis' drive." + } + } + } + ] + }, + "Position": { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Commanded_Value-v1.json" + }, + "Angle": { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Commanded_Value-v1.json" + }, + "Speed": { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Commanded_Value-v1.json" + }, + "Acceleration": { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Commanded_Value-v1.json" + }, + "Torque": { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Commanded_Value-v1.json" + }, + "MC_POWER": { + "type": "object", + "properties": { + "Ctrl": { + "type": "object", + "properties": { + "Enable": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Stop_Mode": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Int8"] + } + } + } + ] + }, + "Start_Mode": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Int8"] + } + } + } + ] + } + }, + "required": [] + }, + "Status": { + "type": "object", + "properties": { + "Status": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Busy": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Error": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Error_Id": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Bytes"] + } + } + } + ] + } + }, + "required": [] + } + }, + "required": [] + }, + "MC_RESET": { + "type": "object", + "properties": { + "Ctrl": { + "type": "object", + "properties": { + "Execute": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Restart": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + } + }, + "required": [] + }, + "Status": { + "type": "object", + "properties": { + "Done": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Busy": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Command_Aborted": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Error_Id": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Bytes"] + } + } + } + ] + } + }, + "required": [] + } + }, + "required": [] + }, + "MC_HOME": { + "type": "object", + "properties": { + "Ctrl": { + "type": "object", + "properties": { + "Execute": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Position": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Mode": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Int8"] + } + } + } + ] + }, + "Sensor": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Int8"] + } + } + } + ] + } + }, + "required": [] + }, + "Status": { + "type": "object", + "properties": { + "Reference_Mark_Position": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Done": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Busy": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Command_Aborted": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Error_Id": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Bytes"] + } + } + } + ] + }, + "Error": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + } + }, + "required": [] + } + }, + "required": [] + }, + "MC_HALT": { + "type": "object", + "properties": { + "Ctrl": { + "type": "object", + "properties": { + "Execute": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Deceleration": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Jerk": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Abort_Acceleration": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + } + }, + "required": [] + }, + "Status": { + "type": "object", + "properties": { + "Done": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Busy": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Command_Aborted": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Error_Id": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Bytes"] + } + } + } + ] + }, + "Error": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + } + }, + "required": [] + } + }, + "required": [] + }, + "MC_MOVEABSOLUTE": { + "type": "object", + "properties": { + "Ctrl": { + "type": "object", + "properties": { + "Execute": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Position": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Velocity": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Acceleration": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Deceleration": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Jerk": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Direction": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Int8"] + } + } + } + ] + } + }, + "required": [] + }, + "Status": { + "type": "object", + "properties": { + "Done": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Busy": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Command_Aborted": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Error_Id": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Bytes"] + } + } + } + ] + }, + "Error": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + } + }, + "required": [] + } + }, + "required": [] + }, + "MC_MOVEJOG": { + "type": "object", + "properties": { + "Ctrl": { + "type": "object", + "properties": { + "JogForward": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "JogBackward": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Velocity": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Acceleration": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Deceleration": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Jerk": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Position_Controlled": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + } + }, + "required": [] + }, + "Status": { + "type": "object", + "properties": { + "InVelocity": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Busy": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Command_Aborted": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Error_Id": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Bytes"] + } + } + } + ] + }, + "Error": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + } + }, + "required": [] + } + }, + "required": [] + }, + "MC_MOVERELATIVE": { + "type": "object", + "properties": { + "Ctrl": { + "type": "object", + "properties": { + "Execute": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Distance": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Velocity": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Acceleration": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Deceleration": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Jerk": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + } + }, + "required": [] + }, + "Status": { + "type": "object", + "properties": { + "Done": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Busy": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Command_Aborted": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Error_Id": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Bytes"] + } + } + } + ] + }, + "Error": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + } + }, + "required": [] + } + }, + "required": [] + }, + "MC_TORQUELIMITING": { + "type": "object", + "properties": { + "Ctrl": { + "type": "object", + "properties": { + "Enable": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Limit": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Mode": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Int8"] + } + } + } + ] + } + }, + "required": [] + }, + "Status": { + "type": "object", + "properties": { + "InClamping": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "InLimitation": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Busy": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Error_Id": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Bytes"] + } + } + } + ] + }, + "Error": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + } + }, + "required": [] + } + }, + "required": [] + } + }, + "required": ["Schema_UUID", "Instance_UUID", "Axis_Type"] +} From 137fde2f12edef4abc24d1ea02df6d208bce254c Mon Sep 17 00:00:00 2001 From: Kavan Price Date: Tue, 8 Apr 2025 00:26:55 +0100 Subject: [PATCH 06/19] Add ctrl and status properties to fastening axis --- Robot/Fastening_Robot/Fastening_Axis-v1.json | 1043 ++++++++++++++++++ 1 file changed, 1043 insertions(+) diff --git a/Robot/Fastening_Robot/Fastening_Axis-v1.json b/Robot/Fastening_Robot/Fastening_Axis-v1.json index 6680102..c0314e0 100644 --- a/Robot/Fastening_Robot/Fastening_Axis-v1.json +++ b/Robot/Fastening_Robot/Fastening_Axis-v1.json @@ -225,6 +225,1049 @@ } } ] + }, + "MC_POWER": { + "type": "object", + "properties": { + "Ctrl": { + "type": "object", + "properties": { + "Enable": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Stop_Mode": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Int8"] + } + } + } + ] + }, + "Start_Mode": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Int8"] + } + } + } + ] + } + }, + "required": [] + }, + "Status": { + "type": "object", + "properties": { + "Status": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Busy": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Error": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Error_Id": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Bytes"] + } + } + } + ] + } + }, + "required": [] + } + }, + "required": [] + }, + "MC_RESET": { + "type": "object", + "properties": { + "Ctrl": { + "type": "object", + "properties": { + "Execute": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Restart": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + } + }, + "required": [] + }, + "Status": { + "type": "object", + "properties": { + "Done": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Busy": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Command_Aborted": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Error_Id": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Bytes"] + } + } + } + ] + } + }, + "required": [] + } + }, + "required": [] + }, + "MC_HALT": { + "type": "object", + "properties": { + "Ctrl": { + "type": "object", + "properties": { + "Execute": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Deceleration": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Jerk": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Abort_Acceleration": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + } + }, + "required": [] + }, + "Status": { + "type": "object", + "properties": { + "Done": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Busy": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Command_Aborted": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Error_Id": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Bytes"] + } + } + } + ] + }, + "Error": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + } + }, + "required": [] + } + }, + "required": [] + }, + "MC_MOVEJOG": { + "type": "object", + "properties": { + "Ctrl": { + "type": "object", + "properties": { + "Velocity": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Acceleration": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Deceleration": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Jerk": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Position_Controlled": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Jog_Backward": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Jog_Forward": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + } + }, + "required": [] + }, + "Status": { + "type": "object", + "properties": { + "Busy": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Command_Aborted": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Error_Id": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Bytes"] + } + } + } + ] + }, + "Error": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "In_Velocity": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + } + }, + "required": [] + } + }, + "required": [] + }, + "MC_TORQUELIMITING": { + "type": "object", + "properties": { + "Ctrl": { + "type": "object", + "properties": { + "Enable": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Limit": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Mode": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Int8"] + } + } + } + ] + } + }, + "required": [] + }, + "Status": { + "type": "object", + "properties": { + "Busy": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Error_Id": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Bytes"] + } + } + } + ] + }, + "Error": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "In_Limitation": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "In_Clamping": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + } + }, + "required": [] + } + }, + "required": [] + }, + "MC_MOVEVELOCITY": { + "type": "object", + "properties": { + "Ctrl": { + "type": "object", + "properties": { + "Execute": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Velocity": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Acceleration": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Deceleration": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Jerk": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Direction": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Int8"] + } + } + } + ] + }, + "Current": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Position_Controlled": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + } + }, + "required": [] + }, + "Status": { + "type": "object", + "properties": { + "In_Velocity": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Busy": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Command_Aborted": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Error_Id": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Bytes"] + } + } + } + ] + }, + "Error": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + } + }, + "required": [] + } + }, + "required": [] } }, "required": ["Schema_UUID", "Instance_UUID", "Axis_Type"] From 51baa54d6db02cb5404c21546b0d4db55fe23da1 Mon Sep 17 00:00:00 2001 From: Kavan Price Date: Tue, 8 Apr 2025 00:27:48 +0100 Subject: [PATCH 07/19] Fix misnamed axis properties --- .../Non_Fastening_Axis-v1.json | 50 +++++++++---------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/Robot/Fastening_Robot/Non_Fastening_Axis-v1.json b/Robot/Fastening_Robot/Non_Fastening_Axis-v1.json index 53aec3b..229e0c4 100644 --- a/Robot/Fastening_Robot/Non_Fastening_Axis-v1.json +++ b/Robot/Fastening_Robot/Non_Fastening_Axis-v1.json @@ -1019,7 +1019,7 @@ "Ctrl": { "type": "object", "properties": { - "JogForward": { + "Velocity": { "allOf": [ { "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" @@ -1030,13 +1030,13 @@ "default": "" }, "Sparkplug_Type": { - "enum": ["Boolean"] + "enum": ["FloatLE"] } } } ] }, - "JogBackward": { + "Acceleration": { "allOf": [ { "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" @@ -1047,13 +1047,13 @@ "default": "" }, "Sparkplug_Type": { - "enum": ["Boolean"] + "enum": ["FloatLE"] } } } ] }, - "Velocity": { + "Deceleration": { "allOf": [ { "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" @@ -1070,7 +1070,7 @@ } ] }, - "Acceleration": { + "Jerk": { "allOf": [ { "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" @@ -1087,7 +1087,7 @@ } ] }, - "Deceleration": { + "Position_Controlled": { "allOf": [ { "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" @@ -1098,13 +1098,13 @@ "default": "" }, "Sparkplug_Type": { - "enum": ["FloatLE"] + "enum": ["Boolean"] } } } ] }, - "Jerk": { + "Jog_Backward": { "allOf": [ { "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" @@ -1115,13 +1115,13 @@ "default": "" }, "Sparkplug_Type": { - "enum": ["FloatLE"] + "enum": ["Boolean"] } } } ] }, - "Position_Controlled": { + "Jog_Forward": { "allOf": [ { "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" @@ -1144,7 +1144,7 @@ "Status": { "type": "object", "properties": { - "InVelocity": { + "Busy": { "allOf": [ { "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" @@ -1161,7 +1161,7 @@ } ] }, - "Busy": { + "Command_Aborted": { "allOf": [ { "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" @@ -1178,7 +1178,7 @@ } ] }, - "Command_Aborted": { + "Error_Id": { "allOf": [ { "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" @@ -1189,13 +1189,13 @@ "default": "" }, "Sparkplug_Type": { - "enum": ["Boolean"] + "enum": ["Bytes"] } } } ] }, - "Error_Id": { + "Error": { "allOf": [ { "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" @@ -1206,13 +1206,13 @@ "default": "" }, "Sparkplug_Type": { - "enum": ["Bytes"] + "enum": ["Boolean"] } } } ] }, - "Error": { + "In_Velocity": { "allOf": [ { "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" @@ -1503,7 +1503,7 @@ "Status": { "type": "object", "properties": { - "InClamping": { + "Busy": { "allOf": [ { "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" @@ -1520,7 +1520,7 @@ } ] }, - "InLimitation": { + "Error_Id": { "allOf": [ { "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" @@ -1531,13 +1531,13 @@ "default": "" }, "Sparkplug_Type": { - "enum": ["Boolean"] + "enum": ["Bytes"] } } } ] }, - "Busy": { + "Error": { "allOf": [ { "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" @@ -1554,7 +1554,7 @@ } ] }, - "Error_Id": { + "In_Clamping": { "allOf": [ { "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" @@ -1565,13 +1565,13 @@ "default": "" }, "Sparkplug_Type": { - "enum": ["Bytes"] + "enum": ["Boolean"] } } } ] }, - "Error": { + "In_Limitation": { "allOf": [ { "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" From 3e0ed29a5b4eaa45abeb3d185faf8e62278cc053 Mon Sep 17 00:00:00 2001 From: Kavan Price Date: Tue, 8 Apr 2025 00:28:11 +0100 Subject: [PATCH 08/19] Add missing property linear drive torque --- .../Fastening_Robot/Non_Fastening_Axis-v1.json | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/Robot/Fastening_Robot/Non_Fastening_Axis-v1.json b/Robot/Fastening_Robot/Non_Fastening_Axis-v1.json index 229e0c4..96284ba 100644 --- a/Robot/Fastening_Robot/Non_Fastening_Axis-v1.json +++ b/Robot/Fastening_Robot/Non_Fastening_Axis-v1.json @@ -1587,6 +1587,23 @@ } } ] + }, + "LinearDriveTorque": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] } }, "required": [] From 0c6bef51980ae3186b6a57a51cbeea3c0cb5b12b Mon Sep 17 00:00:00 2001 From: Kavan Price Date: Tue, 8 Apr 2025 00:28:32 +0100 Subject: [PATCH 09/19] Add ILD --- Robot/Fastening_Robot/ILD-v1.json | 402 ++++++++++++++++++++++++++++++ 1 file changed, 402 insertions(+) create mode 100644 Robot/Fastening_Robot/ILD-v1.json diff --git a/Robot/Fastening_Robot/ILD-v1.json b/Robot/Fastening_Robot/ILD-v1.json new file mode 100644 index 0000000..212aa81 --- /dev/null +++ b/Robot/Fastening_Robot/ILD-v1.json @@ -0,0 +1,402 @@ +{ + "$id": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Robot/Fastening_Robot/ILD-v1.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "Schema_UUID": { + "const": "90be902e-3ad1-44f9-80c7-cf323ee21f59" + }, + "Instance_UUID": { + "description": "The unique identifier for this object. (A UUID specified by RFC4122).", + "type": "string", + "format": "uuid" + }, + "Ctrl": { + "type": "object", + "properties": { + "Enable_Laser": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + } + }, + "required": [] + }, + "Status": { + "type": "object", + "properties": { + "Healthy": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Mastered": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Laser_On": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["UInt8"] + } + } + } + ] + }, + "Counter": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Int8"] + } + } + } + ] + }, + "Sensor_Status": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["UInt8"] + } + } + } + ] + }, + "Timestamp": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Int8"] + } + } + } + ] + }, + "Frequency": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Int8"] + } + } + } + ] + }, + "Unlinearized_Gravity": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Exposure_Time": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Intensity": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Busy": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Error": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Peak_Before_POI": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Peak_After_POI": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "No_Peak": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Dist_Before_SMR": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Dist_After_EMR": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Meas_Value_Triggered": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Led_Status": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["UInt8"] + } + } + } + ] + }, + "Distance_Measured_mm": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Distance": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + } + }, + "required": [] + } + }, + "required": ["Schema_UUID", "Instance_UUID"] +} From 9ee1fe5e85b978a0be3c6136408dc56383954482 Mon Sep 17 00:00:00 2001 From: Kavan Price Date: Tue, 8 Apr 2025 00:28:53 +0100 Subject: [PATCH 10/19] Add fastening end effector --- .../Fastening_End_Effector-v1.json | 965 ++++++++++++++++++ 1 file changed, 965 insertions(+) create mode 100644 Robot/Fastening_Robot/Fastening_End_Effector-v1.json diff --git a/Robot/Fastening_Robot/Fastening_End_Effector-v1.json b/Robot/Fastening_Robot/Fastening_End_Effector-v1.json new file mode 100644 index 0000000..0073009 --- /dev/null +++ b/Robot/Fastening_Robot/Fastening_End_Effector-v1.json @@ -0,0 +1,965 @@ +{ + "$id": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Robot/Fastening_Robot/Fastening_End_Effector-v1.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "Fastening End Effector", + "type": "object", + "properties": { + "Schema_UUID": { + "const": "50718563-6da6-40ae-8929-44e170f83096" + }, + "Instance_UUID": { + "description": "The unique identifier for this object. (A UUID specified by RFC4122).", + "type": "string", + "format": "uuid" + }, + "End_Effector_Index": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Sparkplug_Type": { + "enum": ["UInt8", "UInt16", "UInt32"] + }, + "Value": { + "type": "integer" + }, + "Documentation": { + "default": "End effector index (specific to this end effector position)." + } + } + } + ] + }, + "Non_Fastening_Axes": { + "type": "object", + "patternProperties": { + "^[a-zA-Z0-9_]*$": { + "$comment": "An axis name or identifier - can be any regular string", + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Robot/Fastening_Robot/Non_Fastening_Axis-v1.json" + } + } + }, + "Fastening_Axes": { + "type": "object", + "patternProperties": { + "^[a-zA-Z0-9_]*$": { + "$comment": "An axis name or identifier - can be any regular string", + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Robot/Fastening_Robot/Fastening_Axis-v1.json" + } + } + }, + "Pose": { + "$comment": "The position of the end effector", + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Pose-v1.json" + }, + "Current_State": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["UInt8"] + } + } + } + ] + }, + "Current_Step": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["UInt8"] + } + } + } + ] + }, + "In_Error": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Auto": { + "type": "object", + "properties": { + "Ctrl": { + "type": "object", + "properties": { + "Enable": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Required": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + } + }, + "required": [] + }, + "Status": { + "type": "object", + "properties": { + "Enabled": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Healthy": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Ident_OK": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Mode": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["UInt8"] + } + } + } + ] + }, + "On_Robot": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + } + }, + "required": [] + } + }, + "required": [] + }, + "Manual": { + "type": "object", + "properties": { + "Ctrl": { + "type": "object", + "properties": { + "Required": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + } + }, + "required": [] + }, + "Status": { + "type": "object", + "properties": { + "On_Robot": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Ident_OK": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + } + }, + "required": [] + } + }, + "required": [] + }, + "Job_Manual": { + "type": "object", + "properties": { + "Ctrl": { + "type": "object", + "properties": { + "Execute_m": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Execute": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Request": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["UInt8"] + } + } + } + ] + } + }, + "required": [] + }, + "Status": { + "type": "object", + "properties": { + "Busy": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Request_Echo": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["UInt8"] + } + } + } + ] + }, + "Done": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Error": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + } + }, + "required": [] + } + }, + "required": [] + }, + "Job_Auto": { + "type": "object", + "properties": { + "Ctrl": { + "type": "object", + "properties": { + "Request": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["UInt8"] + } + } + } + ] + }, + "Execute_m": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Execute": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + } + }, + "required": [] + }, + "Status": { + "type": "object", + "properties": { + "Request_Echo": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["UInt8"] + } + } + } + ] + }, + "Busy": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Done": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Error": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + } + }, + "required": [] + } + }, + "required": [] + }, + "Servo_Drives": { + "type": "object", + "properties": { + "Ctrl": { + "type": "object", + "properties": { + "Load_Supply_Enable": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Logic_Supply_Enable": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + } + }, + "required": [] + }, + "Status": { + "type": "object", + "properties": { + "Load_Supply_Enabled": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Logic_Supply_Enabled": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Healthy": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + } + }, + "required": [] + } + }, + "required": [] + }, + "IPU": { + "type": "object", + "properties": { + "Ctrl": { + "type": "object", + "properties": { + "Supply_Enable": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + } + }, + "required": [] + }, + "Status": { + "type": "object", + "properties": { + "Supply_Enabled": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Healthy": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + } + }, + "required": [] + } + }, + "required": [] + }, + "Inspection_Fastener": { + "type": "object", + "properties": { + "Pass": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Fastener_Score": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Int8"] + } + } + } + ] + }, + "Fastener_OK": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Fastener_Break_Off_Score": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Int8"] + } + } + } + ] + }, + "Fastener_Diameter": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + } + }, + "required": [] + }, + "STO": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "SBC": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Ring_Light": { + "type": "object", + "properties": { + "Ctrl": { + "type": "object", + "properties": { + "Enable": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Override": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + } + }, + "required": [] + }, + "Status": { + "type": "object", + "properties": { + "Enabled": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + } + }, + "required": [] + } + }, + "required": [] + }, + "ILDs": { + "type": "object", + "patternProperties": { + "^[a-zA-Z0-9_]*$": { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Robot/Fastening_Robot/ILD-v1.json" + } + } + } + }, + + "required": ["Schema_UUID", "Instance_UUID"] +} From ea746b5629bc8e9938a546f495e8b5c7fa9089dc Mon Sep 17 00:00:00 2001 From: Kavan Price Date: Tue, 8 Apr 2025 10:38:11 +0100 Subject: [PATCH 11/19] Move cell information to cell schema --- Cell/Cell-v1.json | 101 +++++++++++++------- Robot/Fastening_Robot/Robot-v1.json | 137 +++------------------------- 2 files changed, 78 insertions(+), 160 deletions(-) diff --git a/Cell/Cell-v1.json b/Cell/Cell-v1.json index e8658ee..164756e 100644 --- a/Cell/Cell-v1.json +++ b/Cell/Cell-v1.json @@ -1,41 +1,72 @@ { - "$id": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Cell/Cell-v1.json", - "$schema": "https://json-schema.org/draft/2020-12/schema", - "title": "Cell", - "type": "object", - "properties": { - "Schema_UUID": { - "const": "aa8f98ad-2c6e-4fef-86d1-f01b576b35ed" + "$id": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Cell/Cell-v1.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "Cell", + "type": "object", + "properties": { + "Schema_UUID": { + "const": "aa8f98ad-2c6e-4fef-86d1-f01b576b35ed" + }, + "Instance_UUID": { + "description": "The unique identifier for this object. (A UUID specified by RFC4122).", + "type": "string", + "format": "uuid" + }, + "Safety": { + "type": "object", + "properties": { + "Emergency_Stops": { + "type": "object", + "patternProperties": { + "^[a-zA-Z0-9_]*$": { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Cell/Emergency_Stop-v1.json" + } + } }, - "Instance_UUID": { - "description": "The unique identifier for this object. (A UUID specified by RFC4122).", - "type": "string", - "format": "uuid" + "Protective_Stops": { + "type": "object", + "patternProperties": { + "^[a-zA-Z0-9_]*$": { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Cell/Protective_Stop-v1.json" + } + } + } + } + }, + "Cell_Connected": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" }, - "Safety": { - "type": "object", - "properties": { - "Emergency_Stops": { - "type": "object", - "patternProperties": { - "^[a-zA-Z0-9_]*$": { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Cell/Emergency_Stop-v1.json" - } - } - }, - "Protective_Stops": { - "type": "object", - "patternProperties": { - "^[a-zA-Z0-9_]*$": { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Cell/Protective_Stop-v1.json" - } - } - } + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] } + } } + ] }, - "required": [ - "Schema_UUID", - "Instance_UUID" - ] -} \ No newline at end of file + "Cell_Door_Secure": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + } + }, + "required": ["Schema_UUID", "Instance_UUID"] +} diff --git a/Robot/Fastening_Robot/Robot-v1.json b/Robot/Fastening_Robot/Robot-v1.json index d773fe7..f86273a 100644 --- a/Robot/Fastening_Robot/Robot-v1.json +++ b/Robot/Fastening_Robot/Robot-v1.json @@ -50,131 +50,6 @@ } } }, - "Cell": { - "type": "object", - "properties": { - "AIC_CELL_CONNECTED": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Documentation": { - "default": "" - }, - "Sparkplug_Type": { - "enum": ["Boolean"] - } - } - } - ] - }, - "AIC_CELL_E_STOP_PB_SW": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Documentation": { - "default": "" - }, - "Sparkplug_Type": { - "enum": ["Boolean"] - } - } - } - ] - }, - "AIC_CELL_ESTOP_STATE": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Documentation": { - "default": "" - }, - "Sparkplug_Type": { - "enum": ["Boolean"] - } - } - } - ] - }, - "AIC_CELL_SFDOOR_STATE": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Documentation": { - "default": "" - }, - "Sparkplug_Type": { - "enum": ["Boolean"] - } - } - } - ] - }, - "E_STOP_STATE_OVERALL": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Documentation": { - "default": "" - }, - "Sparkplug_Type": { - "enum": ["Boolean"] - } - } - } - ] - } - }, - "required": [] - }, - "E_STOP_SW_EXTERNAL": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Documentation": { - "default": "" - }, - "Sparkplug_Type": { - "enum": ["Boolean"] - } - } - } - ] - }, - "E_STOP_SW_INTERNAL": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Documentation": { - "default": "" - }, - "Sparkplug_Type": { - "enum": ["Boolean"] - } - } - } - ] - }, "Correction_FastenerFind": { "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Robot/Fastening_Robot/Correction_FastenerFind-v1.json" }, @@ -183,6 +58,18 @@ }, "Correction_Laser": { "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Robot/Fastening_Robot/Correction_Laser-v1.json" + }, + "Cell": { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Cell/Cell-v1.json" + }, + "E_Stop_Overall": { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Cell/Emergency_Stop-v1.json" + }, + "E_Stop_SW_External": { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Cell/Emergency_Stop-v1.json" + }, + "E_Stop_SW_Internal": { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Cell/Emergency_Stop-v1.json" } }, "required": ["Schema_UUID", "Instance_UUID", "Device_Information", "Axes"] From 6b1386f912e7987154811f01340346c10f28b36f Mon Sep 17 00:00:00 2001 From: Kavan Price Date: Tue, 8 Apr 2025 10:54:55 +0100 Subject: [PATCH 12/19] Move axis information to axis schema --- Robot/Fastening_Robot/Fastening_Axis-v1.json | 166 +----------------- .../Non_Fastening_Axis-v1.json | 166 +----------------- 2 files changed, 6 insertions(+), 326 deletions(-) diff --git a/Robot/Fastening_Robot/Fastening_Axis-v1.json b/Robot/Fastening_Robot/Fastening_Axis-v1.json index c0314e0..dd21b19 100644 --- a/Robot/Fastening_Robot/Fastening_Axis-v1.json +++ b/Robot/Fastening_Robot/Fastening_Axis-v1.json @@ -12,169 +12,6 @@ "type": "string", "format": "uuid" }, - "Axis_Type": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Sparkplug_Type": { - "enum": ["String"] - }, - "Value": { - "type": "string", - "enum": [ - "Linear", - "Angular", - "Linear_Endless", - "Angular_Endless", - "TCP", - "Spindle", - "End_Effector", - "AGV", - "Fixture" - ] - }, - "Documentation": { - "default": "Type of axis." - } - } - } - ] - }, - "Axis_Coord_System": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Sparkplug_Type": { - "enum": ["String"] - }, - "Value": { - "type": "string", - "enum": [ - "NA", - "Workpiece", - "Base", - "Tool", - "Task", - "Object", - "Camera", - "Measurement", - "Mobile_Platform", - "Unknown" - ] - }, - "Documentation": { - "default": "Coordinate system of axis. NA - Not Applicable" - } - } - } - ] - }, - "Status": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Sparkplug_Type": { - "enum": ["String"] - }, - "Documentation": { - "default": "Any status information of an axis." - } - } - } - ] - }, - "Zero_Offset": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Sparkplug_Type": { - "enum": ["FloatLE", "DoubleLE", "FloatBE", "DoubleBE"] - }, - "Documentation": { - "default": "Zero offset of an axis." - } - } - } - ] - }, - "Locked": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Sparkplug_Type": { - "enum": ["Boolean"] - }, - "Documentation": { - "default": "Is the axis locked?" - } - } - } - ] - }, - "Load": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Sparkplug_Type": { - "enum": ["FloatLE", "DoubleLE", "FloatBE", "DoubleBE"] - }, - "Documentation": { - "default": "Actual load of an axis." - } - } - } - ] - }, - "Power": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Sparkplug_Type": { - "enum": ["FloatLE", "DoubleLE", "FloatBE", "DoubleBE"] - }, - "Documentation": { - "default": "Actual power of an axis' drive." - } - } - } - ] - }, - "Position": { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Commanded_Value-v1.json" - }, - "Angle": { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Commanded_Value-v1.json" - }, - "Speed": { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Commanded_Value-v1.json" - }, - "Acceleration": { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Commanded_Value-v1.json" - }, - "Torque": { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Commanded_Value-v1.json" - }, "Torque_Data_Logging": { "allOf": [ { @@ -1268,6 +1105,9 @@ } }, "required": [] + }, + "Base_Axis": { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Axis-v1.json" } }, "required": ["Schema_UUID", "Instance_UUID", "Axis_Type"] diff --git a/Robot/Fastening_Robot/Non_Fastening_Axis-v1.json b/Robot/Fastening_Robot/Non_Fastening_Axis-v1.json index 96284ba..8d13f11 100644 --- a/Robot/Fastening_Robot/Non_Fastening_Axis-v1.json +++ b/Robot/Fastening_Robot/Non_Fastening_Axis-v1.json @@ -12,169 +12,6 @@ "type": "string", "format": "uuid" }, - "Axis_Type": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Sparkplug_Type": { - "enum": ["String"] - }, - "Value": { - "type": "string", - "enum": [ - "Linear", - "Angular", - "Linear_Endless", - "Angular_Endless", - "TCP", - "Spindle", - "End_Effector", - "AGV", - "Fixture" - ] - }, - "Documentation": { - "default": "Type of axis." - } - } - } - ] - }, - "Axis_Coord_System": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Sparkplug_Type": { - "enum": ["String"] - }, - "Value": { - "type": "string", - "enum": [ - "NA", - "Workpiece", - "Base", - "Tool", - "Task", - "Object", - "Camera", - "Measurement", - "Mobile_Platform", - "Unknown" - ] - }, - "Documentation": { - "default": "Coordinate system of axis. NA - Not Applicable" - } - } - } - ] - }, - "Status": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Sparkplug_Type": { - "enum": ["String"] - }, - "Documentation": { - "default": "Any status information of an axis." - } - } - } - ] - }, - "Zero_Offset": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Sparkplug_Type": { - "enum": ["FloatLE", "DoubleLE", "FloatBE", "DoubleBE"] - }, - "Documentation": { - "default": "Zero offset of an axis." - } - } - } - ] - }, - "Locked": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Sparkplug_Type": { - "enum": ["Boolean"] - }, - "Documentation": { - "default": "Is the axis locked?" - } - } - } - ] - }, - "Load": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Sparkplug_Type": { - "enum": ["FloatLE", "DoubleLE", "FloatBE", "DoubleBE"] - }, - "Documentation": { - "default": "Actual load of an axis." - } - } - } - ] - }, - "Power": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Sparkplug_Type": { - "enum": ["FloatLE", "DoubleLE", "FloatBE", "DoubleBE"] - }, - "Documentation": { - "default": "Actual power of an axis' drive." - } - } - } - ] - }, - "Position": { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Commanded_Value-v1.json" - }, - "Angle": { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Commanded_Value-v1.json" - }, - "Speed": { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Commanded_Value-v1.json" - }, - "Acceleration": { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Commanded_Value-v1.json" - }, - "Torque": { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Commanded_Value-v1.json" - }, "MC_POWER": { "type": "object", "properties": { @@ -1610,6 +1447,9 @@ } }, "required": [] + }, + "Base_Axis": { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Axis-v1.json" } }, "required": ["Schema_UUID", "Instance_UUID", "Axis_Type"] From 20e75a57f365d0957eead9f0a7c20ed3d9647e9d Mon Sep 17 00:00:00 2001 From: Kavan Price Date: Tue, 8 Apr 2025 15:32:18 +0100 Subject: [PATCH 13/19] Add cell doors --- Cell/Cell-v1.json | 38 ++++++----------------------------- Cell/Door-v1.json | 50 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+), 32 deletions(-) create mode 100644 Cell/Door-v1.json diff --git a/Cell/Cell-v1.json b/Cell/Cell-v1.json index 164756e..ff5b427 100644 --- a/Cell/Cell-v1.json +++ b/Cell/Cell-v1.json @@ -30,42 +30,16 @@ "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Cell/Protective_Stop-v1.json" } } - } - } - }, - "Cell_Connected": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Documentation": { - "default": "" - }, - "Sparkplug_Type": { - "enum": ["Boolean"] - } - } - } - ] - }, - "Cell_Door_Secure": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" }, - { - "properties": { - "Documentation": { - "default": "" - }, - "Sparkplug_Type": { - "enum": ["Boolean"] + "Doors": { + "type": "object", + "patternProperties": { + "^[a-zA-Z0-9_]*$": { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Cell/Door-v1.json" } } } - ] + } } }, "required": ["Schema_UUID", "Instance_UUID"] diff --git a/Cell/Door-v1.json b/Cell/Door-v1.json new file mode 100644 index 0000000..de2a370 --- /dev/null +++ b/Cell/Door-v1.json @@ -0,0 +1,50 @@ +{ + "$id": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Cell/Door-v1.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "Schema_UUID": { + "const": "2497b25d-c768-4e1f-8b80-024127c17487" + }, + "Instance_UUID": { + "description": "The unique identifier for this object. (A UUID specified by RFC4122).", + "type": "string", + "format": "uuid" + }, + "Locked": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Closed": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + } + }, + "required": ["Schema_UUID", "Instance_UUID"] +} From 412ee3d2e151b0f298cb06ffa432c7fb5a32b6ef Mon Sep 17 00:00:00 2001 From: Kavan Price Date: Tue, 8 Apr 2025 15:35:25 +0100 Subject: [PATCH 14/19] Remove cell from robot --- Robot/Fastening_Robot/Robot-v1.json | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/Robot/Fastening_Robot/Robot-v1.json b/Robot/Fastening_Robot/Robot-v1.json index f86273a..14b7218 100644 --- a/Robot/Fastening_Robot/Robot-v1.json +++ b/Robot/Fastening_Robot/Robot-v1.json @@ -58,18 +58,6 @@ }, "Correction_Laser": { "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Robot/Fastening_Robot/Correction_Laser-v1.json" - }, - "Cell": { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Cell/Cell-v1.json" - }, - "E_Stop_Overall": { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Cell/Emergency_Stop-v1.json" - }, - "E_Stop_SW_External": { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Cell/Emergency_Stop-v1.json" - }, - "E_Stop_SW_Internal": { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Cell/Emergency_Stop-v1.json" } }, "required": ["Schema_UUID", "Instance_UUID", "Device_Information", "Axes"] From 8654dc5ae481d17d8b328f6503044f9bc1d01e62 Mon Sep 17 00:00:00 2001 From: Kavan Price Date: Tue, 8 Apr 2025 15:36:34 +0100 Subject: [PATCH 15/19] Rename fastening robot end effectors --- Robot/Fastening_Robot/Robot-v1.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Robot/Fastening_Robot/Robot-v1.json b/Robot/Fastening_Robot/Robot-v1.json index 14b7218..fe7cf9f 100644 --- a/Robot/Fastening_Robot/Robot-v1.json +++ b/Robot/Fastening_Robot/Robot-v1.json @@ -41,7 +41,7 @@ } } }, - "End_Effectors": { + "Fastening_End_Effectors": { "type": "object", "patternProperties": { "^[a-zA-Z0-9_]*$": { From 6b4f0139c00e24af004983e910456fc538f3eea7 Mon Sep 17 00:00:00 2001 From: Kavan Price Date: Tue, 8 Apr 2025 17:55:29 +0100 Subject: [PATCH 16/19] Flatten correction objects and add to end effector --- .../Correction_FastenerFind-v1.json | 135 ------- .../Correction_HoleFind-v1.json | 135 ------- .../Fastening_Robot/Correction_Laser-v1.json | 101 ------ .../Fastening_End_Effector-v1.json | 339 +++++++++++++++++- Robot/Fastening_Robot/Robot-v1.json | 9 - 5 files changed, 338 insertions(+), 381 deletions(-) delete mode 100644 Robot/Fastening_Robot/Correction_FastenerFind-v1.json delete mode 100644 Robot/Fastening_Robot/Correction_HoleFind-v1.json delete mode 100644 Robot/Fastening_Robot/Correction_Laser-v1.json diff --git a/Robot/Fastening_Robot/Correction_FastenerFind-v1.json b/Robot/Fastening_Robot/Correction_FastenerFind-v1.json deleted file mode 100644 index 702c10a..0000000 --- a/Robot/Fastening_Robot/Correction_FastenerFind-v1.json +++ /dev/null @@ -1,135 +0,0 @@ -{ - "$id": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Robot/Fastening_Robot/Correction_FastenerFind-v1.json", - "$schema": "https://json-schema.org/draft/2020-12/schema", - "type": "object", - "properties": { - "Schema_UUID": { - "const": "6e3c45d4-b28d-4a64-8e03-a2c805bb04d9" - }, - "Instance_UUID": { - "description": "The unique identifier for this object. (A UUID specified by RFC4122).", - "type": "string", - "format": "uuid" - }, - "Fastener_Score": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Documentation": { - "default": "" - }, - "Sparkplug_Type": { - "enum": ["Int8"] - } - } - } - ] - }, - "Fastener_Present": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Documentation": { - "default": "" - }, - "Sparkplug_Type": { - "enum": ["Boolean"] - } - } - } - ] - }, - "Fastener_Head_Dia": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Documentation": { - "default": "" - }, - "Sparkplug_Type": { - "enum": ["FloatLE"] - } - } - } - ] - }, - "Fastener_Whole_Dia": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Documentation": { - "default": "" - }, - "Sparkplug_Type": { - "enum": ["FloatLE"] - } - } - } - ] - }, - "Pass": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Documentation": { - "default": "" - }, - "Sparkplug_Type": { - "enum": ["Boolean"] - } - } - } - ] - }, - "X": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Documentation": { - "default": "" - }, - "Sparkplug_Type": { - "enum": ["FloatLE"] - } - } - } - ] - }, - "Y": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Documentation": { - "default": "" - }, - "Sparkplug_Type": { - "enum": ["FloatLE"] - } - } - } - ] - } - }, - "required": ["Schema_UUID", "Instance_UUID"] -} diff --git a/Robot/Fastening_Robot/Correction_HoleFind-v1.json b/Robot/Fastening_Robot/Correction_HoleFind-v1.json deleted file mode 100644 index 5e82e33..0000000 --- a/Robot/Fastening_Robot/Correction_HoleFind-v1.json +++ /dev/null @@ -1,135 +0,0 @@ -{ - "$id": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Robot/Fastening_Robot/Correction_HoleFind-v1.json", - "$schema": "https://json-schema.org/draft/2020-12/schema", - "type": "object", - "properties": { - "Schema_UUID": { - "const": "1dd3e8f8-0b28-420e-bbf3-9e34c01b8bda" - }, - "Instance_UUID": { - "description": "The unique identifier for this object. (A UUID specified by RFC4122).", - "type": "string", - "format": "uuid" - }, - "Hole_Clear": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Documentation": { - "default": "" - }, - "Sparkplug_Type": { - "enum": ["Boolean"] - } - } - } - ] - }, - "Hole_Score": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Documentation": { - "default": "" - }, - "Sparkplug_Type": { - "enum": ["Int8"] - } - } - } - ] - }, - "Inner_Hole_Dia": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Documentation": { - "default": "" - }, - "Sparkplug_Type": { - "enum": ["FloatLE"] - } - } - } - ] - }, - "Outer_Csnk_Dia": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Documentation": { - "default": "" - }, - "Sparkplug_Type": { - "enum": ["FloatLE"] - } - } - } - ] - }, - "Pass": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Documentation": { - "default": "" - }, - "Sparkplug_Type": { - "enum": ["Boolean"] - } - } - } - ] - }, - "X": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Documentation": { - "default": "" - }, - "Sparkplug_Type": { - "enum": ["FloatLE"] - } - } - } - ] - }, - "Y": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Documentation": { - "default": "" - }, - "Sparkplug_Type": { - "enum": ["FloatLE"] - } - } - } - ] - } - }, - "required": ["Schema_UUID", "Instance_UUID"] -} diff --git a/Robot/Fastening_Robot/Correction_Laser-v1.json b/Robot/Fastening_Robot/Correction_Laser-v1.json deleted file mode 100644 index 4c386bf..0000000 --- a/Robot/Fastening_Robot/Correction_Laser-v1.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "$id": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Robot/Fastening_Robot/Correction_Laser-v1.json", - "$schema": "https://json-schema.org/draft/2020-12/schema", - "type": "object", - "properties": { - "Schema_UUID": { - "const": "1286bee9-3655-44aa-8e61-ea4593d6c22c" - }, - "Instance_UUID": { - "description": "The unique identifier for this object. (A UUID specified by RFC4122).", - "type": "string", - "format": "uuid" - }, - "Above_Crossover": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Documentation": { - "default": "" - }, - "Sparkplug_Type": { - "enum": ["Boolean"] - } - } - } - ] - }, - "Rx": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Documentation": { - "default": "" - }, - "Sparkplug_Type": { - "enum": ["FloatLE"] - } - } - } - ] - }, - "Ry": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Documentation": { - "default": "" - }, - "Sparkplug_Type": { - "enum": ["FloatLE"] - } - } - } - ] - }, - "Valid": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Documentation": { - "default": "" - }, - "Sparkplug_Type": { - "enum": ["Boolean"] - } - } - } - ] - }, - "Z_Corr": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Documentation": { - "default": "" - }, - "Sparkplug_Type": { - "enum": ["FloatLE"] - } - } - } - ] - } - }, - "required": ["Schema_UUID", "Instance_UUID"] -} diff --git a/Robot/Fastening_Robot/Fastening_End_Effector-v1.json b/Robot/Fastening_Robot/Fastening_End_Effector-v1.json index 0073009..c4c153d 100644 --- a/Robot/Fastening_Robot/Fastening_End_Effector-v1.json +++ b/Robot/Fastening_Robot/Fastening_End_Effector-v1.json @@ -958,8 +958,345 @@ "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Robot/Fastening_Robot/ILD-v1.json" } } + }, + "Correction_Fastener_Find": { + "type": "object", + "properties": { + "Fastener_Score": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Int8"] + } + } + } + ] + }, + "Fastener_Present": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Fastener_Head_Dia": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Fastener_Whole_Dia": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Pass": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "X": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Y": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + } + } + }, + "Correction_Hole_Find": { + "type": "object", + "properties": { + "Hole_Clear": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Hole_Score": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Int8"] + } + } + } + ] + }, + "Inner_Hole_Dia": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Outer_Csnk_Dia": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Pass": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "X": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Y": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + } + } + }, + "Correction_Laser": { + "type": "object", + "properties": { + "Above_Crossover": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Rx": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Ry": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + }, + "Valid": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] + } + } + } + ] + }, + "Z_Corr": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["FloatLE"] + } + } + } + ] + } + } } }, - "required": ["Schema_UUID", "Instance_UUID"] } diff --git a/Robot/Fastening_Robot/Robot-v1.json b/Robot/Fastening_Robot/Robot-v1.json index fe7cf9f..9b74fb4 100644 --- a/Robot/Fastening_Robot/Robot-v1.json +++ b/Robot/Fastening_Robot/Robot-v1.json @@ -49,15 +49,6 @@ "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Fastening_Robot/Fastening_End_Effector-v1.json" } } - }, - "Correction_FastenerFind": { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Robot/Fastening_Robot/Correction_FastenerFind-v1.json" - }, - "Correction_HoleFind": { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Robot/Fastening_Robot/Correction_HoleFind-v1.json" - }, - "Correction_Laser": { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Robot/Fastening_Robot/Correction_Laser-v1.json" } }, "required": ["Schema_UUID", "Instance_UUID", "Device_Information", "Axes"] From ef81dcf78d4323ee153e12fc4942f04ddc938560 Mon Sep 17 00:00:00 2001 From: Kavan Price Date: Wed, 9 Apr 2025 09:52:24 +0100 Subject: [PATCH 17/19] Add base robot for fastening robot --- Robot/Fastening_Robot/Robot-v1.json | 30 ++--------------------------- 1 file changed, 2 insertions(+), 28 deletions(-) diff --git a/Robot/Fastening_Robot/Robot-v1.json b/Robot/Fastening_Robot/Robot-v1.json index 9b74fb4..b348f69 100644 --- a/Robot/Fastening_Robot/Robot-v1.json +++ b/Robot/Fastening_Robot/Robot-v1.json @@ -12,34 +12,8 @@ "type": "string", "format": "uuid" }, - "Controller_UUID": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Sparkplug_Type": { - "enum": ["UUID"] - }, - "Documentation": { - "default": "A reference to the controller that this robot uses" - } - } - } - ] - }, - "Device_Information": { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Device_Information-v1.json" - }, - "Axes": { - "type": "object", - "patternProperties": { - "^[a-zA-Z0-9_]*$": { - "$comment": "An axis name or identifier - can be any regular string", - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Axis-v1.json" - } - } + "Base_Robot": { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Robot/Robot-v1.json" }, "Fastening_End_Effectors": { "type": "object", From 65c827aaf404b55725c5c201fd62b0f6658f68fa Mon Sep 17 00:00:00 2001 From: Kavan Price Date: Wed, 9 Apr 2025 10:09:12 +0100 Subject: [PATCH 18/19] Change to top-level vision schema --- .../Fastening_End_Effector-v1.json | 4 + .../Fastening_Vision_System-v1.json | 93 ------------------- Vision/Vision_System-v1.json | 40 ++++---- 3 files changed, 25 insertions(+), 112 deletions(-) delete mode 100644 Robot/Fastening_Robot/Fastening_Vision_System-v1.json diff --git a/Robot/Fastening_Robot/Fastening_End_Effector-v1.json b/Robot/Fastening_Robot/Fastening_End_Effector-v1.json index c4c153d..8e4f801 100644 --- a/Robot/Fastening_Robot/Fastening_End_Effector-v1.json +++ b/Robot/Fastening_Robot/Fastening_End_Effector-v1.json @@ -54,6 +54,10 @@ "$comment": "The position of the end effector", "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Pose-v1.json" }, + "Vision_System": { + "$comment": "The position of the end effector", + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Vision_System-v1.json" + }, "Current_State": { "allOf": [ { diff --git a/Robot/Fastening_Robot/Fastening_Vision_System-v1.json b/Robot/Fastening_Robot/Fastening_Vision_System-v1.json deleted file mode 100644 index 3fa5868..0000000 --- a/Robot/Fastening_Robot/Fastening_Vision_System-v1.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "$id": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Robot/Fastening_Robot/Fastening_Vision_System-v1.json", - "$schema": "https://json-schema.org/draft/2020-12/schema", - "type": "object", - "properties": { - "Schema_UUID": { - "const": "e0a0402f-25f5-438c-b088-077b72f2dde7" - }, - "Instance_UUID": { - "description": "The unique identifier for this object. (A UUID specified by RFC4122).", - "type": "string", - "format": "uuid" - }, - "Device_Information": { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Device_Information-v1.json" - }, - "Fan_Enable": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Documentation": { - "default": "" - }, - "Sparkplug_Type": { - "enum": ["Boolean"] - } - } - } - ] - }, - "Status": { - "type": "object", - "properties": { - "Healthy": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Documentation": { - "default": "" - }, - "Sparkplug_Type": { - "enum": ["Boolean"] - } - } - } - ] - }, - "Image_OK": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Documentation": { - "default": "" - }, - "Sparkplug_Type": { - "enum": ["Boolean"] - } - } - } - ] - }, - "Inspection_Complete_State": { - "allOf": [ - { - "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" - }, - { - "properties": { - "Documentation": { - "default": "" - }, - "Sparkplug_Type": { - "enum": ["Boolean"] - } - } - } - ] - } - }, - "required": [] - } - }, - "required": ["Schema_UUID", "Instance_UUID"] -} diff --git a/Vision/Vision_System-v1.json b/Vision/Vision_System-v1.json index 8608984..9d154d9 100644 --- a/Vision/Vision_System-v1.json +++ b/Vision/Vision_System-v1.json @@ -75,9 +75,24 @@ "default": "The success status of the inspection" }, "Sparkplug_Type": { - "enum": [ - "Boolean" - ] + "enum": ["Boolean"] + } + } + } + ] + }, + "Inspection_Complete": { + "allOf": [ + { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Metric-v1.json" + }, + { + "properties": { + "Documentation": { + "default": "" + }, + "Sparkplug_Type": { + "enum": ["Boolean"] } } } @@ -94,12 +109,7 @@ "default": "The X position of the pattern in the frame" }, "Sparkplug_Type": { - "enum": [ - "FloatLE", - "FloatBE", - "DoubleLE", - "DoubleBE" - ] + "enum": ["FloatLE", "FloatBE", "DoubleLE", "DoubleBE"] } } } @@ -116,20 +126,12 @@ "default": "The Y position of the pattern in the frame" }, "Sparkplug_Type": { - "enum": [ - "FloatLE", - "FloatBE", - "DoubleLE", - "DoubleBE" - ] + "enum": ["FloatLE", "FloatBE", "DoubleLE", "DoubleBE"] } } } ] } }, - "required": [ - "Schema_UUID", - "Instance_UUID" - ] + "required": ["Schema_UUID", "Instance_UUID"] } From 2913f0d3819d721c48f47f0bb1d2bab74398f42b Mon Sep 17 00:00:00 2001 From: Kavan Price Date: Wed, 9 Apr 2025 14:24:12 +0100 Subject: [PATCH 19/19] Add device information for fastening robot --- Robot/Fastening_Robot/Robot-v1.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Robot/Fastening_Robot/Robot-v1.json b/Robot/Fastening_Robot/Robot-v1.json index b348f69..0f56800 100644 --- a/Robot/Fastening_Robot/Robot-v1.json +++ b/Robot/Fastening_Robot/Robot-v1.json @@ -12,6 +12,9 @@ "type": "string", "format": "uuid" }, + "Device_Information": { + "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Common/Device_Information-v1.json" + }, "Base_Robot": { "$ref": "https://raw.githubusercontent.com/AMRC-FactoryPlus/schemas/main/Robot/Robot-v1.json" },