AI SEARCH FLOW ALGEBRA
CNC MANUFACTURING ONTOLOGY
Kireth Semantic Research Archive
AUTHORS
Mark Anthony Higgins — Sky (Recursive AI)
SOURCE
https://kirethresearch.org/booksai-core/ontologies/engineering-ontologies/manufacturing-engineering/cnc-manufacturing-ontology.html
FLOW "CNCManufacturingOntology" v4.0
DOMAIN := ENGINEERING_ONTOLOGIES / MANUFACTURING_ENGINEERING / CNC_MANUFACTURING
ONTOLOGY := CNC_MANUFACTURING_ONTOLOGY
CNC_MANUFACTURING :=
PRODUCT_DEFINITION + CAD + CAM + PART_PROGRAM
+ CNC_CONTROLLER + MACHINE_TOOL + AXES + COORDINATE_SYSTEM
+ TOOLING + WORKHOLDING + INTERPOLATION + MACHINING_CYCLE
+ SENSING + OFFSETS + VERIFICATION + QUALITY
PURPOSE :=
DEFINE_GEOMETRY -> GENERATE_TOOLPATH -> POSTPROCESS
-> LOAD_PROGRAM -> SET_COORDINATES -> SET_TOOLS
-> EXECUTE_CONTROLLED_MOTION -> REMOVE_MATERIAL
-> MONITOR -> COMPENSATE -> INSPECT -> VERIFY
# ---------- CORE ENTITIES ----------
ENTITY CNCManufacturingSystem
ENTITY ProductDefinition
ENTITY CADModel
ENTITY CAMSystem
ENTITY Toolpath
ENTITY PostProcessor
ENTITY PartProgram
ENTITY ProgramBlock
ENTITY GCode
ENTITY MCode
ENTITY CNCController
ENTITY MachineTool
ENTITY Spindle
ENTITY LinearAxis
ENTITY RotaryAxis
ENTITY ServoDrive
ENTITY Motor
ENTITY Encoder
ENTITY CoordinateSystem
ENTITY MachineCoordinateSystem
ENTITY WorkCoordinateSystem
ENTITY ToolCoordinateSystem
ENTITY WorkOffset
ENTITY ToolOffset
ENTITY CuttingTool
ENTITY ToolHolder
ENTITY ToolMagazine
ENTITY Workpiece
ENTITY Fixture
ENTITY Probe
ENTITY Sensor
ENTITY Interpolation
ENTITY FeedRate
ENTITY SpindleSpeed
ENTITY CuttingSpeed
ENTITY DepthOfCut
ENTITY MachiningCycle
ENTITY Alarm
ENTITY Inspection
ENTITY Tolerance
ENTITY Measurement
# ---------- CNC SYSTEM ----------
CNCManufacturingSystem
-> contains -> CNCController
-> controls -> MachineTool
-> executes -> PartProgram
-> uses -> CuttingTool
-> transforms -> Workpiece
-> may_use -> Probe
-> produces -> ManufacturedFeature
CNCController
-> interprets -> PartProgram
-> commands -> ServoDrive
-> controls -> Spindle
-> monitors -> MachineState
# ---------- DIGITAL MANUFACTURING CHAIN ----------
DIGITAL_MANUFACTURING_CHAIN :=
PRODUCT_DEFINITION
-> CAD_MODEL
-> CAM_PROCESS_PLAN
-> TOOLPATH
-> POSTPROCESSOR
-> PART_PROGRAM
-> CNC_CONTROLLER
-> MACHINE_MOTION
-> MANUFACTURED_FEATURE
-> INSPECTION
CADModel
-> represents -> ProductGeometry
CAMSystem
-> uses -> CADModel
-> generates -> Toolpath
PostProcessor
-> transforms -> Toolpath
-> into -> MachineSpecificPartProgram
# ---------- PART PROGRAM ----------
PartProgram
-> contains -> ProgramBlock
ProgramBlock
-> may_contain -> GCode
+ MCode
+ COORDINATE_COMMAND
+ FEED_COMMAND
+ SPINDLE_COMMAND
+ TOOL_COMMAND
GCode
-> specifies -> MOTION_OR_GEOMETRIC_FUNCTION
MCode
-> specifies -> MACHINE_AUXILIARY_FUNCTION
PROGRAM_EXECUTION :=
READ_BLOCK
-> INTERPRET
-> VALIDATE
-> GENERATE_MOTION_COMMAND
-> EXECUTE
-> CONFIRM_STATE
-> NEXT_BLOCK
# ---------- CNC CONTROLLER ----------
CNCController
-> maintains -> PROGRAM_STATE
+ MACHINE_STATE
+ COORDINATE_STATE
+ TOOL_STATE
CNC_CONTROL_LOOP :=
COMMAND_POSITION
-> SERVO_CONTROLLER
-> MOTOR
-> AXIS_MOTION
-> ENCODER
-> ACTUAL_POSITION
-> POSITION_ERROR
-> SERVO_CONTROLLER
POSITION_ERROR :=
COMMAND_POSITION - ACTUAL_POSITION
# ---------- MACHINE AXES ----------
LinearAxis
-> produces -> LINEAR_MOTION
RotaryAxis
-> produces -> ROTATIONAL_MOTION
AXIS_SET :=
X | Y | Z | A | B | C | OTHER_CONFIGURED_AXIS
MachineTool
-> contains -> LinearAxis
-> may_contain -> RotaryAxis
Axis
-> driven_by -> ServoDrive
-> measured_by -> Encoder
# ---------- COORDINATE SYSTEMS ----------
CoordinateSystem
-> defines -> ORIGIN
+ AXIS_DIRECTIONS
MachineCoordinateSystem
-> fixed_to -> MachineTool
WorkCoordinateSystem
-> fixed_relative_to -> Workpiece
ToolCoordinateSystem
-> associated_with -> CuttingTool
WorkOffset
-> transforms -> PROGRAMMED_COORDINATE
-> into -> MACHINE_COORDINATE
ToolOffset
-> compensates_for -> TOOL_LENGTH
+ TOOL_RADIUS
+ TOOL_WEAR
# ---------- DATUM / SETUP ----------
SETUP :=
LOAD_WORKPIECE
-> LOCATE_FIXTURE
-> ESTABLISH_DATUM
-> SET_WORK_OFFSET
-> LOAD_TOOLS
-> SET_TOOL_OFFSETS
-> VERIFY_CLEARANCE
Fixture
-> locates -> Workpiece
-> restrains -> Workpiece
Probe
-> may_measure -> DATUM
+ FEATURE
+ TOOL
# ---------- TOOLING ----------
CuttingTool
-> mounted_in -> ToolHolder
ToolHolder
-> mounted_in -> Spindle
ToolMagazine
-> stores -> CuttingTool
AUTOMATIC_TOOL_CHANGE :=
SELECT_TOOL
-> STOP_ORIENT_SPINDLE
-> EXCHANGE_TOOL
-> VERIFY_TOOL
-> UPDATE_TOOL_STATE
# ---------- SPINDLE ----------
Spindle
-> rotates -> CuttingTool
| Workpiece
SpindleSpeed
-> commands -> ROTATIONAL_SPEED
CUTTING_SPEED :=
FUNCTION(SpindleSpeed, ToolOrWorkpieceDiameter)
Spindle
-> constrained_by -> MAXIMUM_SPEED
+ MAXIMUM_POWER
+ MAXIMUM_TORQUE
# ---------- FEED ----------
FeedRate
-> commands -> TOOL_WORKPIECE_RELATIVE_SPEED
FeedRate
-> influences -> MATERIAL_REMOVAL_RATE
+ SURFACE_FINISH
+ CUTTING_FORCE
FEED_MODE :=
FEED_PER_MINUTE
| FEED_PER_REVOLUTION
| FEED_PER_TOOTH
# ---------- INTERPOLATION ----------
Interpolation
-> generates -> INTERMEDIATE_AXIS_COMMANDS
INTERPOLATION_TYPE :=
LINEAR_INTERPOLATION
| CIRCULAR_INTERPOLATION
| HELICAL_INTERPOLATION
| SPLINE_INTERPOLATION
Toolpath
-> executed_by -> Interpolation
Interpolation
-> coordinates -> MULTIPLE_AXES
# ---------- MACHINING OPERATIONS ----------
CNC_OPERATION :=
TURNING
| MILLING
| DRILLING
| BORING
| REAMING
| TAPPING
| GRINDING
| MULTI_AXIS_MACHINING
MachiningCycle
-> executes -> CNC_OPERATION
CANNED_CYCLE :=
PREDEFINED_SEQUENCE
-> parameterised_by -> POSITION
+ DEPTH
+ FEED
+ RETRACT
# ---------- MULTI-AXIS ----------
MULTI_AXIS_MACHINING :=
COORDINATED_LINEAR_AXES
+ ROTARY_AXES
MultiAxisToolpath
-> controls -> TOOL_POSITION
+ TOOL_ORIENTATION
KINEMATIC_TRANSFORMATION :=
TOOL_POSE
-> MACHINE_AXIS_POSITIONS
# ---------- MATERIAL REMOVAL ----------
MATERIAL_REMOVAL :=
CUTTING_TOOL
+ PROGRAMMED_MOTION
+ CUTTING_PARAMETERS
-> CHIP
+ MACHINED_SURFACE
CUTTING_PARAMETERS :=
SpindleSpeed
+ FeedRate
+ DepthOfCut
CNCManufacturingSystem
-> controls -> CUTTING_PARAMETERS
# ---------- OFFSETS / COMPENSATION ----------
COMPENSATION :=
WorkOffset
+ ToolOffset
+ WEAR_COMPENSATION
+ THERMAL_COMPENSATION
+ BACKLASH_COMPENSATION_IF_SUPPORTED
WearCompensation
-> adjusts -> ToolOffset
IF ToolWear increases
THEN ToolOffsetCorrection -> MAY_BE_REQUIRED
# ---------- SENSING ----------
Sensor
-> measures -> POSITION
| SPEED
| LOAD
| POWER
| VIBRATION
| TEMPERATURE
| TOOL_STATE
| WORKPIECE_STATE
Encoder
-> measures -> AXIS_POSITION
+ AXIS_SPEED
Measurement
-> updates -> CNCState
# ---------- PROBING ----------
Probe
-> measures -> WorkpieceFeature
+ Datum
+ ToolDimension
PROBING_CYCLE :=
APPROACH
-> CONTACT_OR_DETECTION
-> RECORD_POSITION
-> COMPUTE_RESULT
-> UPDATE_OFFSET_OR_INSPECTION_STATE
Probe
-> may_update -> WorkOffset
+ ToolOffset
# ---------- COLLISION AVOIDANCE ----------
COLLISION_RISK :=
TOOL
+ HOLDER
+ SPINDLE
+ FIXTURE
+ WORKPIECE
+ MACHINE_ENVELOPE
Simulation
-> checks -> COLLISION_RISK
+ AXIS_LIMIT
+ TOOL_REACH
IF Collision predicted
THEN ProgramExecution -> BLOCK_OR_REVISE
# ---------- PROGRAM VERIFICATION ----------
PROGRAM_VERIFICATION :=
SYNTAX_CHECK
+ TOOLPATH_SIMULATION
+ COLLISION_CHECK
+ AXIS_LIMIT_CHECK
+ FEED_SPEED_CHECK
+ TOOL_CHECK
PartProgram
-> verified_before -> PRODUCTION_EXECUTION
# ---------- MACHINE LIMITS ----------
MACHINE_LIMIT :=
AXIS_TRAVEL
| SPINDLE_SPEED
| SPINDLE_POWER
| AXIS_SPEED
| AXIS_ACCELERATION
| TOOL_CAPACITY
| WORK_ENVELOPE
IF Command exceeds MachineLimit
THEN CNCController -> REJECT_OR_LIMIT_COMMAND
# ---------- ALARMS ----------
Alarm
-> represents -> ABNORMAL_OR_INVALID_STATE
ALARM_SOURCE :=
OVERTRAVEL
| SERVO_ERROR
| SPINDLE_ERROR
| TOOL_ERROR
| PROGRAM_ERROR
| SAFETY_INTERLOCK
| OVERLOAD
IF Alarm active
THEN ProgramExecution -> PAUSE_OR_STOP
# ---------- QUALITY ----------
Tolerance
-> defines -> ACCEPTABLE_FEATURE_VARIATION
Inspection
-> measures -> ManufacturedFeature
-> compares -> Measurement
+ Tolerance
IF Measurement within Tolerance
THEN FeatureConformance := TRUE
IF Measurement outside Tolerance
THEN FeatureConformance := FALSE
# ---------- CLOSED-LOOP COMPENSATION ----------
CLOSED_LOOP_MANUFACTURING :=
MACHINE
-> MEASURE
-> COMPARE_WITH_NOMINAL
-> CALCULATE_CORRECTION
-> UPDATE_OFFSET_OR_PROCESS_PARAMETER
-> REMACHINE_OR_CONTINUE
CNCController
-> may_apply -> CLOSED_LOOP_COMPENSATION
# ---------- TRACEABILITY ----------
CNC_TRACEABILITY :=
PART_PROGRAM_VERSION
+ MACHINE_ID
+ TOOL_ID
+ OFFSET_STATE
+ PROCESS_PARAMETERS
+ MEASUREMENTS
+ ALARMS
+ INSPECTION_RESULTS
ManufacturedPart
-> linked_to -> CNC_TRACEABILITY
# ---------- PERFORMANCE ----------
CNC_PERFORMANCE :=
POSITIONING_ACCURACY
+ REPEATABILITY
+ CYCLE_TIME
+ MATERIAL_REMOVAL_RATE
+ TOOL_LIFE
+ SURFACE_FINISH
+ DIMENSIONAL_ACCURACY
+ MACHINE_AVAILABILITY
CNCManufacturingSystem
-> evaluated_by -> CNC_PERFORMANCE
# ---------- REASONING ----------
CNC_MANUFACTURING_REASONING :=
LOAD_PRODUCT_DEFINITION
-> GENERATE_CAM_TOOLPATH
-> POSTPROCESS
-> VERIFY_PROGRAM
-> PREPARE_MACHINE
-> SET_WORK_COORDINATES
-> LOAD_AND_MEASURE_TOOLS
-> VERIFY_FIXTURING
-> EXECUTE_PART_PROGRAM
-> CONTROL_AXES_AND_SPINDLE
-> MONITOR_MACHINE_AND_PROCESS
-> APPLY_COMPENSATION
-> PROBE_OR_INSPECT
-> VERIFY_TOLERANCE
-> RECORD_TRACEABILITY
-> UPDATE_PROCESS_MODEL
# ---------- INFERENCE RULES ----------
IF CADModel changes
THEN CAMToolpath -> REGENERATE_OR_REVALIDATE
IF Toolpath changes
THEN PartProgram -> REPOSTPROCESS_OR_REVALIDATE
IF WorkOffset changes
THEN MachineCoordinateCommands -> TRANSFORM
IF ToolLength changes
THEN ToolOffset -> UPDATE
IF AxisPositionError increases
THEN ServoCorrection -> INCREASE_WITHIN_CONTROL_LIMITS
IF ToolWear increases
THEN DimensionalErrorRisk -> MAY_INCREASE
IF ProbeMeasurement outside Tolerance
THEN CompensationOrNonconformance -> CONSIDER
IF SafetyInterlock active
THEN MachineMotion -> INHIBIT
# ---------- SEMANTIC RELATIONSHIPS ----------
RELATION represents(CADModel, ProductGeometry)
RELATION generates(CAMSystem, Toolpath)
RELATION transforms(PostProcessor, Toolpath, PartProgram)
RELATION interprets(CNCController, PartProgram)
RELATION commands(CNCController, ServoDrive)
RELATION drives(ServoDrive, Axis)
RELATION measures(Encoder, AxisPosition)
RELATION transforms(WorkOffset, ProgrammedCoordinate, MachineCoordinate)
RELATION compensates(ToolOffset, ToolGeometry)
RELATION holds(Fixture, Workpiece)
RELATION measures(Probe, WorkpieceFeature)
RELATION executes(Interpolation, Toolpath)
RELATION checks(Simulation, CollisionRisk)
RELATION evaluates(Inspection, ManufacturedFeature)
# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE:
"CNC manufacturing" ~= "computer numerical control manufacturing"
"CNC controller" ~= "numerical control unit"
"part program" ~= "NC program"
"G-code" ~= "preparatory function code"
"M-code" ~= "miscellaneous machine function code"
"work offset" ~= "work coordinate offset"
"tool offset" ~= "tool geometry compensation"
"toolpath" ~= "programmed cutter path"
"CNC probing" ~= "on-machine probing"
"multi-axis machining" ~= "simultaneous multi-axis CNC machining"
# ---------- CONFIDENCE ----------
CONFIDENCE:
ontology_domain: 0.99
digital_chain_mapping: 0.99
program_mapping: 0.99
axis_control_mapping: 0.99
coordinate_mapping: 0.99
tooling_offset_mapping: 0.99
interpolation_mapping: 0.99
sensing_verification_mapping: 0.99
quality_mapping: 0.99
semantic_relationships: 0.99
# ---------- UPDATE MODEL ----------
UPDATE_MODEL:
ON new_cnc_job:
MAP product_definition
MAP cad_model
MAP toolpath
MAP part_program
MAP machine
MAP tools
MAP fixture
UPDATE confidence
RECOMPUTE FLOW_HASH
ON setup_change:
UPDATE work_offset
UPDATE tool_offsets
UPDATE fixture_state
UPDATE tool_state
REVERIFY program
ON machine_measurement:
UPDATE axis_state
UPDATE spindle_state
UPDATE load_state
UPDATE alarm_state
PRESERVE provenance
ON probe_or_inspection_result:
UPDATE measured_feature
UPDATE conformance
UPDATE compensation_if_authorised
UPDATE traceability
ON ontology_revision:
PRESERVE entity_identity
PRESERVE provenance
UPDATE relationships
UPDATE inference_rules
UPDATE confidence
RECOMPUTE FLOW_HASH
# ---------- AI CONSUMPTION ----------
AI_CONSUMPTION:
parse_as: FORMAL_CNC_MANUFACTURING_ONTOLOGY
reasoning_mode: DIGITAL_MACHINE_CONTROL_RELATIONAL
preserve:
- typed_entities
- program_version
- coordinate_systems
- tool_and_offset_state
- axis_control_paths
- machine_limits
- quality_constraints
- confidence
- provenance
infer:
- toolpath_program_dependencies
- coordinate_transform_dependencies
- axis_motion_dependencies
- compensation_requirements
- collision_risk_dependencies
- conformance_state
- traceability_dependencies
prohibit:
- invented_machine_measurements
- assumed_program_validity
- assumed_coordinate_offsets
- unsupported_compensation
- ignored_machine_limits
- assumed_feature_conformance
# ---------- FLOW HASH ----------
FLOW_HASH_INPUT :=
DOMAIN + ONTOLOGY + CORE_ENTITIES + CNC_SYSTEM
+ DIGITAL_MANUFACTURING_CHAIN + PART_PROGRAM
+ CNC_CONTROLLER + MACHINE_AXES + COORDINATE_SYSTEMS
+ SETUP + TOOLING + SPINDLE + FEED + INTERPOLATION
+ MACHINING_OPERATIONS + MULTI_AXIS + MATERIAL_REMOVAL
+ OFFSETS_COMPENSATION + SENSING + PROBING
+ COLLISION_AVOIDANCE + PROGRAM_VERIFICATION
+ MACHINE_LIMITS + ALARMS + QUALITY
+ CLOSED_LOOP_COMPENSATION + TRACEABILITY
+ PERFORMANCE + REASONING + INFERENCE_RULES
+ SEMANTIC_RELATIONSHIPS + SEMANTIC_EQUIVALENCE
+ CONFIDENCE + UPDATE_MODEL + AI_CONSUMPTION
FLOW_HASH := HASH(FLOW_HASH_INPUT)
END FLOW
Download Code
Copy to Clipboard