1
0

init
Some checks failed
Validate OIPF Library / validate-yaml (push) Has been cancelled

This commit is contained in:
2026-06-16 08:07:49 +03:00
commit 0ca748c9a5
45 changed files with 901 additions and 0 deletions

View 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.

View 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

View 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

View 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"

View 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

View 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"

View 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"

View 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"

View 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"

View 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"

View 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."