@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,655 @@
|
|
|
1
|
+
requirement_class /req/class-a {
|
|
2
|
+
title "Class A requirements"
|
|
3
|
+
name "Class A load cell requirements"
|
|
4
|
+
description "Parameterized requirements for Class A load cells. Class A: n_LC ≤ 50000, 5 runs per load point, 2°C MDLO temperature increment. No span stability requirement."
|
|
5
|
+
subject "Class A load cell requirements"
|
|
6
|
+
applicability {
|
|
7
|
+
accuracy_class: [A]
|
|
8
|
+
}
|
|
9
|
+
dependencies { /req/metrological /req/classification }
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
requirement /req/class-a/mpe {
|
|
13
|
+
name "Class A MPE"
|
|
14
|
+
statement "For Class A load cells, the maximum permissible error shall not exceed: 0 ≤ L < 50000v: 0.5 × p_LC 50000 ≤ L < 200000v: 1.0 × p_LC L ≥ 200000v: 1.5 × p_LC"
|
|
15
|
+
binds_to { group.parameters.mpe group.classification.accuracy_class family.parameters.p_lc }
|
|
16
|
+
limit {
|
|
17
|
+
expression "ocl{group.parameters.mpe = lookupMPE(load, group.classification.accuracy_class, family.parameters.p_lc)}"
|
|
18
|
+
uses { group.parameters.mpe group.classification.accuracy_class family.parameters.p_lc formula:lookupMPE table:mpe_tiers }
|
|
19
|
+
}
|
|
20
|
+
parameters {
|
|
21
|
+
param p_LC: number { description "Apportioning factor" unit "dimensionless" bind "family.parameters.p_lc" default 0.7 range { min 0.3 max 1 } }
|
|
22
|
+
}
|
|
23
|
+
acceptance_criteria {
|
|
24
|
+
type: "tiered"
|
|
25
|
+
description: "Class A MPE with breakpoints at 50000v and 200000v (Table 4 of R 60-1).\n"
|
|
26
|
+
variable: "load"
|
|
27
|
+
variable_unit: "v"
|
|
28
|
+
limit_expression: "factor × p_LC"
|
|
29
|
+
referenced_function: "lookupMPE"
|
|
30
|
+
tiers:
|
|
31
|
+
- range:
|
|
32
|
+
min: 0
|
|
33
|
+
max: 50000
|
|
34
|
+
limit:
|
|
35
|
+
factor: 0.5
|
|
36
|
+
expression: "0.5 × p_LC"
|
|
37
|
+
- range:
|
|
38
|
+
min: 50000
|
|
39
|
+
max: 200000
|
|
40
|
+
limit:
|
|
41
|
+
factor: 1
|
|
42
|
+
expression: "1.0 × p_LC"
|
|
43
|
+
- range:
|
|
44
|
+
min: 200000
|
|
45
|
+
limit:
|
|
46
|
+
factor: 1.5
|
|
47
|
+
expression: "1.5 × p_LC"
|
|
48
|
+
}
|
|
49
|
+
dependencies { /req/metrological/mpe }
|
|
50
|
+
ref derives-from "urn:oiml:pub:r:60-1:2021#table-4"
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
requirement /req/class-a/repeatability {
|
|
54
|
+
name "Class A repeatability"
|
|
55
|
+
statement "For Class A load cells, the repeatability error shall not exceed the absolute value of MPE for that load, determined using 5 runs."
|
|
56
|
+
binds_to { group.parameters.mpe group.classification.accuracy_class }
|
|
57
|
+
limit {
|
|
58
|
+
expression "ocl{abs(e_r) <= abs(group.parameters.mpe)}"
|
|
59
|
+
uses { observable:e_r group.parameters.mpe group.classification.accuracy_class table:test_runs }
|
|
60
|
+
}
|
|
61
|
+
parameters {
|
|
62
|
+
param runs: integer { description "Number of identical load applications per test point" default 5 range { min 5 max 5 } }
|
|
63
|
+
}
|
|
64
|
+
acceptance_criteria {
|
|
65
|
+
type: "threshold"
|
|
66
|
+
description: "Class A repeatability error ≤ |MPE|, determined using 5 runs.\n"
|
|
67
|
+
limit:
|
|
68
|
+
expression: "|E_R|"
|
|
69
|
+
operator: "lte"
|
|
70
|
+
threshold_expression: "|MPE|"
|
|
71
|
+
referenced_function: "lookupMPE"
|
|
72
|
+
unit: "v"
|
|
73
|
+
per_condition: "per load point, across 5 runs"
|
|
74
|
+
}
|
|
75
|
+
dependencies { /req/metrological/repeatability }
|
|
76
|
+
ref derives-from "urn:oiml:pub:r:60-1:2021#clause-5.4"
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
requirement /req/class-a/temperature-effect-mdlo {
|
|
80
|
+
name "Class A temperature effect on MDLO"
|
|
81
|
+
statement "For Class A load cells, the temperature effect on minimum dead load output shall not exceed p_LC × v_min per 2°C temperature increment."
|
|
82
|
+
binds_to { family.parameters.p_lc group.parameters.v_min group.classification.accuracy_class }
|
|
83
|
+
limit {
|
|
84
|
+
quantity { kind dimensionless }
|
|
85
|
+
accepts {
|
|
86
|
+
verdict mdlo_normalized
|
|
87
|
+
op lte
|
|
88
|
+
limit "ocl{p_lc}"
|
|
89
|
+
}
|
|
90
|
+
uses { observable:c_m observable:delta_t profile:temperature_increment family.parameters.p_lc group.parameters.v_min sample.test_context.d_max sample.test_context.d_min group.classification.accuracy_class }
|
|
91
|
+
}
|
|
92
|
+
parameters {
|
|
93
|
+
param temperature_increment: integer { description "Temperature increment for MDLO evaluation" unit "°C" default 2 range { min 2 max 2 } }
|
|
94
|
+
}
|
|
95
|
+
acceptance_criteria {
|
|
96
|
+
type: "threshold"
|
|
97
|
+
description: "Class A temperature effect on MDLO ≤ p_LC × v_min per 2°C.\n"
|
|
98
|
+
limit:
|
|
99
|
+
expression: "|ΔMDLO|"
|
|
100
|
+
operator: "lte"
|
|
101
|
+
threshold_expression: "p_LC × v_min"
|
|
102
|
+
unit: "v"
|
|
103
|
+
per_condition: "per 2°C temperature increment"
|
|
104
|
+
}
|
|
105
|
+
dependencies { /req/metrological/temperature-effect-mdlo }
|
|
106
|
+
ref derives-from "urn:oiml:pub:r:60-1:2021#clause-5.6.1.3"
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
requirement /req/class-a/creep {
|
|
110
|
+
name "Class A creep"
|
|
111
|
+
statement "For Class A load cells, creep over 30 min shall not exceed 0.7 × |MPE|, and the difference between 20 and 30 minute readings shall not exceed 0.15 × |MPE|."
|
|
112
|
+
binds_to { group.parameters.mpe sample.test_context.d_max }
|
|
113
|
+
limit {
|
|
114
|
+
quantity { kind verification_interval unit "v" }
|
|
115
|
+
accepts {
|
|
116
|
+
verdict creep
|
|
117
|
+
op lte
|
|
118
|
+
limit "ocl{0.7 * abs(lookupMPE(sample.test_context.d_max, group.classification.accuracy_class, 0.7))}"
|
|
119
|
+
}
|
|
120
|
+
uses { observable:c_c group.parameters.mpe group.classification.accuracy_class sample.test_context.d_max formula:lookupMPE table:mpe_tiers }
|
|
121
|
+
}
|
|
122
|
+
acceptance_criteria {
|
|
123
|
+
type: "threshold"
|
|
124
|
+
description: "Class A creep ≤ 0.7 × |MPE| over 30 min, and ≤ 0.15 × |MPE| between 20–30 min.\n"
|
|
125
|
+
limit:
|
|
126
|
+
expression: "|creep|"
|
|
127
|
+
operator: "lte"
|
|
128
|
+
threshold_expression: "0.7 × |MPE|"
|
|
129
|
+
referenced_function: "lookupMPE"
|
|
130
|
+
unit: "v"
|
|
131
|
+
per_condition: "over 30 minutes at 90%–100% of E_max"
|
|
132
|
+
}
|
|
133
|
+
dependencies { /req/metrological/creep /req/metrological/creep-20-30 }
|
|
134
|
+
ref derives-from "urn:oiml:pub:r:60-1:2021#clause-5.5.1"
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
requirement /req/class-a/special-temperature-limits {
|
|
138
|
+
name "Class A special temperature limits"
|
|
139
|
+
statement "For Class A load cells, the minimum temperature test range shall be at least 5°C. The temperature increment for MDLO determination is 2°C."
|
|
140
|
+
binds_to { family.parameters.t_min family.parameters.t_max group.classification.accuracy_class }
|
|
141
|
+
limit {
|
|
142
|
+
expression "ocl{(family.parameters.t_max - family.parameters.t_min) >= lookupProfile('min_temperature_span', group.classification.accuracy_class)}"
|
|
143
|
+
uses { family.parameters.t_min family.parameters.t_max group.classification.accuracy_class profile:min_temperature_span formula:lookupProfile }
|
|
144
|
+
}
|
|
145
|
+
parameters {
|
|
146
|
+
param min_temperature_span: integer { description "Minimum span of special working temperature range" unit "°C" default 5 range { min 5 max 5 } }
|
|
147
|
+
}
|
|
148
|
+
acceptance_criteria {
|
|
149
|
+
type: "threshold"
|
|
150
|
+
description: "Class A special temperature range shall span at least 5°C.\n"
|
|
151
|
+
limit:
|
|
152
|
+
expression: "temperature_span"
|
|
153
|
+
operator: "gte"
|
|
154
|
+
threshold_expression: "5"
|
|
155
|
+
unit: "°C"
|
|
156
|
+
}
|
|
157
|
+
dependencies { /req/metrological/temperature-limits }
|
|
158
|
+
ref derives-from "urn:oiml:pub:r:60-1:2021#clause-5.6.1.2"
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
requirement_class /req/class-b {
|
|
162
|
+
title "Class B requirements"
|
|
163
|
+
name "Class B load cell requirements"
|
|
164
|
+
description "Parameterized requirements for Class B load cells. Class B: n_LC ≤ 10000, 5 runs per load point, 5°C MDLO temperature increment. Span stability applicable for electronic load cells."
|
|
165
|
+
subject "Class B load cell requirements"
|
|
166
|
+
applicability {
|
|
167
|
+
accuracy_class: [B]
|
|
168
|
+
}
|
|
169
|
+
dependencies { /req/metrological /req/classification }
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
requirement /req/class-b/mpe {
|
|
173
|
+
name "Class B MPE"
|
|
174
|
+
statement "For Class B load cells, the maximum permissible error shall not exceed: 0 ≤ L < 5000v: 0.5 × p_LC 5000 ≤ L < 20000v: 1.0 × p_LC L ≥ 20000v: 1.5 × p_LC"
|
|
175
|
+
binds_to { group.parameters.mpe group.classification.accuracy_class family.parameters.p_lc }
|
|
176
|
+
limit {
|
|
177
|
+
expression "ocl{group.parameters.mpe = lookupMPE(load, group.classification.accuracy_class, family.parameters.p_lc)}"
|
|
178
|
+
uses { group.parameters.mpe group.classification.accuracy_class family.parameters.p_lc formula:lookupMPE table:mpe_tiers }
|
|
179
|
+
}
|
|
180
|
+
parameters {
|
|
181
|
+
param p_LC: number { description "Apportioning factor" unit "dimensionless" bind "family.parameters.p_lc" default 0.7 range { min 0.3 max 1 } }
|
|
182
|
+
}
|
|
183
|
+
acceptance_criteria {
|
|
184
|
+
type: "tiered"
|
|
185
|
+
description: "Class B MPE with breakpoints at 5000v and 20000v (Table 4 of R 60-1).\n"
|
|
186
|
+
variable: "load"
|
|
187
|
+
variable_unit: "v"
|
|
188
|
+
limit_expression: "factor × p_LC"
|
|
189
|
+
referenced_function: "lookupMPE"
|
|
190
|
+
tiers:
|
|
191
|
+
- range:
|
|
192
|
+
min: 0
|
|
193
|
+
max: 5000
|
|
194
|
+
limit:
|
|
195
|
+
factor: 0.5
|
|
196
|
+
expression: "0.5 × p_LC"
|
|
197
|
+
- range:
|
|
198
|
+
min: 5000
|
|
199
|
+
max: 20000
|
|
200
|
+
limit:
|
|
201
|
+
factor: 1
|
|
202
|
+
expression: "1.0 × p_LC"
|
|
203
|
+
- range:
|
|
204
|
+
min: 20000
|
|
205
|
+
limit:
|
|
206
|
+
factor: 1.5
|
|
207
|
+
expression: "1.5 × p_LC"
|
|
208
|
+
}
|
|
209
|
+
dependencies { /req/metrological/mpe }
|
|
210
|
+
ref derives-from "urn:oiml:pub:r:60-1:2021#table-4"
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
requirement /req/class-b/repeatability {
|
|
214
|
+
name "Class B repeatability"
|
|
215
|
+
statement "For Class B load cells, the repeatability error shall not exceed the absolute value of MPE for that load, determined using 5 runs."
|
|
216
|
+
binds_to { group.parameters.mpe group.classification.accuracy_class }
|
|
217
|
+
limit {
|
|
218
|
+
expression "ocl{abs(e_r) <= abs(group.parameters.mpe)}"
|
|
219
|
+
uses { observable:e_r group.parameters.mpe group.classification.accuracy_class table:test_runs }
|
|
220
|
+
}
|
|
221
|
+
parameters {
|
|
222
|
+
param runs: integer { description "Number of identical load applications per test point" default 5 range { min 5 max 5 } }
|
|
223
|
+
}
|
|
224
|
+
acceptance_criteria {
|
|
225
|
+
type: "threshold"
|
|
226
|
+
description: "Class B repeatability error ≤ |MPE|, determined using 5 runs.\n"
|
|
227
|
+
limit:
|
|
228
|
+
expression: "|E_R|"
|
|
229
|
+
operator: "lte"
|
|
230
|
+
threshold_expression: "|MPE|"
|
|
231
|
+
referenced_function: "lookupMPE"
|
|
232
|
+
unit: "v"
|
|
233
|
+
per_condition: "per load point, across 5 runs"
|
|
234
|
+
}
|
|
235
|
+
dependencies { /req/metrological/repeatability }
|
|
236
|
+
ref derives-from "urn:oiml:pub:r:60-1:2021#clause-5.4"
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
requirement /req/class-b/temperature-effect-mdlo {
|
|
240
|
+
name "Class B temperature effect on MDLO"
|
|
241
|
+
statement "For Class B load cells, the temperature effect on minimum dead load output shall not exceed p_LC × v_min per 5°C temperature increment."
|
|
242
|
+
binds_to { family.parameters.p_lc group.parameters.v_min group.classification.accuracy_class }
|
|
243
|
+
limit {
|
|
244
|
+
quantity { kind dimensionless }
|
|
245
|
+
accepts {
|
|
246
|
+
verdict mdlo_normalized
|
|
247
|
+
op lte
|
|
248
|
+
limit "ocl{p_lc}"
|
|
249
|
+
}
|
|
250
|
+
uses { observable:c_m observable:delta_t profile:temperature_increment family.parameters.p_lc group.parameters.v_min sample.test_context.d_max sample.test_context.d_min group.classification.accuracy_class }
|
|
251
|
+
}
|
|
252
|
+
parameters {
|
|
253
|
+
param temperature_increment: integer { description "Temperature increment for MDLO evaluation" unit "°C" default 5 range { min 5 max 5 } }
|
|
254
|
+
}
|
|
255
|
+
acceptance_criteria {
|
|
256
|
+
type: "threshold"
|
|
257
|
+
description: "Class B temperature effect on MDLO ≤ p_LC × v_min per 5°C.\n"
|
|
258
|
+
limit:
|
|
259
|
+
expression: "|ΔMDLO|"
|
|
260
|
+
operator: "lte"
|
|
261
|
+
threshold_expression: "p_LC × v_min"
|
|
262
|
+
unit: "v"
|
|
263
|
+
per_condition: "per 5°C temperature increment"
|
|
264
|
+
}
|
|
265
|
+
dependencies { /req/metrological/temperature-effect-mdlo }
|
|
266
|
+
ref derives-from "urn:oiml:pub:r:60-1:2021#clause-5.6.1.3"
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
requirement /req/class-b/creep {
|
|
270
|
+
name "Class B creep"
|
|
271
|
+
statement "For Class B load cells, creep over 30 min shall not exceed 0.7 × |MPE|, and the difference between 20 and 30 minute readings shall not exceed 0.15 × |MPE|."
|
|
272
|
+
binds_to { group.parameters.mpe sample.test_context.d_max }
|
|
273
|
+
limit {
|
|
274
|
+
quantity { kind verification_interval unit "v" }
|
|
275
|
+
accepts {
|
|
276
|
+
verdict creep
|
|
277
|
+
op lte
|
|
278
|
+
limit "ocl{0.7 * abs(lookupMPE(sample.test_context.d_max, group.classification.accuracy_class, 0.7))}"
|
|
279
|
+
}
|
|
280
|
+
uses { observable:c_c group.parameters.mpe group.classification.accuracy_class sample.test_context.d_max formula:lookupMPE table:mpe_tiers }
|
|
281
|
+
}
|
|
282
|
+
acceptance_criteria {
|
|
283
|
+
type: "threshold"
|
|
284
|
+
description: "Class B creep ≤ 0.7 × |MPE| over 30 min, and ≤ 0.15 × |MPE| between 20–30 min.\n"
|
|
285
|
+
limit:
|
|
286
|
+
expression: "|creep|"
|
|
287
|
+
operator: "lte"
|
|
288
|
+
threshold_expression: "0.7 × |MPE|"
|
|
289
|
+
referenced_function: "lookupMPE"
|
|
290
|
+
unit: "v"
|
|
291
|
+
per_condition: "over 30 minutes at 90%–100% of E_max"
|
|
292
|
+
}
|
|
293
|
+
dependencies { /req/metrological/creep /req/metrological/creep-20-30 }
|
|
294
|
+
ref derives-from "urn:oiml:pub:r:60-1:2021#clause-5.5.1"
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
requirement /req/class-b/span-stability {
|
|
298
|
+
name "Class B span stability"
|
|
299
|
+
statement "For Class B load cells with electronic components, span stability shall be maintained over the duration test period."
|
|
300
|
+
binds_to { group.parameters.mpe sample.test_context.d_max group.classification.accuracy_class }
|
|
301
|
+
limit {
|
|
302
|
+
expression "ocl{abs(span_variation) <= max(0.5, 0.5 * abs(lookupMPE(sample.test_context.d_max, group.classification.accuracy_class, 1.0)))}"
|
|
303
|
+
uses { observable:span_variation group.parameters.mpe group.classification.accuracy_class sample.test_context.d_max formula:lookupMPE formula:maxAllowableSpanVariation table:mpe_tiers }
|
|
304
|
+
}
|
|
305
|
+
parameters {
|
|
306
|
+
param p_LC_span: number { description "p_LC used for span stability — always 1.0 regardless of manufacturer's declared value." default 1 range { min 1 max 1 } }
|
|
307
|
+
}
|
|
308
|
+
applicability {
|
|
309
|
+
technology: [analogue-active, digital]
|
|
310
|
+
}
|
|
311
|
+
acceptance_criteria {
|
|
312
|
+
type: "threshold"
|
|
313
|
+
description: "Class B span variation ≤ max(0.5v, 0.5 × |MPE|) using p_LC = 1.0.\n"
|
|
314
|
+
limit:
|
|
315
|
+
expression: "|Δspan|"
|
|
316
|
+
operator: "lte"
|
|
317
|
+
threshold_expression: "max(0.5, 0.5 × |MPE|)"
|
|
318
|
+
referenced_function: "maxAllowableSpanVariation"
|
|
319
|
+
unit: "v"
|
|
320
|
+
per_condition: "over duration test period"
|
|
321
|
+
}
|
|
322
|
+
dependencies { /req/electronic/span-stability }
|
|
323
|
+
ref derives-from "urn:oiml:pub:r:60-1:2021#clause-5.7.2.6"
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
requirement_class /req/class-c {
|
|
327
|
+
title "Class C requirements"
|
|
328
|
+
name "Class C load cell requirements"
|
|
329
|
+
description "Parameterized requirements for Class C load cells. Class C: n_LC ≤ 10000, 3 runs per load point, 5°C MDLO temperature increment. Span stability applicable for electronic load cells."
|
|
330
|
+
subject "Class C load cell requirements"
|
|
331
|
+
applicability {
|
|
332
|
+
accuracy_class: [C]
|
|
333
|
+
}
|
|
334
|
+
dependencies { /req/metrological /req/classification }
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
requirement /req/class-c/mpe {
|
|
338
|
+
name "Class C MPE"
|
|
339
|
+
statement "For Class C load cells, the maximum permissible error shall not exceed: 0 ≤ L < 500v: 0.5 × p_LC 500 ≤ L < 2000v: 1.0 × p_LC L ≥ 2000v: 1.5 × p_LC"
|
|
340
|
+
binds_to { group.parameters.mpe group.classification.accuracy_class family.parameters.p_lc }
|
|
341
|
+
limit {
|
|
342
|
+
expression "ocl{group.parameters.mpe = lookupMPE(load, group.classification.accuracy_class, family.parameters.p_lc)}"
|
|
343
|
+
uses { group.parameters.mpe group.classification.accuracy_class family.parameters.p_lc formula:lookupMPE table:mpe_tiers }
|
|
344
|
+
}
|
|
345
|
+
parameters {
|
|
346
|
+
param p_LC: number { description "Apportioning factor" unit "dimensionless" bind "family.parameters.p_lc" default 0.7 range { min 0.3 max 1 } }
|
|
347
|
+
}
|
|
348
|
+
acceptance_criteria {
|
|
349
|
+
type: "tiered"
|
|
350
|
+
description: "Class C MPE with breakpoints at 500v and 2000v (Table 4 of R 60-1).\n"
|
|
351
|
+
variable: "load"
|
|
352
|
+
variable_unit: "v"
|
|
353
|
+
limit_expression: "factor × p_LC"
|
|
354
|
+
referenced_function: "lookupMPE"
|
|
355
|
+
tiers:
|
|
356
|
+
- range:
|
|
357
|
+
min: 0
|
|
358
|
+
max: 500
|
|
359
|
+
limit:
|
|
360
|
+
factor: 0.5
|
|
361
|
+
expression: "0.5 × p_LC"
|
|
362
|
+
- range:
|
|
363
|
+
min: 500
|
|
364
|
+
max: 2000
|
|
365
|
+
limit:
|
|
366
|
+
factor: 1
|
|
367
|
+
expression: "1.0 × p_LC"
|
|
368
|
+
- range:
|
|
369
|
+
min: 2000
|
|
370
|
+
limit:
|
|
371
|
+
factor: 1.5
|
|
372
|
+
expression: "1.5 × p_LC"
|
|
373
|
+
}
|
|
374
|
+
dependencies { /req/metrological/mpe }
|
|
375
|
+
ref derives-from "urn:oiml:pub:r:60-1:2021#table-4"
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
requirement /req/class-c/repeatability {
|
|
379
|
+
name "Class C repeatability"
|
|
380
|
+
statement "For Class C load cells, the repeatability error shall not exceed the absolute value of MPE for that load, determined using 3 runs."
|
|
381
|
+
binds_to { group.parameters.mpe group.classification.accuracy_class }
|
|
382
|
+
limit {
|
|
383
|
+
expression "ocl{abs(e_r) <= abs(group.parameters.mpe)}"
|
|
384
|
+
uses { observable:e_r group.parameters.mpe group.classification.accuracy_class table:test_runs }
|
|
385
|
+
}
|
|
386
|
+
parameters {
|
|
387
|
+
param runs: integer { description "Number of identical load applications per test point" default 3 range { min 3 max 3 } }
|
|
388
|
+
}
|
|
389
|
+
acceptance_criteria {
|
|
390
|
+
type: "threshold"
|
|
391
|
+
description: "Class C repeatability error ≤ |MPE|, determined using 3 runs.\n"
|
|
392
|
+
limit:
|
|
393
|
+
expression: "|E_R|"
|
|
394
|
+
operator: "lte"
|
|
395
|
+
threshold_expression: "|MPE|"
|
|
396
|
+
referenced_function: "lookupMPE"
|
|
397
|
+
unit: "v"
|
|
398
|
+
per_condition: "per load point, across 3 runs"
|
|
399
|
+
}
|
|
400
|
+
dependencies { /req/metrological/repeatability }
|
|
401
|
+
ref derives-from "urn:oiml:pub:r:60-1:2021#clause-5.4"
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
requirement /req/class-c/temperature-effect-mdlo {
|
|
405
|
+
name "Class C temperature effect on MDLO"
|
|
406
|
+
statement "For Class C load cells, the temperature effect on minimum dead load output shall not exceed p_LC × v_min per 5°C temperature increment."
|
|
407
|
+
binds_to { family.parameters.p_lc group.parameters.v_min group.classification.accuracy_class }
|
|
408
|
+
limit {
|
|
409
|
+
quantity { kind dimensionless }
|
|
410
|
+
accepts {
|
|
411
|
+
verdict mdlo_normalized
|
|
412
|
+
op lte
|
|
413
|
+
limit "ocl{p_lc}"
|
|
414
|
+
}
|
|
415
|
+
uses { observable:c_m observable:delta_t profile:temperature_increment family.parameters.p_lc group.parameters.v_min sample.test_context.d_max sample.test_context.d_min group.classification.accuracy_class }
|
|
416
|
+
}
|
|
417
|
+
parameters {
|
|
418
|
+
param temperature_increment: integer { description "Temperature increment for MDLO evaluation" unit "°C" default 5 range { min 5 max 5 } }
|
|
419
|
+
}
|
|
420
|
+
acceptance_criteria {
|
|
421
|
+
type: "threshold"
|
|
422
|
+
description: "Class C temperature effect on MDLO ≤ p_LC × v_min per 5°C.\n"
|
|
423
|
+
limit:
|
|
424
|
+
expression: "|ΔMDLO|"
|
|
425
|
+
operator: "lte"
|
|
426
|
+
threshold_expression: "p_LC × v_min"
|
|
427
|
+
unit: "v"
|
|
428
|
+
per_condition: "per 5°C temperature increment"
|
|
429
|
+
}
|
|
430
|
+
dependencies { /req/metrological/temperature-effect-mdlo }
|
|
431
|
+
ref derives-from "urn:oiml:pub:r:60-1:2021#clause-5.6.1.3"
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
requirement /req/class-c/creep {
|
|
435
|
+
name "Class C creep"
|
|
436
|
+
statement "For Class C load cells, creep over 30 min shall not exceed 0.7 × |MPE|, and the difference between 20 and 30 minute readings shall not exceed 0.15 × |MPE|."
|
|
437
|
+
binds_to { group.parameters.mpe sample.test_context.d_max }
|
|
438
|
+
limit {
|
|
439
|
+
quantity { kind verification_interval unit "v" }
|
|
440
|
+
accepts {
|
|
441
|
+
verdict creep
|
|
442
|
+
op lte
|
|
443
|
+
limit "ocl{0.7 * abs(lookupMPE(sample.test_context.d_max, group.classification.accuracy_class, 0.7))}"
|
|
444
|
+
}
|
|
445
|
+
uses { observable:c_c group.parameters.mpe group.classification.accuracy_class sample.test_context.d_max formula:lookupMPE table:mpe_tiers }
|
|
446
|
+
}
|
|
447
|
+
acceptance_criteria {
|
|
448
|
+
type: "threshold"
|
|
449
|
+
description: "Class C creep ≤ 0.7 × |MPE| over 30 min, and ≤ 0.15 × |MPE| between 20–30 min.\n"
|
|
450
|
+
limit:
|
|
451
|
+
expression: "|creep|"
|
|
452
|
+
operator: "lte"
|
|
453
|
+
threshold_expression: "0.7 × |MPE|"
|
|
454
|
+
referenced_function: "lookupMPE"
|
|
455
|
+
unit: "v"
|
|
456
|
+
per_condition: "over 30 minutes at 90%–100% of E_max"
|
|
457
|
+
}
|
|
458
|
+
dependencies { /req/metrological/creep /req/metrological/creep-20-30 }
|
|
459
|
+
ref derives-from "urn:oiml:pub:r:60-1:2021#clause-5.5.1"
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
requirement /req/class-c/span-stability {
|
|
463
|
+
name "Class C span stability"
|
|
464
|
+
statement "For Class C load cells with electronic components, span stability shall be maintained over the duration test period."
|
|
465
|
+
binds_to { group.parameters.mpe sample.test_context.d_max group.classification.accuracy_class }
|
|
466
|
+
limit {
|
|
467
|
+
expression "ocl{abs(span_variation) <= max(0.5, 0.5 * abs(lookupMPE(sample.test_context.d_max, group.classification.accuracy_class, 1.0)))}"
|
|
468
|
+
uses { observable:span_variation group.parameters.mpe group.classification.accuracy_class sample.test_context.d_max formula:lookupMPE formula:maxAllowableSpanVariation table:mpe_tiers }
|
|
469
|
+
}
|
|
470
|
+
parameters {
|
|
471
|
+
param p_LC_span: number { description "p_LC used for span stability — always 1.0 regardless of manufacturer's declared value." default 1 range { min 1 max 1 } }
|
|
472
|
+
}
|
|
473
|
+
applicability {
|
|
474
|
+
technology: [analogue-active, digital]
|
|
475
|
+
}
|
|
476
|
+
acceptance_criteria {
|
|
477
|
+
type: "threshold"
|
|
478
|
+
description: "Class C span variation ≤ max(0.5v, 0.5 × |MPE|) using p_LC = 1.0.\n"
|
|
479
|
+
limit:
|
|
480
|
+
expression: "|Δspan|"
|
|
481
|
+
operator: "lte"
|
|
482
|
+
threshold_expression: "max(0.5, 0.5 × |MPE|)"
|
|
483
|
+
referenced_function: "maxAllowableSpanVariation"
|
|
484
|
+
unit: "v"
|
|
485
|
+
per_condition: "over duration test period"
|
|
486
|
+
}
|
|
487
|
+
dependencies { /req/electronic/span-stability }
|
|
488
|
+
ref derives-from "urn:oiml:pub:r:60-1:2021#clause-5.7.2.6"
|
|
489
|
+
}
|
|
490
|
+
|
|
491
|
+
requirement_class /req/class-d {
|
|
492
|
+
title "Class D requirements"
|
|
493
|
+
name "Class D load cell requirements"
|
|
494
|
+
description "Parameterized requirements for Class D load cells. Class D: n_LC ≤ 1000, 3 runs per load point, 5°C MDLO temperature increment. Span stability applicable for electronic load cells."
|
|
495
|
+
subject "Class D load cell requirements"
|
|
496
|
+
applicability {
|
|
497
|
+
accuracy_class: [D]
|
|
498
|
+
}
|
|
499
|
+
dependencies { /req/metrological /req/classification }
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
requirement /req/class-d/mpe {
|
|
503
|
+
name "Class D MPE"
|
|
504
|
+
statement "For Class D load cells, the maximum permissible error shall not exceed: 0 ≤ L < 50v: 0.5 × p_LC 50 ≤ L < 200v: 1.0 × p_LC L ≥ 200v: 1.5 × p_LC"
|
|
505
|
+
binds_to { group.parameters.mpe group.classification.accuracy_class family.parameters.p_lc }
|
|
506
|
+
limit {
|
|
507
|
+
expression "ocl{group.parameters.mpe = lookupMPE(load, group.classification.accuracy_class, family.parameters.p_lc)}"
|
|
508
|
+
uses { group.parameters.mpe group.classification.accuracy_class family.parameters.p_lc formula:lookupMPE table:mpe_tiers }
|
|
509
|
+
}
|
|
510
|
+
parameters {
|
|
511
|
+
param p_LC: number { description "Apportioning factor" unit "dimensionless" bind "family.parameters.p_lc" default 0.7 range { min 0.3 max 1 } }
|
|
512
|
+
}
|
|
513
|
+
acceptance_criteria {
|
|
514
|
+
type: "tiered"
|
|
515
|
+
description: "Class D MPE with breakpoints at 50v and 200v (Table 4 of R 60-1).\n"
|
|
516
|
+
variable: "load"
|
|
517
|
+
variable_unit: "v"
|
|
518
|
+
limit_expression: "factor × p_LC"
|
|
519
|
+
referenced_function: "lookupMPE"
|
|
520
|
+
tiers:
|
|
521
|
+
- range:
|
|
522
|
+
min: 0
|
|
523
|
+
max: 50
|
|
524
|
+
limit:
|
|
525
|
+
factor: 0.5
|
|
526
|
+
expression: "0.5 × p_LC"
|
|
527
|
+
- range:
|
|
528
|
+
min: 50
|
|
529
|
+
max: 200
|
|
530
|
+
limit:
|
|
531
|
+
factor: 1
|
|
532
|
+
expression: "1.0 × p_LC"
|
|
533
|
+
- range:
|
|
534
|
+
min: 200
|
|
535
|
+
limit:
|
|
536
|
+
factor: 1.5
|
|
537
|
+
expression: "1.5 × p_LC"
|
|
538
|
+
}
|
|
539
|
+
dependencies { /req/metrological/mpe }
|
|
540
|
+
ref derives-from "urn:oiml:pub:r:60-1:2021#table-4"
|
|
541
|
+
}
|
|
542
|
+
|
|
543
|
+
requirement /req/class-d/repeatability {
|
|
544
|
+
name "Class D repeatability"
|
|
545
|
+
statement "For Class D load cells, the repeatability error shall not exceed the absolute value of MPE for that load, determined using 3 runs."
|
|
546
|
+
binds_to { group.parameters.mpe group.classification.accuracy_class }
|
|
547
|
+
limit {
|
|
548
|
+
expression "ocl{abs(e_r) <= abs(group.parameters.mpe)}"
|
|
549
|
+
uses { observable:e_r group.parameters.mpe group.classification.accuracy_class table:test_runs }
|
|
550
|
+
}
|
|
551
|
+
parameters {
|
|
552
|
+
param runs: integer { description "Number of identical load applications per test point" default 3 range { min 3 max 3 } }
|
|
553
|
+
}
|
|
554
|
+
acceptance_criteria {
|
|
555
|
+
type: "threshold"
|
|
556
|
+
description: "Class D repeatability error ≤ |MPE|, determined using 3 runs.\n"
|
|
557
|
+
limit:
|
|
558
|
+
expression: "|E_R|"
|
|
559
|
+
operator: "lte"
|
|
560
|
+
threshold_expression: "|MPE|"
|
|
561
|
+
referenced_function: "lookupMPE"
|
|
562
|
+
unit: "v"
|
|
563
|
+
per_condition: "per load point, across 3 runs"
|
|
564
|
+
}
|
|
565
|
+
dependencies { /req/metrological/repeatability }
|
|
566
|
+
ref derives-from "urn:oiml:pub:r:60-1:2021#clause-5.4"
|
|
567
|
+
}
|
|
568
|
+
|
|
569
|
+
requirement /req/class-d/temperature-effect-mdlo {
|
|
570
|
+
name "Class D temperature effect on MDLO"
|
|
571
|
+
statement "For Class D load cells, the temperature effect on minimum dead load output shall not exceed p_LC × v_min per 5°C temperature increment."
|
|
572
|
+
binds_to { family.parameters.p_lc group.parameters.v_min group.classification.accuracy_class }
|
|
573
|
+
limit {
|
|
574
|
+
quantity { kind dimensionless }
|
|
575
|
+
accepts {
|
|
576
|
+
verdict mdlo_normalized
|
|
577
|
+
op lte
|
|
578
|
+
limit "ocl{p_lc}"
|
|
579
|
+
}
|
|
580
|
+
uses { observable:c_m observable:delta_t profile:temperature_increment family.parameters.p_lc group.parameters.v_min sample.test_context.d_max sample.test_context.d_min group.classification.accuracy_class }
|
|
581
|
+
}
|
|
582
|
+
parameters {
|
|
583
|
+
param temperature_increment: integer { description "Temperature increment for MDLO evaluation" unit "°C" default 5 range { min 5 max 5 } }
|
|
584
|
+
}
|
|
585
|
+
acceptance_criteria {
|
|
586
|
+
type: "threshold"
|
|
587
|
+
description: "Class D temperature effect on MDLO ≤ p_LC × v_min per 5°C.\n"
|
|
588
|
+
limit:
|
|
589
|
+
expression: "|ΔMDLO|"
|
|
590
|
+
operator: "lte"
|
|
591
|
+
threshold_expression: "p_LC × v_min"
|
|
592
|
+
unit: "v"
|
|
593
|
+
per_condition: "per 5°C temperature increment"
|
|
594
|
+
}
|
|
595
|
+
dependencies { /req/metrological/temperature-effect-mdlo }
|
|
596
|
+
ref derives-from "urn:oiml:pub:r:60-1:2021#clause-5.6.1.3"
|
|
597
|
+
}
|
|
598
|
+
|
|
599
|
+
requirement /req/class-d/creep {
|
|
600
|
+
name "Class D creep"
|
|
601
|
+
statement "For Class D load cells, creep over 30 min shall not exceed 0.7 × |MPE|, and the difference between 20 and 30 minute readings shall not exceed 0.15 × |MPE|."
|
|
602
|
+
binds_to { group.parameters.mpe sample.test_context.d_max }
|
|
603
|
+
limit {
|
|
604
|
+
quantity { kind verification_interval unit "v" }
|
|
605
|
+
accepts {
|
|
606
|
+
verdict creep
|
|
607
|
+
op lte
|
|
608
|
+
limit "ocl{0.7 * abs(lookupMPE(sample.test_context.d_max, group.classification.accuracy_class, 0.7))}"
|
|
609
|
+
}
|
|
610
|
+
uses { observable:c_c group.parameters.mpe group.classification.accuracy_class sample.test_context.d_max formula:lookupMPE table:mpe_tiers }
|
|
611
|
+
}
|
|
612
|
+
acceptance_criteria {
|
|
613
|
+
type: "threshold"
|
|
614
|
+
description: "Class D creep ≤ 0.7 × |MPE| over 30 min, and ≤ 0.15 × |MPE| between 20–30 min.\n"
|
|
615
|
+
limit:
|
|
616
|
+
expression: "|creep|"
|
|
617
|
+
operator: "lte"
|
|
618
|
+
threshold_expression: "0.7 × |MPE|"
|
|
619
|
+
referenced_function: "lookupMPE"
|
|
620
|
+
unit: "v"
|
|
621
|
+
per_condition: "over 30 minutes at 90%–100% of E_max"
|
|
622
|
+
}
|
|
623
|
+
dependencies { /req/metrological/creep /req/metrological/creep-20-30 }
|
|
624
|
+
ref derives-from "urn:oiml:pub:r:60-1:2021#clause-5.5.1"
|
|
625
|
+
}
|
|
626
|
+
|
|
627
|
+
requirement /req/class-d/span-stability {
|
|
628
|
+
name "Class D span stability"
|
|
629
|
+
statement "For Class D load cells with electronic components, span stability shall be maintained over the duration test period."
|
|
630
|
+
binds_to { group.parameters.mpe sample.test_context.d_max group.classification.accuracy_class }
|
|
631
|
+
limit {
|
|
632
|
+
expression "ocl{abs(span_variation) <= max(0.5, 0.5 * abs(lookupMPE(sample.test_context.d_max, group.classification.accuracy_class, 1.0)))}"
|
|
633
|
+
uses { observable:span_variation group.parameters.mpe group.classification.accuracy_class sample.test_context.d_max formula:lookupMPE formula:maxAllowableSpanVariation table:mpe_tiers }
|
|
634
|
+
}
|
|
635
|
+
parameters {
|
|
636
|
+
param p_LC_span: number { description "p_LC used for span stability — always 1.0 regardless of manufacturer's declared value." default 1 range { min 1 max 1 } }
|
|
637
|
+
}
|
|
638
|
+
applicability {
|
|
639
|
+
technology: [analogue-active, digital]
|
|
640
|
+
}
|
|
641
|
+
acceptance_criteria {
|
|
642
|
+
type: "threshold"
|
|
643
|
+
description: "Class D span variation ≤ max(0.5v, 0.5 × |MPE|) using p_LC = 1.0.\n"
|
|
644
|
+
limit:
|
|
645
|
+
expression: "|Δspan|"
|
|
646
|
+
operator: "lte"
|
|
647
|
+
threshold_expression: "max(0.5, 0.5 × |MPE|)"
|
|
648
|
+
referenced_function: "maxAllowableSpanVariation"
|
|
649
|
+
unit: "v"
|
|
650
|
+
per_condition: "over duration test period"
|
|
651
|
+
}
|
|
652
|
+
dependencies { /req/electronic/span-stability }
|
|
653
|
+
ref derives-from "urn:oiml:pub:r:60-1:2021#clause-5.7.2.6"
|
|
654
|
+
}
|
|
655
|
+
|