You've already forked generic-industrial-process
Import UAPF package
This commit is contained in:
5
packages/cleaning-optimisation/README.md
Normal file
5
packages/cleaning-optimisation/README.md
Normal file
@@ -0,0 +1,5 @@
|
||||
# Cleaning Optimisation Package
|
||||
|
||||
First concrete OIPF package skeleton.
|
||||
|
||||
It models the generic process by which cleaning-related production loss is observed, analysed, recommended, approved, executed and learned from.
|
||||
11
packages/cleaning-optimisation/agentic_workflow.yaml
Normal file
11
packages/cleaning-optimisation/agentic_workflow.yaml
Normal file
@@ -0,0 +1,11 @@
|
||||
agentic_workflow:
|
||||
id: "oipf.workflow.cleaning-optimisation"
|
||||
steps:
|
||||
- observe_current_state
|
||||
- evaluate_cleaning_need
|
||||
- check_constraints
|
||||
- generate_recommendation
|
||||
- request_operator_approval
|
||||
- record_decision
|
||||
- record_measured_outcome
|
||||
- feed_outcome_to_model
|
||||
13
packages/cleaning-optimisation/audit_policy.yaml
Normal file
13
packages/cleaning-optimisation/audit_policy.yaml
Normal file
@@ -0,0 +1,13 @@
|
||||
audit_policy:
|
||||
record:
|
||||
- timestamp
|
||||
- package_version
|
||||
- model_contract_id
|
||||
- input_data_window
|
||||
- prediction
|
||||
- confidence
|
||||
- constraints_checked
|
||||
- recommendation
|
||||
- human_decision
|
||||
- outcome
|
||||
immutable: true
|
||||
10
packages/cleaning-optimisation/constraints.yaml
Normal file
10
packages/cleaning-optimisation/constraints.yaml
Normal file
@@ -0,0 +1,10 @@
|
||||
constraints:
|
||||
- id: "quality_hold"
|
||||
type: "quality"
|
||||
rule: "do_not_delay_cleaning_if_quality_risk_is_high"
|
||||
- id: "operator_approval_required"
|
||||
type: "governance"
|
||||
rule: "all_cleaning_delay_recommendations_require_human_approval"
|
||||
- id: "read_only_first"
|
||||
type: "safety"
|
||||
rule: "package_must_not_write_to_plc_or_dcs_in_advisory_mode"
|
||||
26
packages/cleaning-optimisation/model_contract.yaml
Normal file
26
packages/cleaning-optimisation/model_contract.yaml
Normal file
@@ -0,0 +1,26 @@
|
||||
model_contract:
|
||||
id: "oipf.model.cleaning-optimisation.v0"
|
||||
model_type: "physics_ml_or_rules"
|
||||
purpose: "Estimate cleaning need and avoidable cleaning/downtime loss."
|
||||
inputs:
|
||||
- tag: "tag.inlet_pressure"
|
||||
role: "process_signal"
|
||||
- tag: "tag.outlet_pressure"
|
||||
role: "process_signal"
|
||||
- tag: "tag.flow_rate"
|
||||
role: "process_signal"
|
||||
- event: "cleaning_event"
|
||||
role: "historical_action"
|
||||
outputs:
|
||||
- name: "cleaning_need_score"
|
||||
type: "number"
|
||||
range: [0, 1]
|
||||
- name: "recommendation_candidate"
|
||||
type: "string"
|
||||
- name: "confidence"
|
||||
type: "number"
|
||||
range: [0, 1]
|
||||
- name: "estimated_saving"
|
||||
type: "number"
|
||||
unit: "EUR"
|
||||
human_review_required: true
|
||||
9
packages/cleaning-optimisation/operating_modes.yaml
Normal file
9
packages/cleaning-optimisation/operating_modes.yaml
Normal file
@@ -0,0 +1,9 @@
|
||||
operating_modes:
|
||||
- id: "running"
|
||||
description: "Normal production mode"
|
||||
- id: "cleaning"
|
||||
description: "Cleaning or CIP mode"
|
||||
- id: "idle"
|
||||
description: "No production"
|
||||
- id: "degraded"
|
||||
description: "Production mode with performance loss"
|
||||
33
packages/cleaning-optimisation/package.yaml
Normal file
33
packages/cleaning-optimisation/package.yaml
Normal file
@@ -0,0 +1,33 @@
|
||||
package:
|
||||
id: "oipf.package.cleaning-optimisation"
|
||||
name: "Cleaning Optimisation"
|
||||
version: "0.1.0-draft"
|
||||
kind: "production-intelligence-package"
|
||||
status: "draft"
|
||||
library: "oipf.generic-industrial-process"
|
||||
target_pain:
|
||||
- over-cleaning
|
||||
- under-cleaning
|
||||
- fouling-related efficiency loss
|
||||
- avoidable downtime
|
||||
- water and chemical waste
|
||||
process_pattern:
|
||||
- observe
|
||||
- contextualise
|
||||
- infer
|
||||
- check
|
||||
- recommend
|
||||
- approve
|
||||
- act
|
||||
- record
|
||||
- learn
|
||||
files:
|
||||
plant_graph: "plant_graph.yaml"
|
||||
tag_mapping: "tag_mapping.yaml"
|
||||
operating_modes: "operating_modes.yaml"
|
||||
constraints: "constraints.yaml"
|
||||
model_contract: "model_contract.yaml"
|
||||
agentic_workflow: "agentic_workflow.yaml"
|
||||
validation_tests: "validation_tests.yaml"
|
||||
savings: "savings.yaml"
|
||||
audit_policy: "audit_policy.yaml"
|
||||
14
packages/cleaning-optimisation/plant_graph.yaml
Normal file
14
packages/cleaning-optimisation/plant_graph.yaml
Normal file
@@ -0,0 +1,14 @@
|
||||
plant_graph:
|
||||
plant: "example_plant"
|
||||
line: "line_1"
|
||||
unit: "cleaning_sensitive_unit"
|
||||
assets:
|
||||
- id: "asset.filter_1"
|
||||
type: "filter_or_heat_exchanger"
|
||||
tags:
|
||||
- "tag.inlet_pressure"
|
||||
- "tag.outlet_pressure"
|
||||
- "tag.flow_rate"
|
||||
- "tag.temperature"
|
||||
procedures:
|
||||
- "procedure.cleaning_cycle"
|
||||
8
packages/cleaning-optimisation/savings.yaml
Normal file
8
packages/cleaning-optimisation/savings.yaml
Normal file
@@ -0,0 +1,8 @@
|
||||
savings:
|
||||
currency: "EUR"
|
||||
components:
|
||||
- production_downtime_avoided
|
||||
- water_usage_reduction
|
||||
- chemical_usage_reduction
|
||||
- energy_loss_reduction
|
||||
formula: "estimated_saving = avoided_downtime_cost + avoided_resource_cost + avoided_energy_loss"
|
||||
19
packages/cleaning-optimisation/tag_mapping.yaml
Normal file
19
packages/cleaning-optimisation/tag_mapping.yaml
Normal file
@@ -0,0 +1,19 @@
|
||||
tag_mapping:
|
||||
- tag_id: "tag.inlet_pressure"
|
||||
source: "historian"
|
||||
source_name: "PT_001"
|
||||
asset: "asset.filter_1"
|
||||
variable: "inlet_pressure"
|
||||
unit: "bar"
|
||||
- tag_id: "tag.outlet_pressure"
|
||||
source: "historian"
|
||||
source_name: "PT_002"
|
||||
asset: "asset.filter_1"
|
||||
variable: "outlet_pressure"
|
||||
unit: "bar"
|
||||
- tag_id: "tag.flow_rate"
|
||||
source: "historian"
|
||||
source_name: "FT_001"
|
||||
asset: "asset.filter_1"
|
||||
variable: "flow_rate"
|
||||
unit: "m3/h"
|
||||
9
packages/cleaning-optimisation/validation_tests.yaml
Normal file
9
packages/cleaning-optimisation/validation_tests.yaml
Normal file
@@ -0,0 +1,9 @@
|
||||
validation_tests:
|
||||
- id: "tag_mapping_complete"
|
||||
description: "All required model input tags are mapped to real source tags."
|
||||
- id: "units_consistent"
|
||||
description: "Units match model contract expectations."
|
||||
- id: "approval_required"
|
||||
description: "Recommendation workflow includes human approval."
|
||||
- id: "read_only_advisory"
|
||||
description: "Package does not require PLC/DCS write-back."
|
||||
Reference in New Issue
Block a user