@oimlsmart/primmel-packages 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +60 -0
- package/LICENSE +21 -0
- package/README.md +68 -0
- package/acme-cgm-200/model/cgm200.prl +284 -0
- package/acme-cgm-200/model/r144-map.prl +337 -0
- package/acme-cgm-200/package.primmel +39 -0
- package/acme-cgm-system/model/cgm-system.prl +125 -0
- package/acme-cgm-system/model/r144-map.prl +75 -0
- package/acme-cgm-system/model/sample-line.prl +42 -0
- package/acme-cgm-system/package.primmel +23 -0
- package/acme-lc500/model/lc500.prl +218 -0
- package/acme-lc500/model/passport.prl +43 -0
- package/acme-lc500/model/r60-map.prl +161 -0
- package/acme-lc500/model/twin-cert-map.prl +114 -0
- package/acme-lc500/package.primmel +35 -0
- package/acme-md3xx/model/md350.prl +317 -0
- package/acme-md3xx/model/r129-map.prl +346 -0
- package/acme-md3xx/package.primmel +49 -0
- package/acme-rs180/model/r91-map.prl +234 -0
- package/acme-rs180/model/rs180.prl +236 -0
- package/acme-rs180/package.primmel +47 -0
- package/ims-demo/model/ims.prl +23 -0
- package/ims-demo/model/isms-map.prl +60 -0
- package/ims-demo/model/qms-map.prl +73 -0
- package/ims-demo/package.primmel +42 -0
- package/isms-ref/model/isms.prl +34 -0
- package/isms-ref/package.primmel +35 -0
- package/iso-iec-17000/package.primmel +8 -0
- package/iso-iec-17000/terminology.prl +268 -0
- package/iso-iec-17025/package.primmel +10 -0
- package/iso-iec-17025/specification/requirements/lab.prl +474 -0
- package/iso-iec-17025/terminology.prl +72 -0
- package/iso-iec-17065/package.primmel +10 -0
- package/iso-iec-17065/specification/requirements/body.prl +446 -0
- package/iso-iec-17065/terminology.prl +103 -0
- package/iso-iec-17067/package.primmel +10 -0
- package/iso-iec-17067/specification/requirements/scheme-content.prl +300 -0
- package/iso-iec-17067/terminology.prl +24 -0
- package/oiml-cs/package.primmel +10 -0
- package/oiml-cs/specification/discrepancies.prl +26 -0
- package/oiml-cs/specification/requirements/cs.prl +515 -0
- package/oiml-cs-dataspace/.primmel-allowlist.prl +25 -0
- package/oiml-cs-dataspace/package.primmel +9 -0
- package/oiml-cs-dataspace/specification/dataspace.prl +73 -0
- package/oiml-cs-dataspace/specification/policies.prl +68 -0
- package/oiml-integrated-ref/model/probe-pairing.prl +71 -0
- package/oiml-integrated-ref/package.primmel +10 -0
- package/oiml-r129/.primmel-allowlist.prl +2 -0
- package/oiml-r129/evaluation/processes.prl +152 -0
- package/oiml-r129/evaluation/workflow.prl +48 -0
- package/oiml-r129/execution/forms/admin/adjustments-modifications.prl +30 -0
- package/oiml-r129/execution/forms/admin/checklist.prl +70 -0
- package/oiml-r129/execution/forms/admin/configuration.prl +31 -0
- package/oiml-r129/execution/forms/admin/equipment-info.prl +27 -0
- package/oiml-r129/execution/forms/admin/general-info.prl +63 -0
- package/oiml-r129/execution/forms/admin/identification.prl +49 -0
- package/oiml-r129/execution/forms/admin/sample-selection.prl +30 -0
- package/oiml-r129/execution/forms/admin/summary-results.prl +50 -0
- package/oiml-r129/execution/forms/emc/bursts.prl +88 -0
- package/oiml-r129/execution/forms/emc/esd.prl +66 -0
- package/oiml-r129/execution/forms/emc/low-voltage-battery.prl +58 -0
- package/oiml-r129/execution/forms/emc/rf-immunity-conducted.prl +59 -0
- package/oiml-r129/execution/forms/emc/rf-immunity-radiated.prl +59 -0
- package/oiml-r129/execution/forms/emc/surge.prl +61 -0
- package/oiml-r129/execution/forms/emc/voltage-dips.prl +62 -0
- package/oiml-r129/execution/forms/emc/voltage-variation.prl +58 -0
- package/oiml-r129/execution/forms/env/damp-heat-cyclic.prl +43 -0
- package/oiml-r129/execution/forms/env/damp-heat-steady.prl +50 -0
- package/oiml-r129/execution/forms/env/static-temperatures.prl +61 -0
- package/oiml-r129/execution/forms/shared/headers.prl +86 -0
- package/oiml-r129/execution/forms/tests/acoustics.prl +44 -0
- package/oiml-r129/execution/forms/tests/ambient-light.prl +46 -0
- package/oiml-r129/execution/forms/tests/construction-examination.prl +46 -0
- package/oiml-r129/execution/forms/tests/examination-checklist.prl +51 -0
- package/oiml-r129/execution/forms/tests/object-shape.prl +43 -0
- package/oiml-r129/execution/forms/tests/orientation-position.prl +31 -0
- package/oiml-r129/execution/forms/tests/repeatability.prl +65 -0
- package/oiml-r129/execution/forms/tests/speed-movement.prl +59 -0
- package/oiml-r129/execution/forms/tests/surface-characteristics.prl +44 -0
- package/oiml-r129/execution/forms/tests/warm-up-time.prl +35 -0
- package/oiml-r129/execution/subforms/dimension-measurement.prl +93 -0
- package/oiml-r129/layers.prl +50 -0
- package/oiml-r129/model/attributes.prl +243 -0
- package/oiml-r129/model/behaviors.prl +79 -0
- package/oiml-r129/model/capabilities.prl +29 -0
- package/oiml-r129/model/characteristics.prl +8 -0
- package/oiml-r129/model/conditions.prl +23 -0
- package/oiml-r129/model/instrument.prl +67 -0
- package/oiml-r129/model/state.prl +22 -0
- package/oiml-r129/model/twin.prl +23 -0
- package/oiml-r129/package.primmel +15 -0
- package/oiml-r129/payload/application.yaml +40 -0
- package/oiml-r129/payload/conditions-common-test.yaml +8 -0
- package/oiml-r129/payload/formulas-variants.yaml +33 -0
- package/oiml-r129/payload/promises.yaml +102 -0
- package/oiml-r129/payload/sample-data.yaml +300 -0
- package/oiml-r129/references.prl +306 -0
- package/oiml-r129/sources-prd/coverage.json +59 -0
- package/oiml-r129/sources-prd/r129-1.sentences.json +4238 -0
- package/oiml-r129/sources-prd/r129-2.sentences.json +1139 -0
- package/oiml-r129/sources-prd/r129-3.sentences.json +3809 -0
- package/oiml-r129/sources-prd/r129-4.sentences.json +1227 -0
- package/oiml-r129/specification/calculations.prl +83 -0
- package/oiml-r129/specification/conformance/disturbance-tests.prl +212 -0
- package/oiml-r129/specification/conformance/effect-tests.prl +70 -0
- package/oiml-r129/specification/conformance/examinations.prl +83 -0
- package/oiml-r129/specification/conformance/metrological-tests.prl +178 -0
- package/oiml-r129/specification/formulas.prl +9 -0
- package/oiml-r129/specification/requirements/electronic.prl +46 -0
- package/oiml-r129/specification/requirements/metrological.prl +83 -0
- package/oiml-r129/specification/requirements/object-limitations.prl +99 -0
- package/oiml-r129/specification/requirements/software.prl +57 -0
- package/oiml-r129/specification/requirements/technical.prl +134 -0
- package/oiml-r129/specification/symbols.prl +187 -0
- package/oiml-r129/specification/tables.prl +74 -0
- package/oiml-r129/terminology.prl +415 -0
- package/oiml-r129/value-types.prl +40 -0
- package/oiml-r144/.primmel-allowlist.prl +2 -0
- package/oiml-r144/entities/instrument.prl +360 -0
- package/oiml-r144/entities/test-execution.prl +228 -0
- package/oiml-r144/entities/workflow.prl +2075 -0
- package/oiml-r144/evaluation/processes.prl +152 -0
- package/oiml-r144/evaluation/workflow.prl +48 -0
- package/oiml-r144/execution/forms/sec-3-report/03-01-laboratory-info.prl +19 -0
- package/oiml-r144/execution/forms/sec-3-report/03-02-test-location.prl +14 -0
- package/oiml-r144/execution/forms/sec-3-report/03-03-manufacturer-info.prl +18 -0
- package/oiml-r144/execution/forms/sec-3-report/03-04-applicant-info.prl +19 -0
- package/oiml-r144/execution/forms/sec-3-report/03-05-type-identification.prl +80 -0
- package/oiml-r144/execution/forms/sec-3-report/03-06-type-composition.prl +31 -0
- package/oiml-r144/execution/forms/sec-3-report/03-07-visual-examination.prl +46 -0
- package/oiml-r144/execution/forms/sec-3-report/03-08-test-conclusions.prl +46 -0
- package/oiml-r144/execution/forms/sec-3-report/03-09-general-conclusion.prl +19 -0
- package/oiml-r144/execution/forms/sec-3-report/03-10-responsible-persons.prl +27 -0
- package/oiml-r144/execution/forms/sec-tests/ambient-pressure-test.prl +59 -0
- package/oiml-r144/execution/forms/sec-tests/bursts-mains-test.prl +52 -0
- package/oiml-r144/execution/forms/sec-tests/bursts-signal-test.prl +55 -0
- package/oiml-r144/execution/forms/sec-tests/cold-test.prl +48 -0
- package/oiml-r144/execution/forms/sec-tests/cross-sensitivity-test.prl +92 -0
- package/oiml-r144/execution/forms/sec-tests/damp-heat-test.prl +50 -0
- package/oiml-r144/execution/forms/sec-tests/documentation-examination.prl +52 -0
- package/oiml-r144/execution/forms/sec-tests/drift-test.prl +83 -0
- package/oiml-r144/execution/forms/sec-tests/dry-heat-test.prl +53 -0
- package/oiml-r144/execution/forms/sec-tests/error-determination.prl +37 -0
- package/oiml-r144/execution/forms/sec-tests/esd-test.prl +53 -0
- package/oiml-r144/execution/forms/sec-tests/flow-spillover-test.prl +83 -0
- package/oiml-r144/execution/forms/sec-tests/leakproofness-test.prl +41 -0
- package/oiml-r144/execution/forms/sec-tests/low-battery-test.prl +48 -0
- package/oiml-r144/execution/forms/sec-tests/power-reduction-test.prl +49 -0
- package/oiml-r144/execution/forms/sec-tests/power-supply-test.prl +57 -0
- package/oiml-r144/execution/forms/sec-tests/repeatability-test.prl +60 -0
- package/oiml-r144/execution/forms/sec-tests/response-time-test.prl +43 -0
- package/oiml-r144/execution/forms/sec-tests/rf-emf-test.prl +47 -0
- package/oiml-r144/execution/forms/sec-tests/shock-test.prl +50 -0
- package/oiml-r144/execution/forms/sec-tests/surge-test.prl +52 -0
- package/oiml-r144/execution/forms/sec-tests/vibration-test.prl +58 -0
- package/oiml-r144/execution/forms/sec-tests/warm-up-time-test.prl +69 -0
- package/oiml-r144/execution/forms/shared/headers.prl +132 -0
- package/oiml-r144/execution/subforms/cgm-point.prl +99 -0
- package/oiml-r144/layers.prl +44 -0
- package/oiml-r144/model/attributes.prl +679 -0
- package/oiml-r144/model/behaviors.prl +117 -0
- package/oiml-r144/model/capabilities.prl +99 -0
- package/oiml-r144/model/characteristics.prl +27 -0
- package/oiml-r144/model/conditions.prl +46 -0
- package/oiml-r144/model/instrument.prl +85 -0
- package/oiml-r144/model/state.prl +18 -0
- package/oiml-r144/model/twin.prl +25 -0
- package/oiml-r144/package.primmel +15 -0
- package/oiml-r144/payload/application.yaml +80 -0
- package/oiml-r144/payload/attributes-pair-list.yaml +18 -0
- package/oiml-r144/payload/conditions-common-test.yaml +74 -0
- package/oiml-r144/payload/formulas-variants.yaml +32 -0
- package/oiml-r144/payload/promises.yaml +118 -0
- package/oiml-r144/payload/sample-data.yaml +643 -0
- package/oiml-r144/references.prl +594 -0
- package/oiml-r144/sources-prd/coverage.json +114 -0
- package/oiml-r144/sources-prd/r144-1.sentences.json +2797 -0
- package/oiml-r144/sources-prd/r144-2.sentences.json +1627 -0
- package/oiml-r144/sources-prd/r144-3.sentences.json +838 -0
- package/oiml-r144/specification/calculations.prl +123 -0
- package/oiml-r144/specification/conformance/examination.prl +87 -0
- package/oiml-r144/specification/conformance/performance-tests.prl +755 -0
- package/oiml-r144/specification/formulas.prl +37 -0
- package/oiml-r144/specification/reference-materials.prl +87 -0
- package/oiml-r144/specification/requirements/controls.prl +51 -0
- package/oiml-r144/specification/requirements/metrological.prl +299 -0
- package/oiml-r144/specification/requirements/report.prl +35 -0
- package/oiml-r144/specification/requirements/technical.prl +455 -0
- package/oiml-r144/specification/symbols.prl +357 -0
- package/oiml-r144/specification/tables.prl +95 -0
- package/oiml-r144/specification/test-point-sets.prl +15 -0
- package/oiml-r144/terminology.prl +308 -0
- package/oiml-r144/value-types.prl +49 -0
- package/oiml-r60/.primmel-allowlist.prl +2 -0
- package/oiml-r60/entities/workflow.prl +2079 -0
- package/oiml-r60/evaluation/processes.prl +152 -0
- package/oiml-r60/evaluation/workflow.prl +48 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-01-authority-info.prl +76 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-02-synopsis.prl +20 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-03-01-examinations.prl +27 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-03-02-a-performance-general.prl +81 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-03-02-b-performance-digital.prl +104 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-04-01-manufacturer.prl +21 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-04-02-applicant.prl +44 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-04-03-testing-laboratories.prl +69 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-05-load-cell-type-info.prl +83 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-06-accessories.prl +41 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-07-sample-selection.prl +71 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-01-general-info.prl +103 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-02-performance-info.prl +66 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-03-digital-info.prl +35 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-04-photographs.prl +12 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-05-documentation.prl +27 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-06-inscriptions.prl +126 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-07-model-range.prl +143 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-12-previous-tests.prl +26 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-01-force-generating-system.prl +89 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-02-weights.prl +61 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-03-temperature-chamber.prl +96 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-04-climate-chamber.prl +96 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-05-indicator.prl +92 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-06-terminal.prl +86 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-07-barometric-pressure-meter.prl +62 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-08-thermometer.prl +62 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-09-moisture-analyser.prl +62 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-10-additional-test-equipment.prl +69 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-11-remarks.prl +11 -0
- package/oiml-r60/execution/forms/sec-4-evaluation-report/test-usage-matrix.prl +85 -0
- package/oiml-r60/execution/forms/sec-5-examination/documentation-examination.prl +53 -0
- package/oiml-r60/execution/forms/sec-5-examination/marking-examination.prl +104 -0
- package/oiml-r60/execution/forms/sec-5-examination/software-examination.prl +86 -0
- package/oiml-r60/execution/forms/sec-5-examination/suitability-examination.prl +56 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/barometric-pressure.prl +176 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/bursts.prl +129 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/conducted-emc.prl +170 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/creep-dr.prl +327 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/emc-susceptibility.prl +115 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/esd.prl +224 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/humidity-ch.prl +300 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/humidity-sh.prl +235 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/initial-tests.prl +129 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/load-cell-errors.prl +280 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/load-test.prl +29 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/performance-test-summary.prl +82 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/power-voltage.prl +166 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/repeatability.prl +189 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/short-time-power.prl +98 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/span-stability.prl +242 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/surge.prl +142 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/temperature-mdlo.prl +180 -0
- package/oiml-r60/execution/forms/sec-6-performance-tests/warm-up-time.prl +207 -0
- package/oiml-r60/execution/forms/shared/headers.prl +255 -0
- package/oiml-r60/execution/subforms/load-test-row.prl +55 -0
- package/oiml-r60/execution/subforms/test-procedures.prl +33 -0
- package/oiml-r60/layers.prl +46 -0
- package/oiml-r60/model/attributes.prl +642 -0
- package/oiml-r60/model/behaviors.prl +165 -0
- package/oiml-r60/model/capabilities.prl +57 -0
- package/oiml-r60/model/characteristics.prl +27 -0
- package/oiml-r60/model/conditions.prl +50 -0
- package/oiml-r60/model/instrument.prl +96 -0
- package/oiml-r60/model/processes.prl +54 -0
- package/oiml-r60/model/state.prl +22 -0
- package/oiml-r60/model/twin.prl +16 -0
- package/oiml-r60/package.primmel +16 -0
- package/oiml-r60/payload/annexes-part4.yaml +122 -0
- package/oiml-r60/payload/application.yaml +83 -0
- package/oiml-r60/payload/conditions-common-test.yaml +121 -0
- package/oiml-r60/payload/formulas-variants.yaml +55 -0
- package/oiml-r60/payload/promises.yaml +224 -0
- package/oiml-r60/payload/sample-data.yaml +5025 -0
- package/oiml-r60/payload/symbols-formula-notes.yaml +21 -0
- package/oiml-r60/references.prl +549 -0
- package/oiml-r60/sources-prd/coverage.json +740 -0
- package/oiml-r60/sources-prd/r60-1.sentences.json +2173 -0
- package/oiml-r60/sources-prd/r60-2.sentences.json +2961 -0
- package/oiml-r60/sources-prd/r60-3.sentences.json +4212 -0
- package/oiml-r60/sources-prd/r60-a.sentences.json +3361 -0
- package/oiml-r60/specification/calculations.prl +318 -0
- package/oiml-r60/specification/conformance/class-specific.prl +1120 -0
- package/oiml-r60/specification/conformance/electronic.prl +483 -0
- package/oiml-r60/specification/conformance/examination.prl +183 -0
- package/oiml-r60/specification/conformance/metrological.prl +478 -0
- package/oiml-r60/specification/constraints.prl +58 -0
- package/oiml-r60/specification/formulas-used.prl +43 -0
- package/oiml-r60/specification/formulas.prl +20 -0
- package/oiml-r60/specification/requirements/class-specific.prl +655 -0
- package/oiml-r60/specification/requirements/classification.prl +114 -0
- package/oiml-r60/specification/requirements/electronic.prl +222 -0
- package/oiml-r60/specification/requirements/metrological.prl +381 -0
- package/oiml-r60/specification/requirements/technical.prl +146 -0
- package/oiml-r60/specification/symbols.prl +599 -0
- package/oiml-r60/specification/tables.prl +182 -0
- package/oiml-r60/specification/test-sequences.prl +72 -0
- package/oiml-r60/terminology.prl +920 -0
- package/oiml-r60/value-types.prl +46 -0
- package/oiml-r91/.primmel-allowlist.prl +3 -0
- package/oiml-r91/entities/instrument.prl +359 -0
- package/oiml-r91/entities/workflow.prl +2075 -0
- package/oiml-r91/evaluation/processes.prl +152 -0
- package/oiml-r91/evaluation/workflow.prl +48 -0
- package/oiml-r91/execution/forms/evidence-file.prl +41 -0
- package/oiml-r91/execution/forms/report-evaluation/appraisal.prl +30 -0
- package/oiml-r91/execution/forms/report-evaluation/checklist-summary.prl +43 -0
- package/oiml-r91/execution/forms/report-evaluation/checklist.prl +76 -0
- package/oiml-r91/execution/forms/report-evaluation/configuration-samples.prl +22 -0
- package/oiml-r91/execution/forms/report-evaluation/corrective-actions.prl +24 -0
- package/oiml-r91/execution/forms/report-evaluation/descriptions.prl +47 -0
- package/oiml-r91/execution/forms/report-evaluation/evaluation-identification.prl +219 -0
- package/oiml-r91/execution/forms/report-evaluation/test-report-summary.prl +33 -0
- package/oiml-r91/execution/forms/report-general/adjustments.prl +12 -0
- package/oiml-r91/execution/forms/report-general/alignment-aiming.prl +17 -0
- package/oiml-r91/execution/forms/report-general/checking-facility.prl +17 -0
- package/oiml-r91/execution/forms/report-general/configuration.prl +12 -0
- package/oiml-r91/execution/forms/report-general/identification.prl +216 -0
- package/oiml-r91/execution/forms/report-general/indications-controls.prl +17 -0
- package/oiml-r91/execution/forms/report-general/sealing.prl +21 -0
- package/oiml-r91/execution/forms/report-general/software-description.prl +26 -0
- package/oiml-r91/execution/forms/report-general/summary-environmental.prl +35 -0
- package/oiml-r91/execution/forms/report-general/summary-tests.prl +35 -0
- package/oiml-r91/execution/forms/report-general/test-equipment.prl +36 -0
- package/oiml-r91/execution/forms/report-general/test-interface.prl +16 -0
- package/oiml-r91/execution/forms/report-tests/01-01-field-test.prl +84 -0
- package/oiml-r91/execution/forms/report-tests/01-02-statistical-analysis.prl +76 -0
- package/oiml-r91/execution/forms/report-tests/01-03-image-evidence.prl +30 -0
- package/oiml-r91/execution/forms/report-tests/02-01-dynamic-performance.prl +92 -0
- package/oiml-r91/execution/forms/report-tests/02-02-speed-linearity.prl +23 -0
- package/oiml-r91/execution/forms/report-tests/02-03-distance-linearity.prl +67 -0
- package/oiml-r91/execution/forms/report-tests/02-04-angle-linearity.prl +59 -0
- package/oiml-r91/execution/forms/report-tests/03-01-dry-heat-operating.prl +38 -0
- package/oiml-r91/execution/forms/report-tests/03-02-dry-heat-storage.prl +48 -0
- package/oiml-r91/execution/forms/report-tests/03-03-cold-operating.prl +40 -0
- package/oiml-r91/execution/forms/report-tests/03-04-cold-storage.prl +48 -0
- package/oiml-r91/execution/forms/report-tests/03-05-damp-heat-cyclic.prl +40 -0
- package/oiml-r91/execution/forms/report-tests/03-06-water.prl +48 -0
- package/oiml-r91/execution/forms/report-tests/03-07-sand-and-dust.prl +48 -0
- package/oiml-r91/execution/forms/report-tests/03-08-salt-mist.prl +48 -0
- package/oiml-r91/execution/forms/report-tests/03-09-vibration-random.prl +40 -0
- package/oiml-r91/execution/forms/report-tests/03-10-mechanical-shock.prl +48 -0
- package/oiml-r91/execution/forms/report-tests/03-11-dc-mains-voltage-variation.prl +40 -0
- package/oiml-r91/execution/forms/report-tests/03-12-ripple-on-dc-mains.prl +47 -0
- package/oiml-r91/execution/forms/report-tests/03-13-ac-mains-voltage-variation.prl +40 -0
- package/oiml-r91/execution/forms/report-tests/03-14-ac-mains-frequency-variation.prl +40 -0
- package/oiml-r91/execution/forms/report-tests/03-15-dc-mains-voltage-dips.prl +46 -0
- package/oiml-r91/execution/forms/report-tests/03-16-ac-mains-voltage-dips.prl +46 -0
- package/oiml-r91/execution/forms/report-tests/03-17-ac-mains-frequency-harmonics.prl +47 -0
- package/oiml-r91/execution/forms/report-tests/03-18-vlf-lf-disturbances.prl +46 -0
- package/oiml-r91/execution/forms/report-tests/03-19-bursts-ac-dc-mains.prl +44 -0
- package/oiml-r91/execution/forms/report-tests/03-20-surges-ac-dc-mains.prl +45 -0
- package/oiml-r91/execution/forms/report-tests/03-21-bursts-signal-lines.prl +45 -0
- package/oiml-r91/execution/forms/report-tests/03-22-surges-signal-lines.prl +46 -0
- package/oiml-r91/execution/forms/report-tests/03-23-ac-mains-magnetic-field.prl +45 -0
- package/oiml-r91/execution/forms/report-tests/03-24-conducted-rf-common-mode.prl +46 -0
- package/oiml-r91/execution/forms/report-tests/03-25-rf-electromagnetic-fields.prl +49 -0
- package/oiml-r91/execution/forms/report-tests/03-26-electrostatic-discharges.prl +47 -0
- package/oiml-r91/execution/forms/report-tests/03-27-internal-battery-low-voltage.prl +40 -0
- package/oiml-r91/execution/forms/report-tests/03-28-road-vehicle-battery.prl +40 -0
- package/oiml-r91/execution/forms/report-tests/03-29-transient-supply-lines.prl +47 -0
- package/oiml-r91/execution/forms/report-tests/03-30-transient-other-lines.prl +45 -0
- package/oiml-r91/execution/forms/report-tests/03-31-battery-cranking.prl +45 -0
- package/oiml-r91/execution/forms/report-tests/03-32-load-dump.prl +47 -0
- package/oiml-r91/execution/forms/report-tests/03-33-acceleration.prl +66 -0
- package/oiml-r91/execution/forms/report-tests/03-34-further-influence.prl +60 -0
- package/oiml-r91/execution/forms/report-tests/03-35-installation-alignment.prl +29 -0
- package/oiml-r91/execution/forms/report-tests/04-01-doppler-radar.prl +43 -0
- package/oiml-r91/execution/forms/report-tests/04-02-range-finding.prl +42 -0
- package/oiml-r91/execution/forms/report-tests/04-03-average-speed.prl +41 -0
- package/oiml-r91/execution/forms/report-tests/04-04-fixed-distance.prl +40 -0
- package/oiml-r91/execution/forms/report-tests/04-05-image-based.prl +41 -0
- package/oiml-r91/execution/forms/report-tests/04-06-across-road.prl +42 -0
- package/oiml-r91/execution/forms/report-tests/05-01-moving-field-test.prl +29 -0
- package/oiml-r91/execution/forms/report-tests/05-02-ego-field-test.prl +57 -0
- package/oiml-r91/execution/forms/report-tests/05-03-moving-traffic-simulation.prl +31 -0
- package/oiml-r91/execution/forms/report-tests/06-01-software-general.prl +25 -0
- package/oiml-r91/execution/forms/report-tests/06-02-software-protection.prl +25 -0
- package/oiml-r91/execution/forms/report-tests/06-03-software-hardware-support.prl +24 -0
- package/oiml-r91/execution/forms/report-tests/06-04-software-separation.prl +25 -0
- package/oiml-r91/execution/forms/report-tests/06-05-software-maintenance.prl +24 -0
- package/oiml-r91/execution/forms/report-tests/07-general-remarks.prl +11 -0
- package/oiml-r91/execution/forms/shared/header-a.prl +63 -0
- package/oiml-r91/execution/subforms/software-matrix-row.prl +30 -0
- package/oiml-r91/execution/subforms/speed-measurement-row.prl +38 -0
- package/oiml-r91/layers.prl +46 -0
- package/oiml-r91/model/artifacts.prl +29 -0
- package/oiml-r91/model/attributes.prl +698 -0
- package/oiml-r91/model/behaviors.prl +142 -0
- package/oiml-r91/model/capabilities.prl +88 -0
- package/oiml-r91/model/characteristics.prl +27 -0
- package/oiml-r91/model/conditions.prl +37 -0
- package/oiml-r91/model/instrument.prl +147 -0
- package/oiml-r91/model/state.prl +22 -0
- package/oiml-r91/model/twin.prl +17 -0
- package/oiml-r91/package.primmel +14 -0
- package/oiml-r91/payload/application.yaml +201 -0
- package/oiml-r91/payload/conditions-common-test.yaml +19 -0
- package/oiml-r91/payload/promises.yaml +142 -0
- package/oiml-r91/payload/sample-data.yaml +464 -0
- package/oiml-r91/references.prl +72 -0
- package/oiml-r91/sources-prd/coverage.json +106 -0
- package/oiml-r91/sources-prd/r91-1.sentences.json +4696 -0
- package/oiml-r91/sources-prd/r91-2.sentences.json +2067 -0
- package/oiml-r91/sources-prd/r91-3.sentences.json +5210 -0
- package/oiml-r91/sources-prd/r91-4.sentences.json +474 -0
- package/oiml-r91/specification/calculations.prl +26 -0
- package/oiml-r91/specification/conformance/influence-disturbance.prl +1792 -0
- package/oiml-r91/specification/conformance/metrological.prl +906 -0
- package/oiml-r91/specification/formulas.prl +10 -0
- package/oiml-r91/specification/requirements/class-specific.prl +308 -0
- package/oiml-r91/specification/requirements/metrological.prl +176 -0
- package/oiml-r91/specification/requirements/technical.prl +173 -0
- package/oiml-r91/specification/symbols.prl +323 -0
- package/oiml-r91/specification/tables.prl +136 -0
- package/oiml-r91/terminology.prl +535 -0
- package/oiml-r91/value-types.prl +26 -0
- package/oiml-smart-core/entities/comments.prl +101 -0
- package/oiml-smart-core/entities/cs-operations.prl +492 -0
- package/oiml-smart-core/entities/cs-participants.prl +470 -0
- package/oiml-smart-core/entities/engagement.prl +323 -0
- package/oiml-smart-core/entities/instrument.prl +359 -0
- package/oiml-smart-core/entities/module-b.prl +214 -0
- package/oiml-smart-core/entities/operated-schemes.prl +141 -0
- package/oiml-smart-core/entities/parties.prl +429 -0
- package/oiml-smart-core/entities/payment-records.prl +92 -0
- package/oiml-smart-core/entities/verification.prl +187 -0
- package/oiml-smart-core/entities/workflow.prl +2075 -0
- package/oiml-smart-core/evaluation/roles.prl +65 -0
- package/oiml-smart-core/evaluation/state-machines.prl +1157 -0
- package/oiml-smart-core/package.primmel +10 -0
- package/oiml-smart-core/specification/competence-kinds.prl +64 -0
- package/oiml-smart-core/specification/constraints.prl +40 -0
- package/oiml-smart-core/specification/invariants.prl +90 -0
- package/oiml-smart-core/specification/predicates.prl +116 -0
- package/oiml-smart-module-emc-disturbances/package.primmel +10 -0
- package/oiml-smart-module-env-iec60068/package.primmel +10 -0
- package/oiml-smart-module-examination-docs/package.primmel +10 -0
- package/oiml-smart-module-reference-materials/package.primmel +10 -0
- package/oiml-smart-module-report-headers/package.primmel +10 -0
- package/oiml-smart-module-software-d31/package.primmel +10 -0
- package/oiml-smart-module-specimen-governance/entities/test-execution.prl +228 -0
- package/oiml-smart-module-specimen-governance/package.primmel +10 -0
- package/oiml-twin-cert/documents/tw-1/document.yaml +454 -0
- package/oiml-twin-cert/evaluation/roles.prl +15 -0
- package/oiml-twin-cert/execution/forms/probe-creep.prl +179 -0
- package/oiml-twin-cert/execution/forms/probe.prl +99 -0
- package/oiml-twin-cert/execution/forms/static-conformance.prl +50 -0
- package/oiml-twin-cert/model/attributes.prl +243 -0
- package/oiml-twin-cert/model/behaviors.prl +8 -0
- package/oiml-twin-cert/model/characteristics.prl +18 -0
- package/oiml-twin-cert/model/monitors.prl +16 -0
- package/oiml-twin-cert/package.primmel +16 -0
- package/oiml-twin-cert/specification/conformance/twin-fidelity.prl +176 -0
- package/oiml-twin-cert/specification/requirements/twin-fidelity.prl +137 -0
- package/oiml-twin-cert/specification/symbols.prl +36 -0
- package/oiml-twin-cert/terminology.prl +8 -0
- package/oimlsmart-primmel-packages-0.1.0.tgz +0 -0
- package/package.json +17 -0
- package/qms-ref/model/qms.prl +31 -0
- package/qms-ref/package.primmel +38 -0
- package/quarry-belt-scale/model/ops.prl +115 -0
- package/quarry-belt-scale/package.primmel +36 -0
|
@@ -0,0 +1,478 @@
|
|
|
1
|
+
conformance_class /conf/metrological-tests {
|
|
2
|
+
title "Metrological conformance tests"
|
|
3
|
+
name "Metrological conformance tests for load cells"
|
|
4
|
+
target /req/metrological
|
|
5
|
+
subject "load cell testing"
|
|
6
|
+
description "Test procedures for verifying compliance with the metrological requirements for all load cells, including measurement error, repeatability, temperature effects, creep, dead load output return, barometric pressure, and humidity."
|
|
7
|
+
test_subject {
|
|
8
|
+
entity: "MeasuringInstrument"
|
|
9
|
+
classification_dimensions: "{\"accuracy_class\":[\"A\",\"B\",\"C\",\"D\"],\"technology\":[\"analogue-passive\",\"analogue-active\",\"digital\"],\"humidity_class\":[\"CH\",\"SH\",\"NH\"]}"
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
conformance_test /conf/metrological-tests/measurement-error-repeatability-mdlo {
|
|
14
|
+
name "Determination of measurement error, repeatability error and temperature effect on MDLO"
|
|
15
|
+
purpose "Verify that load cell errors do not exceed the MPE values given in Table 4, that repeatability error does not exceed the absolute value of MPE for that load, and that temperature effect on minimum dead load output does not exceed p_LC times v_min per temperature increment."
|
|
16
|
+
method "Apply increasing and decreasing test loads at four temperatures (20 degC, T_high, T_low, 20 degC return). Record indications at each load point. Classes C/D: 3 identical load applications. Classes A/B: 5 identical load applications. Calculate conversion factor f from 75% load indication. Determine E_L, E_R, and C_M per R 60-3 section 2.1. Compare against MPE from Table 4."
|
|
17
|
+
method_ref load_weight
|
|
18
|
+
type Testing
|
|
19
|
+
kind performance
|
|
20
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.1" }
|
|
21
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.2" }
|
|
22
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.7" }
|
|
23
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.7.1" }
|
|
24
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.8" }
|
|
25
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.8.1" }
|
|
26
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.8.2" }
|
|
27
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.8.3" }
|
|
28
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.8.3.1" }
|
|
29
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.8.3.2" }
|
|
30
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10" }
|
|
31
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.1" }
|
|
32
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.1.1" }
|
|
33
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.1.2" }
|
|
34
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.1.3" }
|
|
35
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.1.4" }
|
|
36
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.1.5" }
|
|
37
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.1.6" }
|
|
38
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.1.7" }
|
|
39
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.1.8" }
|
|
40
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.1.9" }
|
|
41
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.1.10" }
|
|
42
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.1.11" }
|
|
43
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.1.12" }
|
|
44
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.1.13" }
|
|
45
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.1.14" }
|
|
46
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.1.15" }
|
|
47
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.1.16" }
|
|
48
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.11" }
|
|
49
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.11.1" }
|
|
50
|
+
targets { /req/metrological/mpe /req/metrological/repeatability /req/metrological/temperature-effect-mdlo /req/metrological/temperature-limits /req/metrological/special-temperature-limits }
|
|
51
|
+
binds_to { group.parameters.mpe group.classification.accuracy_class family.parameters.p_lc group.parameters.v_min family.parameters.t_min family.parameters.t_max }
|
|
52
|
+
required_competence {
|
|
53
|
+
competence force_measurement {
|
|
54
|
+
range { max "e_max" unit "kg" }
|
|
55
|
+
description "Force-generating system applying test loads over the measuring range (R 60-2, 2.7.2), mass standards traceable per 2.7.3.2"
|
|
56
|
+
}
|
|
57
|
+
competence temperature_control {
|
|
58
|
+
range { min "t_min" max "t_max" unit "degC" }
|
|
59
|
+
stability { value 2 unit "degC" }
|
|
60
|
+
description "Climatic chamber conditioning at 20 degC, T_high, T_low and return (R 60-2, 2.10.1), stable within one fifth of the cell's range, never more than 2 degC (R 60-2, 2.7.3.1)"
|
|
61
|
+
}
|
|
62
|
+
competence indication_readout {
|
|
63
|
+
description "Indicating instrument reading the cell output at every load point and temperature (R 60-2, 2.7.2)"
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
variables {
|
|
67
|
+
variable n { type integer source derived derivation "ocl{(e_max - e_min) / v_min}" description "Verification intervals of the measuring range under test (= Y when the test spans the classified range, R 60-3, 2.1.2.4)" }
|
|
68
|
+
variable conversion_factor_f { type number unit "counts/v" source derived derivation "ocl{(avgIndicationAt75pct - indicationAtDmin) / (0.75 * n)}" description "Conversion factor from counts to verification units" }
|
|
69
|
+
variable e_l { type number unit "v" source derived derivation "ocl{(avg_indication - reference_indication) / conversion_factor_f}" description "Load cell error in verification units" }
|
|
70
|
+
variable e_r { type number unit "v" source derived derivation "ocl{(max(runs->collect(r | r.indication)) - min(runs->collect(r | r.indication))) / conversion_factor_f}" description "Repeatability error across runs" }
|
|
71
|
+
variable mpe { type number unit "v" source computed derivation "ocl{lookupMPE(test_load, accuracy_class, p_lc)}" description "Maximum permissible error at this load" }
|
|
72
|
+
variable c_m { type number unit "v" source derived description "Raw temperature effect on MDLO of one temperature step, in v (BEFORE the T_f/(T_2−T_1) normalization and the v→v_min conversion — those live exactly once in the mdlo_normalized VerdictQuantity, R 60-3, 2.1.4)" }
|
|
73
|
+
}
|
|
74
|
+
conditions_to_enforce { load-cell-rated-conditions }
|
|
75
|
+
preconditions {
|
|
76
|
+
precondition temperature-stability { check "ocl{temperature_variation <= min(2, 0.2 * (family.parameters.t_max - family.parameters.t_min))}" description "Ambient temperature stability (R 60-2, 2.7.3.1): the difference between extreme temperatures noted during the test shall not exceed one fifth of the load cell's temperature range (t_max − t_min), and never 2 °C. A run recorded under unstable temperature is INVALID — not a fail." }
|
|
77
|
+
}
|
|
78
|
+
procedure {
|
|
79
|
+
1 "Determine conversion factor f from 75% load indication" inputs { conversion_factor_f } outputs { conversion_factor_f }
|
|
80
|
+
2 "Apply test loads at 20°C reference temperature" outputs { e_l e_r mpe }
|
|
81
|
+
3 "Apply test loads at T_high" outputs { e_l e_r mpe }
|
|
82
|
+
4 "Apply test loads at T_low" outputs { e_l e_r mpe }
|
|
83
|
+
5 "Apply test loads at 20°C return; calculate MDLO changes" outputs { e_l e_r mpe c_m }
|
|
84
|
+
}
|
|
85
|
+
procedure_steps { check_test_conditions insert_load_cell preload_load_cell check_indicating_instrument monitor_load_cell record_initial_indication apply_test_load_points apply_increasing_loads record_indications_increasing decrease_test_loads record_indications_decreasing repeat_per_accuracy_class repeat_per_temperature determine_measurement_error determine_repeatability_error determine_temperature_effect_mdlo }
|
|
86
|
+
instances {
|
|
87
|
+
by accuracy_class
|
|
88
|
+
values {
|
|
89
|
+
A { n_runs: 5 }
|
|
90
|
+
B { n_runs: 5 }
|
|
91
|
+
C { n_runs: 3 }
|
|
92
|
+
D { n_runs: 3 }
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
design {
|
|
96
|
+
specimens {
|
|
97
|
+
count 1
|
|
98
|
+
continuity same_eut
|
|
99
|
+
rules { unit-continuity }
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
acceptance_criteria {
|
|
103
|
+
type composite
|
|
104
|
+
pass_if "ocl{mpe_criterion and repeatability_criterion and mdlo_criterion}"
|
|
105
|
+
criterion mpe_criterion { target /req/metrological/mpe pass_if "ocl{abs(e_l) <= abs(mpe)}" description "|E_L| ≤ |MPE|" }
|
|
106
|
+
criterion repeatability_criterion { target /req/metrological/repeatability pass_if "ocl{abs(e_r) <= abs(mpe)}" description "|E_R| ≤ |MPE|" }
|
|
107
|
+
criterion mdlo_criterion { target /req/metrological/temperature-effect-mdlo description "C_M(v_min) ≤ p_LC per temperature increment (canonical verdict — never restated here; audit F1)" accepts { verdict mdlo_normalized op lte limit "ocl{p_lc}" } }
|
|
108
|
+
}
|
|
109
|
+
result_forms { load-cell-errors load-test repeatability temperature-mdlo }
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
conformance_test /conf/metrological-tests/creep {
|
|
113
|
+
name "Determination of creep error"
|
|
114
|
+
purpose "Verify that creep over 30 minutes does not exceed 0.7 times the absolute value of MPE, and that the difference between 20 and 30 minute readings does not exceed 0.15 times the absolute value of MPE."
|
|
115
|
+
method "Apply D_max (90-100% of E_max) and hold for 30 minutes. Record indications at specified intervals. Calculate C_C per R 60-3, 2.1.5. Always use p_LC = 0.7 for MPE calculation. Repeat at each test temperature."
|
|
116
|
+
type Testing
|
|
117
|
+
kind performance
|
|
118
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.2" }
|
|
119
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.9" }
|
|
120
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.9.1" }
|
|
121
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.2" }
|
|
122
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.2.1" }
|
|
123
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.2.2" }
|
|
124
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.2.3" }
|
|
125
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.2.4" }
|
|
126
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.2.5" }
|
|
127
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.2.6" }
|
|
128
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.2.7" }
|
|
129
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.2.8" }
|
|
130
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.2.9" }
|
|
131
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.2.10" }
|
|
132
|
+
targets { /req/metrological/creep /req/metrological/creep-20-30 }
|
|
133
|
+
binds_to { group.parameters.mpe model.parameters.e_max sample.test_context.d_max }
|
|
134
|
+
required_competence {
|
|
135
|
+
competence force_measurement {
|
|
136
|
+
range { max "e_max" unit "kg" }
|
|
137
|
+
description "Force-generating system holding D_max (90–100% of E_max) constant for 30 minutes per run (R 60-2, 2.10.2)"
|
|
138
|
+
}
|
|
139
|
+
competence temperature_control {
|
|
140
|
+
range { min "t_min" max "t_max" unit "degC" }
|
|
141
|
+
stability { value 2 unit "degC" }
|
|
142
|
+
description "Climatic chamber conditioning at each test temperature (R 60-2, 2.10.2), stable per R 60-2, 2.7.3.1"
|
|
143
|
+
}
|
|
144
|
+
competence indication_readout {
|
|
145
|
+
description "Indicating instrument recording the output at the timed reading points (R 60-2, 2.7.2)"
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
variables {
|
|
149
|
+
variable d_max { type number unit "g, kg, or t" source declared description "Maximum test load, 90-100% of E_max" }
|
|
150
|
+
variable conversion_factor_f { type number unit "counts/v" source derived derivation "ocl{(avgIndicationAt75pct - indicationAtDmin) / (0.75 * n)}" description "Conversion factor from counts to verification units" }
|
|
151
|
+
variable initial_dmax_indication { type number unit "counts" source measured description "Initial indication at D_max at time t=0" }
|
|
152
|
+
variable creep_readings { type collection source measured description "Time-series creep readings at D_max" }
|
|
153
|
+
variable c_c { type number unit "v" source derived derivation "ocl{creep_readings->collect(r | r.change_v)->max()}" description "Maximum creep change across all readings" }
|
|
154
|
+
variable creep_30min { type number unit "v" source derived derivation "ocl{reading_at(window(creep_readings->select(r | r.test_load = 'D_max'), 'elapsed_min', 20, 30), 'elapsed_min', 30, 'change_v')}" description "Creep change at 30 minutes (reading at t=30, per R 60-3, 2.1.5.2)" }
|
|
155
|
+
variable creep_20min { type number unit "v" source derived derivation "ocl{reading_at(window(creep_readings->select(r | r.test_load = 'D_max'), 'elapsed_min', 20, 30), 'elapsed_min', 20, 'change_v')}" description "Creep change at 20 minutes (reading at t=20, per R 60-3, 2.1.5.2)" }
|
|
156
|
+
variable mpe_at_dmax { type number unit "v" source computed derivation "ocl{lookupMPE(d_max, accuracy_class, 0.7)}" description "MPE at D_max with p_LC forced to 0.7" }
|
|
157
|
+
}
|
|
158
|
+
conditions_to_enforce { load-cell-rated-conditions }
|
|
159
|
+
preconditions {
|
|
160
|
+
precondition temperature-stability { check "ocl{temperature_variation <= min(2, 0.2 * (family.parameters.t_max - family.parameters.t_min))}" description "Ambient temperature stability (R 60-2, 2.7.3.1): the difference between extreme temperatures noted during the test shall not exceed one fifth of the load cell's temperature range (t_max − t_min), and never 2 °C. A creep run recorded under unstable temperature is INVALID — not a fail." }
|
|
161
|
+
precondition creep-load-envelope { check "ocl{sample.test_context.d_max >= 0.9 * model.parameters.e_max and sample.test_context.d_max <= model.parameters.e_max}" description "Load envelope (R 60-2, 2.10.2): the creep test applies 90–100 % of E_max (D_max). A run outside the load envelope is INVALID — not a fail. (Moved out of the requirement's inline limit expression with the characteristics migration, TODO.roadmap/10 — run-validity, not acceptance.) The envelope inputs (D_max, E_max) MUST be recorded for a creep run: when they are unresolvable the creep verdicts are INDETERMINATE — the unbound-reads discipline of the former inline conjunct, never a silent skip." on_unresolvable indeterminate }
|
|
162
|
+
}
|
|
163
|
+
procedure {
|
|
164
|
+
1 "Record initial indication at D_min"
|
|
165
|
+
2 "Apply D_max load" inputs { d_max }
|
|
166
|
+
3 "Record initial indication at D_max (t=0)" outputs { initial_dmax_indication }
|
|
167
|
+
4 "Hold D_max for 30 minutes, recording at intervals" outputs { creep_readings c_c creep_30min creep_20min }
|
|
168
|
+
5 "Remove load, return to D_min"
|
|
169
|
+
}
|
|
170
|
+
procedure_steps { check_test_conditions insert_load_cell preload_load_cell check_indicating_instrument monitor_load_cell record_initial_indication apply_load_dmax record_indications_30min repeat_per_temperature determine_creep_error }
|
|
171
|
+
design {
|
|
172
|
+
schedule {
|
|
173
|
+
duration PT30M
|
|
174
|
+
constraints {
|
|
175
|
+
"apply D_max (90-100 % of E_max) and hold for 30 minutes"
|
|
176
|
+
"record indications at specified intervals incl. t=20 and t=30 min"
|
|
177
|
+
"repeat at each test temperature"
|
|
178
|
+
"loading/stabilisation times per R 60-2, Table 1"
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
specimens {
|
|
182
|
+
count 1
|
|
183
|
+
continuity same_eut
|
|
184
|
+
rules { unit-continuity }
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
acceptance_criteria {
|
|
188
|
+
type composite
|
|
189
|
+
pass_if "ocl{creep_30min_criterion and creep_20_30_criterion}"
|
|
190
|
+
criterion creep_30min_criterion { target /req/metrological/creep description "C_C ≤ 0.7 × |MPE| at D_max (canonical characteristic — never restated here; the run's mpe_at_dmax computes the same MPE)" accepts { verdict creep op lte limit "ocl{0.7 * abs(lookupMPE(sample.test_context.d_max, group.classification.accuracy_class, 0.7))}" } }
|
|
191
|
+
criterion creep_20_30_criterion { target /req/metrological/creep-20-30 pass_if "ocl{abs(creep_30min - creep_20min) <= 0.15 * abs(mpe_at_dmax)}" description "|C_C(30-20)| ≤ 0.15 × |MPE|" }
|
|
192
|
+
}
|
|
193
|
+
result_forms { creep-dr }
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
conformance_test /conf/metrological-tests/dr {
|
|
197
|
+
name "Determination of minimum dead load output return (DR)"
|
|
198
|
+
purpose "Verify that the difference between the initial minimum load output reading and the reading after the creep test does not exceed 0.5 v."
|
|
199
|
+
method "Record indication at D_min before applying D_max. Apply D_max and hold for 30 minutes. Return to D_min and record indication. Calculate C_DR per R 60-3, 2.1.5. Compare against 0.5 v limit. Repeat at each test temperature."
|
|
200
|
+
type Testing
|
|
201
|
+
kind performance
|
|
202
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.3" }
|
|
203
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.9.2" }
|
|
204
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.3" }
|
|
205
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.3.1" }
|
|
206
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.3.2" }
|
|
207
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.3.3" }
|
|
208
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.3.4" }
|
|
209
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.3.5" }
|
|
210
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.3.6" }
|
|
211
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.3.7" }
|
|
212
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.3.8" }
|
|
213
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.3.9" }
|
|
214
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.3.10" }
|
|
215
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.3.11" }
|
|
216
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.3.12" }
|
|
217
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.11.2" }
|
|
218
|
+
targets { /req/metrological/dr }
|
|
219
|
+
binds_to { group.parameters.dr sample.test_context.v }
|
|
220
|
+
required_competence {
|
|
221
|
+
competence force_measurement {
|
|
222
|
+
range { max "e_max" unit "kg" }
|
|
223
|
+
description "Force-generating system applying and removing the test load for the output-return reading (R 60-2, 2.10.3)"
|
|
224
|
+
}
|
|
225
|
+
competence indication_readout {
|
|
226
|
+
description "Indicating instrument recording the dead load output before and after load application (R 60-2, 2.7.2)"
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
variables {
|
|
230
|
+
variable initial_dmin_indication { type number unit "counts" source measured description "Indication at D_min before creep test" }
|
|
231
|
+
variable final_dmin_indication { type number unit "counts" source measured description "Indication at D_min after creep test" }
|
|
232
|
+
variable conversion_factor_f { type number unit "counts/v" source derived derivation "ocl{(avgIndicationAt75pct - indicationAtDmin) / (0.75 * n)}" }
|
|
233
|
+
variable c_dr { type number unit "v" source derived derivation "ocl{(final_dmin_indication - initial_dmin_indication) / conversion_factor_f}" description "Dead load output return in verification units" }
|
|
234
|
+
variable actual_time_s { type number unit "s" source measured description "Actual loading/unloading time achieved (R 60-2, 2.8.3)" }
|
|
235
|
+
variable specified_time_s { type number unit "s" source declared description "Specified loading/unloading time per R 60-2, Table 1" }
|
|
236
|
+
variable x { type number unit "1" source derived derivation "ocl{actual_time_s / specified_time_s}" description "Ratio of actual to specified loading time (R 60-3, 2.1.5.6)" }
|
|
237
|
+
}
|
|
238
|
+
conditions_to_enforce { load-cell-rated-conditions }
|
|
239
|
+
preconditions {
|
|
240
|
+
precondition temperature-stability { check "ocl{temperature_variation <= min(2, 0.2 * (family.parameters.t_max - family.parameters.t_min))}" description "Ambient temperature stability (R 60-2, 2.7.3.1): the difference between extreme temperatures noted during the test shall not exceed one fifth of the load cell's temperature range (t_max − t_min), and never 2 °C. A run recorded under unstable temperature is INVALID — not a fail." }
|
|
241
|
+
precondition loading-time-limit { check "ocl{x <= 1.5}" description "Loading-time ceiling (R 60-2, 2.8.3): for the minimum dead load output return test the time may be increased from 100 % to a limit of 150 % of the specified time — beyond 150 % the run is INVALID (the relaxed limit no longer applies), never a fail." }
|
|
242
|
+
}
|
|
243
|
+
procedure {
|
|
244
|
+
1 "Record initial indication at D_min" outputs { initial_dmin_indication }
|
|
245
|
+
2 "Apply D_max, hold for 30 minutes, remove load" inputs { actual_time_s specified_time_s }
|
|
246
|
+
3 "Record final indication at D_min" outputs { final_dmin_indication }
|
|
247
|
+
4 "Calculate DR and evaluate against 0.5 v (relaxed per R 60-3, 2.1.5.6 when 100-150 % of the specified time)" outputs { c_dr x }
|
|
248
|
+
}
|
|
249
|
+
procedure_steps { check_test_conditions insert_load_cell preload_load_cell check_indicating_instrument monitor_load_cell record_initial_dmin_indication apply_load_dmax hold_30min return_to_dmin record_final_dmin_indication repeat_per_temperature determine_dr_value }
|
|
250
|
+
design {
|
|
251
|
+
specimens {
|
|
252
|
+
count 1
|
|
253
|
+
continuity same_eut
|
|
254
|
+
rules { unit-continuity }
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
acceptance_criteria {
|
|
258
|
+
type composite
|
|
259
|
+
pass_if "ocl{dr_criterion}"
|
|
260
|
+
criterion dr_criterion { target /req/metrological/dr pass_if "ocl{if x <= 1 then abs(c_dr) <= 0.5 else abs(c_dr) <= 0.5 * (1 - (x - 1)) endif}" description "|C_DR| ≤ 0.5 v when the R 60-2, Table 1 time intervals are met; ≤ 0.5(1−(x−1)) v for 100–150 % loading times (x = actual/specified time, R 60-3, 2.1.5.6)" }
|
|
261
|
+
}
|
|
262
|
+
result_forms { creep-dr }
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
conformance_test /conf/metrological-tests/barometric-pressure {
|
|
266
|
+
name "Determination of barometric pressure effects"
|
|
267
|
+
purpose "Verify that the output variation does not exceed v_min for any incremental change in barometric pressure of 1 kPa."
|
|
268
|
+
method "At room temperature with unloaded load cell, record indication at atmospheric pressure. Change pressure by at least 1 kPa and record indication. Calculate C_P per R 60-3, 2.1.6. Compare against v_min limit."
|
|
269
|
+
type Testing
|
|
270
|
+
kind influence
|
|
271
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.4" }
|
|
272
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.4" }
|
|
273
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.4.1" }
|
|
274
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.4.2" }
|
|
275
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.4.3" }
|
|
276
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.4.4" }
|
|
277
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.4.5" }
|
|
278
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.4.6" }
|
|
279
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.4.7" }
|
|
280
|
+
targets { /req/metrological/barometric-pressure }
|
|
281
|
+
binds_to { group.parameters.v_min }
|
|
282
|
+
required_competence {
|
|
283
|
+
competence pressure_control {
|
|
284
|
+
description "Barometric pressure variation for the determination of atmospheric pressure effects (R 60-2, 2.10.4; R 60-1, 5.6.2)"
|
|
285
|
+
}
|
|
286
|
+
competence force_measurement {
|
|
287
|
+
range { max "e_max" unit "kg" }
|
|
288
|
+
description "Force-generating system applying the reference load at each pressure step (R 60-2, 2.7.2)"
|
|
289
|
+
}
|
|
290
|
+
competence indication_readout {
|
|
291
|
+
description "Indicating instrument recording the output at each pressure step (R 60-2, 2.7.2)"
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
variables {
|
|
295
|
+
variable conversion_factor_f { type number unit "counts/v" source derived }
|
|
296
|
+
variable pressure_readings { type collection source measured description "Indications at different barometric pressures" }
|
|
297
|
+
variable c_p { type number unit "v" source derived description "Raw pressure-step change in v (R 60-3, 2.1.6: difference of indications divided by f)" }
|
|
298
|
+
variable delta_p { type number unit "kPa" source measured description "Pressure step (P_2 − P_1) of the reading pair, kPa" }
|
|
299
|
+
}
|
|
300
|
+
conditions_to_enforce { load-cell-rated-conditions }
|
|
301
|
+
procedure {
|
|
302
|
+
1 "Record indication at current atmospheric pressure" outputs { pressure_readings }
|
|
303
|
+
2 "Change pressure by at least 1 kPa and record indication" outputs { pressure_readings }
|
|
304
|
+
3 "Calculate pressure effect C_P per kPa in v_min units (R 60-3, 2.1.6) and evaluate against v_min" outputs { c_p delta_p }
|
|
305
|
+
}
|
|
306
|
+
procedure_steps { check_test_conditions insert_load_cell check_indicating_instrument monitor_load_cell record_reference_indication change_barometric_pressure record_indications_per_pressure determine_barometric_pressure_error }
|
|
307
|
+
design {
|
|
308
|
+
specimens {
|
|
309
|
+
count 1
|
|
310
|
+
continuity same_eut
|
|
311
|
+
rules { unit-continuity }
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
acceptance_criteria {
|
|
315
|
+
type composite
|
|
316
|
+
pass_if "ocl{barometric_criterion}"
|
|
317
|
+
criterion barometric_criterion { target /req/metrological/barometric-pressure description "C_P(v_min) per kPa ≤ 1 v_min (canonical verdict — R 60-3, 2.1.6 full normalization incl. the ×(E_max−E_min)/n_LC step; audit F2)" accepts { verdict barometric_normalized op lte limit "ocl{1}" } }
|
|
318
|
+
}
|
|
319
|
+
result_forms { barometric-pressure }
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
conformance_test /conf/metrological-tests/humidity-ch {
|
|
323
|
+
name "Determination of humidity effects for CH or unmarked load cells"
|
|
324
|
+
purpose "Verify that cyclic humidity exposure does not cause the minimum load output to vary by more than 4% of (E_max - E_min), and the maximum load output to vary by more than v."
|
|
325
|
+
method "Perform load tests before and after exposure to cyclic humidity (12 cycles of 24h each, RH 80-96%, temp 25-40 degC). Record indications at D_min and D_max before and after. Calculate C_Hmin and C_Hmax per R 60-3, 2.1.7. Classes C/D: 3 runs. Classes A/B: 5 runs."
|
|
326
|
+
type Testing
|
|
327
|
+
kind influence
|
|
328
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.5" }
|
|
329
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.5" }
|
|
330
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.5.1" }
|
|
331
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.5.2" }
|
|
332
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.5.3" }
|
|
333
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.5.4" }
|
|
334
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.5.5" }
|
|
335
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.5.6" }
|
|
336
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.5.7" }
|
|
337
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.5.8" }
|
|
338
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.5.9" }
|
|
339
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.5.10" }
|
|
340
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.5.11" }
|
|
341
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.5.12" }
|
|
342
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.5.12/table-1" }
|
|
343
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.5.13" }
|
|
344
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.5.14" }
|
|
345
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.5.15" }
|
|
346
|
+
targets { /req/metrological/humidity-ch }
|
|
347
|
+
binds_to { group.parameters.n_lc sample.test_context.v family.classification.humidity_class }
|
|
348
|
+
applicability {
|
|
349
|
+
humidity_class: [CH]
|
|
350
|
+
}
|
|
351
|
+
required_competence {
|
|
352
|
+
competence humidity_testing {
|
|
353
|
+
method_standard "iec-60068-2-30"
|
|
354
|
+
description "Cyclic damp heat exposure, variant 2 when lowering the temperature (R 60-2, 2.10.5, applying IEC 60068-2-30)"
|
|
355
|
+
}
|
|
356
|
+
competence force_measurement {
|
|
357
|
+
range { max "e_max" unit "kg" }
|
|
358
|
+
description "Force-generating system applying the reference load before/during/after exposure (R 60-2, 2.7.2)"
|
|
359
|
+
}
|
|
360
|
+
competence indication_readout {
|
|
361
|
+
description "Indicating instrument recording the output around the exposure (R 60-2, 2.7.2)"
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
variables {
|
|
365
|
+
variable n { type integer source derived derivation "ocl{(e_max - e_min) / v_min}" description "Verification intervals of the measuring range under test (= Y when the test spans the classified range, R 60-3, 2.1.2.4)" }
|
|
366
|
+
variable conversion_factor_f { type number unit "counts/v" source derived }
|
|
367
|
+
variable avg_indication_dmin_before { type number unit "counts" source measured description "Average D_min indication before humidity exposure" }
|
|
368
|
+
variable avg_dmax_before { type number unit "counts" source measured description "Average D_max indication before humidity exposure" }
|
|
369
|
+
variable avg_dmin_before { type number unit "counts" source measured description "Average D_min indication before humidity exposure (span baseline)" }
|
|
370
|
+
variable avg_indication_dmin_after { type number unit "counts" source measured description "Average D_min indication after humidity exposure" }
|
|
371
|
+
variable avg_dmax_after { type number unit "counts" source measured description "Average D_max indication after humidity exposure" }
|
|
372
|
+
variable avg_dmin_after { type number unit "counts" source measured description "Average D_min indication after humidity exposure (span baseline)" }
|
|
373
|
+
variable c_hmin { type number unit "v" source derived derivation "ocl{(avg_indication_dmin_after - avg_indication_dmin_before) / conversion_factor_f}" }
|
|
374
|
+
variable c_hmax { type number unit "v" source derived derivation "ocl{((avg_dmax_after - avg_dmin_after) - (avg_dmax_before - avg_dmin_before)) / conversion_factor_f}" }
|
|
375
|
+
variable chmin_limit { type number unit "v" source derived derivation "ocl{0.04 * n}" description "4 % of the (E_max − E_min) output = 0.04·n in v units (R 60-1, 5.6.3; n = intervals of the range under test per R 60-3, 2.1.7)" }
|
|
376
|
+
}
|
|
377
|
+
conditions_to_enforce { load-cell-rated-conditions }
|
|
378
|
+
procedure {
|
|
379
|
+
1 "Perform load tests before humidity exposure (baseline)" outputs { avg_indication_dmin_before avg_dmax_before avg_dmin_before }
|
|
380
|
+
2 "Subject to cyclic humidity (12 cycles, 24h each, RH 80-96%, 25-40°C)"
|
|
381
|
+
3 "Perform load tests after humidity exposure" outputs { avg_indication_dmin_after avg_dmax_after avg_dmin_after }
|
|
382
|
+
4 "Calculate humidity effects and evaluate" outputs { c_hmin c_hmax chmin_limit }
|
|
383
|
+
}
|
|
384
|
+
procedure_steps { check_test_conditions insert_load_cell preload_load_cell check_indicating_instrument monitor_load_cell record_initial_indication apply_load_test_points record_indications_pre_humidity remove_load conduct_damp_heat_cyclic_test_ch remove_load_cell_from_chamber repeat_test_procedures determine_humidity_induced_variations }
|
|
385
|
+
instances {
|
|
386
|
+
by accuracy_class
|
|
387
|
+
values {
|
|
388
|
+
A { n_runs: 5 }
|
|
389
|
+
B { n_runs: 5 }
|
|
390
|
+
C { n_runs: 3 }
|
|
391
|
+
D { n_runs: 3 }
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
design {
|
|
395
|
+
specimens {
|
|
396
|
+
count 1
|
|
397
|
+
continuity same_eut
|
|
398
|
+
rules { unit-continuity }
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
acceptance_criteria {
|
|
402
|
+
type composite
|
|
403
|
+
pass_if "ocl{chmin_criterion and chmax_criterion}"
|
|
404
|
+
criterion chmin_criterion { target /req/metrological/humidity-ch pass_if "ocl{abs(c_hmin) <= chmin_limit}" description "|C_Hmin| ≤ 4 % of the (E_max − E_min) output = 0.04·n v (R 60-1, 5.6.3)" }
|
|
405
|
+
criterion chmax_criterion { target /req/metrological/humidity-ch pass_if "ocl{abs(c_hmax) <= 1}" description "|C_Hmax| ≤ 1 v (R 60-1, 5.6.3; R 60-3, 2.1.7 states ≤ MPE — source discrepancy annotated, model follows the normative Part 1)" source_discrepancy { summary "R 60-3, 2.1.7 prose states the max-load humidity effect limit as ≤ MPE, contradicting R 60-1, 5.6.3.1 (≤ 1 v — confirmed by R 60-3's own Table 6.10.1-a mpc column = 1)" sources { "urn:oiml:pub:r:60-1:2021#clause-5.6.3.1" "urn:oiml:pub:r:60-3:2021#clause-2.1.7" } resolution follows_clause_x rationale "The model follows R 60-1, 5.6.3.1 — the normative requirement clause (max-load effect shall not exceed the verification interval v) — which R 60-3's own Table 6.10.1-a mpc column (= 1) confirms; only R 60-3, 2.1.7 prose states ≤ MPE. The requirement and form layers carry the same annotation. See analysis/deep-audit-r60.md F5." } }
|
|
406
|
+
}
|
|
407
|
+
result_forms { humidity-ch }
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
conformance_test /conf/metrological-tests/humidity-sh {
|
|
411
|
+
name "Determination of humidity effects for SH marked load cells"
|
|
412
|
+
purpose "Verify that steady-state humidity exposure does not cause errors exceeding the MPE values in Table 4."
|
|
413
|
+
method "Perform load tests at 85% RH constant humidity and the high temperature of the range specified in R 60-1, 5.6.1 for 48 hours (following temperature and humidity stabilisation). Reference condition: 20 °C at 50 % RH — or the MEAN VALUE of the temperature range whenever 20 °C is outside that range (R 60-2, 2.10.6). No condensation on the load cell. Determine load cell errors per R 60-3, 2.1.8. Compare against MPE from Table 4."
|
|
414
|
+
type Testing
|
|
415
|
+
kind influence
|
|
416
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.6" }
|
|
417
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.6" }
|
|
418
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.6.1" }
|
|
419
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.6.2" }
|
|
420
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.6.3" }
|
|
421
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.6.4" }
|
|
422
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.6.5" }
|
|
423
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.6.6" }
|
|
424
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.6.7" }
|
|
425
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.6.8" }
|
|
426
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.6.9" }
|
|
427
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.6.10" }
|
|
428
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.6.11" }
|
|
429
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.6.11/table-1" }
|
|
430
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.6.12" }
|
|
431
|
+
reference { doc "urn:oiml:pub:r:60-2:2021" clause "2.10.6.13" }
|
|
432
|
+
targets { /req/metrological/humidity-sh }
|
|
433
|
+
binds_to { group.parameters.mpe family.classification.humidity_class }
|
|
434
|
+
applicability {
|
|
435
|
+
humidity_class: [SH]
|
|
436
|
+
}
|
|
437
|
+
required_competence {
|
|
438
|
+
competence humidity_testing {
|
|
439
|
+
method_standard "iec-60068-2-78"
|
|
440
|
+
description "Steady-state damp heat exposure (R 60-2, 2.10.6, applying IEC 60068-2-78)"
|
|
441
|
+
}
|
|
442
|
+
competence force_measurement {
|
|
443
|
+
range { max "e_max" unit "kg" }
|
|
444
|
+
description "Force-generating system applying the reference load before/during/after exposure (R 60-2, 2.7.2)"
|
|
445
|
+
}
|
|
446
|
+
competence indication_readout {
|
|
447
|
+
description "Indicating instrument recording the output around the exposure (R 60-2, 2.7.2)"
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
variables {
|
|
451
|
+
variable conversion_factor_f { type number unit "counts/v" source derived }
|
|
452
|
+
variable reference_indication { type number unit "counts" source measured description "Reference indication at baseline (20°C, 50% RH)" }
|
|
453
|
+
variable e_l { type number unit "v" source derived derivation "ocl{(indication - reference_indication) / conversion_factor_f}" }
|
|
454
|
+
variable mpe { type number unit "v" source computed derivation "ocl{lookupMPE(test_load, accuracy_class, p_lc)}" }
|
|
455
|
+
}
|
|
456
|
+
conditions_to_enforce { load-cell-rated-conditions }
|
|
457
|
+
procedure {
|
|
458
|
+
1 "Perform load tests at 20°C, 50% RH (baseline)" outputs { reference_indication e_l mpe }
|
|
459
|
+
2 "Expose to 85% RH constant for 48 hours at constant temperature"
|
|
460
|
+
3 "Perform load tests at 85% RH" outputs { e_l mpe }
|
|
461
|
+
4 "Perform load tests at 20°C return" outputs { e_l mpe }
|
|
462
|
+
}
|
|
463
|
+
procedure_steps { check_test_conditions insert_load_cell preload_load_cell check_indicating_instrument monitor_load_cell record_initial_indication apply_load_test_points record_indications_pre_humidity decrease_load conduct_damp_heat_steady_state_sh recording_indications_during_humidity determine_humidity_induced_variations }
|
|
464
|
+
design {
|
|
465
|
+
specimens {
|
|
466
|
+
count 1
|
|
467
|
+
continuity same_eut
|
|
468
|
+
rules { unit-continuity }
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
acceptance_criteria {
|
|
472
|
+
type composite
|
|
473
|
+
pass_if "ocl{humidity_sh_criterion}"
|
|
474
|
+
criterion humidity_sh_criterion { target /req/metrological/humidity-sh pass_if "ocl{abs(e_l) <= abs(mpe)}" description "|E_L| ≤ |MPE| at 85% RH" }
|
|
475
|
+
}
|
|
476
|
+
result_forms { humidity-sh }
|
|
477
|
+
}
|
|
478
|
+
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
constraint completion_fees_settled {
|
|
2
|
+
stereotype inv
|
|
3
|
+
name "Completion — the fees settled"
|
|
4
|
+
check "ocl{fees->forAll(f | f.status = 'MARKED_PAID')}"
|
|
5
|
+
violation_meaning "An unpaid fee stands against the project: a payment record (the certificate's registration fee, PD-05 §6.2, or an IA-TL arrangement record, TODO.adoption/09) is not MARKED_PAID. The payer owes the settlement and its recording before the project can complete."
|
|
6
|
+
on_violation invalid
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
constraint completion_custody_closed {
|
|
10
|
+
stereotype inv
|
|
11
|
+
name "Completion — the samples' custody closed"
|
|
12
|
+
check "ocl{samples->forAll(s | s.status = 'RETURNED' or s.status = 'RETAINED' or s.status = 'DESTROYED' or s.status = 'DISPOSED')}"
|
|
13
|
+
violation_meaning "A sample's custody is still open: every sample of the project must reach a terminal custody state (RETURNED to the manufacturer, RETAINED, DESTROYED or DISPOSED — the measuring_instrument_sample machine's terminal marks) before the project can complete. The IA owes the custody-closing act."
|
|
14
|
+
on_violation invalid
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
constraint completion_threads_resolved {
|
|
18
|
+
stereotype inv
|
|
19
|
+
name "Completion — the review threads resolved"
|
|
20
|
+
check "ocl{threads->forAll(t | t.status = 'RESOLVED')}"
|
|
21
|
+
violation_meaning "A review thread is still OPEN on one of the project's reports: the review period's threads (entities/comments.prl) resolve before the finalization completes — the same consultation_resolved doctrine the report machines' decision hops declare. The thread's parties owe the resolution."
|
|
22
|
+
on_violation invalid
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
constraint completion_reports_finalized {
|
|
26
|
+
stereotype inv
|
|
27
|
+
name "Completion — the reports finalized"
|
|
28
|
+
check "ocl{evaluation_reports->exists(r | r.status = 'APPROVED' or r.status = 'REJECTED' or r.status = 'CONDITIONALLY_APPROVED')}"
|
|
29
|
+
violation_meaning "The project's evaluation report is not finalized: the evaluation_report machine has reached no terminal decision (APPROVED, REJECTED or CONDITIONALLY_APPROVED). The IA's evaluator owes the decision."
|
|
30
|
+
on_violation invalid
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
constraint completion_certificate_registered {
|
|
34
|
+
stereotype inv
|
|
35
|
+
name "Completion — the certificate issued and registered"
|
|
36
|
+
check "ocl{certificates->exists(c | c.status = 'ACTIVE')}"
|
|
37
|
+
violation_meaning "No certificate stands issued and registered for the project: the certificate machine's ACTIVE state — the registration published (PD-05 §6; the register's auto-publish doctrine) — is the completion's certificate leg. The IA owes the issuance and the register the publication."
|
|
38
|
+
on_violation invalid
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
constraint dead_load_max_geometry {
|
|
42
|
+
stereotype inv
|
|
43
|
+
name "Dead-load maximum geometry"
|
|
44
|
+
check "ocl{model.parameters.d_max >= 0.9 * model.parameters.e_max and model.parameters.d_max <= model.parameters.e_max}"
|
|
45
|
+
violation_meaning "The declared maximum test load D_max lies outside [0.9·E_max, E_max] — the test setup does not realize the upper end of the measuring range (R 60-2, 2.7.3.4: D_max shall be not less than 90 % of E_max, nor greater than E_max), so the type evaluation of this load cell is void."
|
|
46
|
+
on_violation invalid
|
|
47
|
+
ref derives-from "urn:oiml:pub:r:60-1:2021#clause-3.6"
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
constraint dead_load_min_geometry {
|
|
51
|
+
stereotype inv
|
|
52
|
+
name "Dead-load minimum geometry"
|
|
53
|
+
check "ocl{model.parameters.e_min <= model.parameters.d_min and model.parameters.d_min <= 0.1 * model.parameters.e_max}"
|
|
54
|
+
violation_meaning "The declared minimum test load D_min lies outside [E_min, 0.1·E_max] — the test setup does not realize the lower end of the measuring range (R 60-2, 2.7.3.4: D_min shall be not less than E_min and not higher than 10 % of E_max), so the type evaluation of this load cell is void."
|
|
55
|
+
on_violation invalid
|
|
56
|
+
ref derives-from "urn:oiml:pub:r:60-1:2021#clause-3.6"
|
|
57
|
+
}
|
|
58
|
+
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# R 60 FORMULAS USED — the per-test evaluation-formula trace as data
|
|
2
|
+
# -----------------------------------------------------------------------------
|
|
3
|
+
# PROPOSAL.R60-SSOT-Phase9.5 item 4 (Response 4 item 4 — TEST-side, never
|
|
4
|
+
# process-side): which registry formulas each conformance test's evaluation
|
|
5
|
+
# invokes. Traceability: a formula change propagates to every test that uses
|
|
6
|
+
# it — without this registry the linker cannot see that a test's expected
|
|
7
|
+
# outputs depend on a formula that just changed.
|
|
8
|
+
#
|
|
9
|
+
# Native construct (smart gap-close E11, kernel 60c565d — the registry rode
|
|
10
|
+
# the build-primmel-cache SUPPLEMENTAL list as hand-authored app config
|
|
11
|
+
# before the kernel grew the construct; the 9.5-era header contemplated an
|
|
12
|
+
# id-list `formulas_used` facet on conformance_test, and the kernel landed
|
|
13
|
+
# it as a top-level registry block keyed by the test reference instead —
|
|
14
|
+
# the YAML projection stays trivial, the conformance_test grammar
|
|
15
|
+
# untouched). The block symbol IS the conformance-test reference (the bare
|
|
16
|
+
# reference-shaped id, the `text /req/….statement` idiom). The YAML twin
|
|
17
|
+
# data/<rec>/specification/formulas-used.yaml (schema
|
|
18
|
+
# data/schemas/formulas-used.yaml) is GENERATED from this file. Linker:
|
|
19
|
+
# R41 (browser/build/model-linker.ts).
|
|
20
|
+
#
|
|
21
|
+
# Entry vocabulary: the ids are the registries' QUANTITY names — the
|
|
22
|
+
# calculation output names (conversion_factor_f, e_l, e_r, c_m; the same ids
|
|
23
|
+
# the test declares as its variables). R41 resolves every entry against the
|
|
24
|
+
# union of the calculations and formulas registries (output names ∪ entry
|
|
25
|
+
# names); c_m is honestly closed by the mdloStepChange calculation
|
|
26
|
+
# (specification/calculations.yaml, R 60-3, 2.1.4) added with this registry.
|
|
27
|
+
#
|
|
28
|
+
# Why test-side: the four quantities are the EVALUATION-level formulas of
|
|
29
|
+
# R 60-3, 2.1 — computed FROM the indication output, never BY the
|
|
30
|
+
# instrument's signal chain (load_weight, the mdlo test's method_ref, is the
|
|
31
|
+
# instrument's signal-level anatomy, R 60-1, 4 Figure 2). Declaring them on
|
|
32
|
+
# the process would falsely claim the instrument computes them. This file is
|
|
33
|
+
# also the R34 designed delta (data/r60/linker-allowlist.yaml, the
|
|
34
|
+
# test-method-link entry) stopping being prose and becoming resolvable data —
|
|
35
|
+
# the delta itself remains; the allowlist entry stays.
|
|
36
|
+
|
|
37
|
+
formulas_used /conf/metrological-tests/measurement-error-repeatability-mdlo {
|
|
38
|
+
name "MDLO evaluation formulas"
|
|
39
|
+
description "The evaluation-level quantities of R 60-3, 2.1 the MDLO test derives from the indication output: the conversion factor f (2.1.2.4), the load cell error E_L (2.1.2), the repeatability error E_R (2.1.3), and the raw temperature effect on MDLO of one temperature step C_M (2.1.4 — the normalization to v_min per temperature increment lives exactly once in the mdlo_normalized VerdictQuantity)."
|
|
40
|
+
formulas { conversion_factor_f e_l e_r c_m }
|
|
41
|
+
source { doc "urn:oiml:pub:r:60-3:2021" clause "2.1" }
|
|
42
|
+
}
|
|
43
|
+
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
calculation lookupMPE {
|
|
2
|
+
name "lookupMPE"
|
|
3
|
+
type table_lookup
|
|
4
|
+
label "Maximum Permissible Error"
|
|
5
|
+
description "Looks up MPE for a given load in v units per R 60-1 Table 4"
|
|
6
|
+
params { load accuracy_class p_lc }
|
|
7
|
+
lookup { key accuracy_class variable load multiplier p_lc }
|
|
8
|
+
profile profiles.mpe_tiers
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
calculation lookupProfile {
|
|
12
|
+
name "lookupProfile"
|
|
13
|
+
type profile_lookup
|
|
14
|
+
label "Dimension-keyed profile lookup"
|
|
15
|
+
description "Returns the binding of a dimension-keyed profile from the profiles: section of tables.yaml for a classification dimension value, e.g. lookupProfile('n_LC_range', 'C') -> { min: 500, max: 10000 } and lookupProfile('min_temperature_span', 'A') -> 5. For range bindings a missing max means unbounded above."
|
|
16
|
+
params { profile dimension_value }
|
|
17
|
+
lookup { key dimension_value }
|
|
18
|
+
profile profiles
|
|
19
|
+
}
|
|
20
|
+
|