@oimlsmart/primmel-packages 0.13.0 → 0.15.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.
@@ -0,0 +1,97 @@
1
+ # OIML R 129 — the manufacturer promise register (TODO.model-content/03):
2
+ # claims on characteristics and behavior that evaluation verifies and the
3
+ # certificate prints as promises-as-verified (the same doctrine as R 60's
4
+ # set — 02-subjects.md §2.3; 15-model-supply-chain.md §15.2). The
5
+ # certificate's characteristic list GENERATES from this set
6
+ # (browser/src/services/certificate.service.ts certificateCharacteristics()).
7
+ #
8
+ # PROVENANCE (the content-provenance rule): every promise cites the clause
9
+ # its claimed characteristic is defined at: the classification at R 129-2,
10
+ # Annex A (measurement principle) and R 129-1, 2.1 (instrument category),
11
+ # the dimension/scale-interval quantities at R 129-1, 2.2.5 / 2.2.6 /
12
+ # 2.2.9, the rated temperature conditions at R 129-1, 4.2.1, and the
13
+ # measuring-speed bounds at R 129-1, 2.1.10 / 2.1.11. No R 129 clause
14
+ # makes a certificate indication mandatory, so every row prints when
15
+ # available (obligation: optional). Composite range rows bind their
16
+ # boundary attribute pair (`attributes`) and target the response behavior
17
+ # the range conditions (R 60's temperature_range pattern — the composite
18
+ # row targets the concept, never one boundary).
19
+ promise_set MultiDimensionalMeasuringInstrument {
20
+ promise measurement_principle {
21
+ target measurement_principle
22
+ statement "The measurement principle the instrument measures dimensions by."
23
+ source { doc "urn:oiml:pub:r:129-2:2020" clause "A" }
24
+ certificate {
25
+ dimension measurement_principle
26
+ type string
27
+ label "Measurement principle"
28
+ obligation optional
29
+ }
30
+ }
31
+ promise instrument_category {
32
+ target instrument_category
33
+ statement "The instrument's declared category (automatic / semi-automatic)."
34
+ source { doc "urn:oiml:pub:r:129-1:2020" clause "2.1" }
35
+ certificate {
36
+ dimension instrument_category
37
+ type string
38
+ label "Instrument category"
39
+ obligation optional
40
+ }
41
+ }
42
+ promise max_dimension {
43
+ target max_dimension
44
+ statement "Maximum dimension per axis the instrument measures up to."
45
+ source { doc "urn:oiml:pub:r:129-1:2020" clause "2.2.5" }
46
+ certificate {
47
+ attribute max_dimension
48
+ type string
49
+ label "Max dimension per axis"
50
+ obligation optional
51
+ }
52
+ }
53
+ promise min_dimension {
54
+ target min_dimension
55
+ statement "Minimum dimension per axis the instrument measures down to."
56
+ source { doc "urn:oiml:pub:r:129-1:2020" clause "2.2.6" }
57
+ certificate {
58
+ attribute min_dimension
59
+ type string
60
+ label "Min dimension per axis"
61
+ obligation optional
62
+ }
63
+ }
64
+ promise scale_interval {
65
+ target scale_interval
66
+ statement "Scale interval (d) of the instrument's indications."
67
+ source { doc "urn:oiml:pub:r:129-1:2020" clause "2.2.9" }
68
+ certificate {
69
+ attribute scale_interval
70
+ type string
71
+ label "Scale interval (d)"
72
+ obligation optional
73
+ }
74
+ }
75
+ promise temperature_range {
76
+ target temperature-response
77
+ statement "The type holds its metrological performance across the rated temperature range."
78
+ source { doc "urn:oiml:pub:r:129-1:2020" clause "4.2.1" }
79
+ certificate {
80
+ attributes { temperature_min temperature_max }
81
+ type string
82
+ label "Temperature range"
83
+ obligation optional
84
+ }
85
+ }
86
+ promise speed_range {
87
+ target speed-response
88
+ statement "The measuring speed range the conveyor runs within (V_min…V_max)."
89
+ source { doc "urn:oiml:pub:r:129-1:2020" clause "2.1.10" }
90
+ certificate {
91
+ attributes { speed_min speed_max }
92
+ type string
93
+ label "Measuring speed range"
94
+ obligation optional
95
+ }
96
+ }
97
+ }
@@ -0,0 +1,68 @@
1
+ identity_slot manufacturer {
2
+ label "Manufacturer's trademark or corporate name"
3
+ type string
4
+ presentation { marked-on-instrument }
5
+ definition "Manufacturer's trademark or corporate name, inscribed indelibly and irremovably on the gas analyzer (R 144-1, 5.8)."
6
+ metamodel_class identity-provenance.Manufacturer
7
+ source {
8
+ doc "urn:oiml:pub:r:144-1:2013"
9
+ clause "5.8"
10
+ }
11
+ }
12
+
13
+ identity_slot model_designation {
14
+ label "Symbolic designation of the gas analytical system"
15
+ type designation
16
+ presentation { marked-on-instrument }
17
+ definition "Symbolic designation of the gas analytical system (and of each constituent unit), inscribed on the instrument (R 144-1, 5.8)."
18
+ source {
19
+ doc "urn:oiml:pub:r:144-1:2013"
20
+ clause "5.8"
21
+ }
22
+ }
23
+
24
+ identity_slot serial_number {
25
+ label "Serial number"
26
+ type serial
27
+ presentation { marked-on-instrument }
28
+ definition "Serial number of the gas analyzer (and of each constituent unit), inscribed on the instrument (R 144-1, 5.8)."
29
+ source {
30
+ doc "urn:oiml:pub:r:144-1:2013"
31
+ clause "5.8"
32
+ }
33
+ }
34
+
35
+ identity_slot year_of_production {
36
+ label "Year of manufacture"
37
+ type year
38
+ presentation { marked-on-instrument }
39
+ definition "Year of manufacture of the gas analyzer (and of each constituent unit), inscribed on the instrument (R 144-1, 5.8)."
40
+ source {
41
+ doc "urn:oiml:pub:r:144-1:2013"
42
+ clause "5.8"
43
+ }
44
+ }
45
+
46
+ identity_slot type_approval_mark {
47
+ label "Type approval mark"
48
+ type mark
49
+ presentation { marked-on-instrument }
50
+ optional true
51
+ definition "Type approval mark, inscribed on the gas analyzer where applicable (R 144-1, 5.8)."
52
+ source {
53
+ doc "urn:oiml:pub:r:144-1:2013"
54
+ clause "5.8"
55
+ }
56
+ }
57
+
58
+ identity_slot power_supply_parameters {
59
+ label "Power supply parameters"
60
+ type map
61
+ presentation { marked-on-instrument }
62
+ definition "Power supply parameters (voltage, frequency, power consumption), inscribed on the gas analyzer and on each constituent unit (R 144-1, 5.8)."
63
+ source {
64
+ doc "urn:oiml:pub:r:144-1:2013"
65
+ clause "5.8"
66
+ }
67
+ }
68
+
@@ -0,0 +1,118 @@
1
+ # OIML R 144 — the manufacturer promise register (TODO.model-content/03):
2
+ # claims on characteristics and behavior that evaluation verifies and the
3
+ # certificate prints as promises-as-verified (the same doctrine as R 60's
4
+ # set — 02-subjects.md §2.3; 15-model-supply-chain.md §15.2). The
5
+ # certificate's characteristic list GENERATES from this set
6
+ # (browser/src/services/certificate.service.ts certificateCharacteristics()).
7
+ #
8
+ # PROVENANCE (the content-provenance rule): every promise cites the clause
9
+ # its claimed characteristic is defined at (R 144-1:2013): the channel
10
+ # classification at 1.1 (scope) / 2.1 (terminology), the per-component
11
+ # measuring ranges at 4.2, the rated operating conditions at 4.5.1, and
12
+ # the response/warm-up quantities at 2.12 / 2.11. No R 144 clause makes a
13
+ # certificate indication mandatory, so every row prints when available
14
+ # (obligation: optional). Composite range rows bind their boundary
15
+ # attribute pair (`attributes`) and target the measurand channel set the
16
+ # range is a facet of (R 60's temperature_range pattern — the composite
17
+ # row targets the concept, never one boundary).
18
+ promise_set GasAnalyticalSystem {
19
+ promise measurand_components {
20
+ target measurand_components
21
+ statement "The measurand components the analyzer determines — the certified channel set."
22
+ source { doc "urn:oiml:pub:r:144-1:2013" clause "1.1" }
23
+ certificate {
24
+ dimension measurand_components
25
+ type string
26
+ label "Measured components"
27
+ obligation optional
28
+ }
29
+ }
30
+ promise measuring_principle {
31
+ target measuring_principle
32
+ statement "The measuring principle the analyzer's channels operate on."
33
+ source { doc "urn:oiml:pub:r:144-1:2013" clause "1.1" }
34
+ certificate {
35
+ dimension measuring_principle
36
+ type string
37
+ label "Measuring principle"
38
+ obligation optional
39
+ }
40
+ }
41
+ promise sampling_approach {
42
+ target sampling_approach
43
+ statement "The sampling approach the analyzer draws the gas stream by."
44
+ source { doc "urn:oiml:pub:r:144-1:2013" clause "2.1" }
45
+ certificate {
46
+ dimension sampling_approach
47
+ type string
48
+ label "Sampling approach"
49
+ obligation optional
50
+ }
51
+ }
52
+ promise co_range {
53
+ target measurand_components
54
+ statement "The CO measuring range the analyzer is certified over (volume fraction, ppm)."
55
+ source { doc "urn:oiml:pub:r:144-1:2013" clause "4.2" }
56
+ certificate {
57
+ attributes { co_range_min co_range_max }
58
+ type string
59
+ label "CO measuring range (ppm)"
60
+ obligation optional
61
+ }
62
+ }
63
+ promise no_range {
64
+ target measurand_components
65
+ statement "The NO measuring range the analyzer is certified over (volume fraction, ppm)."
66
+ source { doc "urn:oiml:pub:r:144-1:2013" clause "4.2" }
67
+ certificate {
68
+ attributes { no_range_min no_range_max }
69
+ type string
70
+ label "NO measuring range (ppm)"
71
+ obligation optional
72
+ }
73
+ }
74
+ promise no2_range {
75
+ target measurand_components
76
+ statement "The NO2 measuring range the analyzer is certified over (volume fraction, ppm)."
77
+ source { doc "urn:oiml:pub:r:144-1:2013" clause "4.2" }
78
+ certificate {
79
+ attributes { no2_range_min no2_range_max }
80
+ type string
81
+ label "NO2 measuring range (ppm)"
82
+ obligation optional
83
+ }
84
+ }
85
+ promise response_time {
86
+ target response_time
87
+ statement "Response time t_90 the analyzer settles within after a step change of the measurand."
88
+ source { doc "urn:oiml:pub:r:144-1:2013" clause "2.12" }
89
+ certificate {
90
+ attribute response_time
91
+ type string
92
+ label "Response time t_90"
93
+ obligation optional
94
+ }
95
+ }
96
+ promise warm_up_time {
97
+ target warm_up_time
98
+ statement "Warm-up time the analyzer requires before its indications hold."
99
+ source { doc "urn:oiml:pub:r:144-1:2013" clause "2.11" }
100
+ certificate {
101
+ attribute warm_up_time
102
+ type string
103
+ label "Warm-up time"
104
+ obligation optional
105
+ }
106
+ }
107
+ promise rated_conditions {
108
+ target temperature-effect
109
+ statement "The type holds its metrological performance across the rated temperature range (t_min…t_max)."
110
+ source { doc "urn:oiml:pub:r:144-1:2013" clause "4.5.1" }
111
+ certificate {
112
+ attributes { t_min t_max }
113
+ type string
114
+ label "Rated temperature range"
115
+ obligation optional
116
+ }
117
+ }
118
+ }
@@ -0,0 +1,91 @@
1
+ aspect markings {
2
+ label "Markings on the load cell"
3
+ kind marking
4
+ definition "The inscriptions marked clearly and indelibly on the load cell itself: the mandatory markings of R 60-1, 6.2.1 (identity slots and E_max) and the specific markings of 6.2.4 (accuracy class designation, load type symbol, working temperature limits, humidity symbol, n_LC designation). A sticker or data plate must be impossible to remove without damage (6.2.1). Realizes the 6.2 umbrella \"Inscriptions and presentation of load cell information\" for the on-instrument presentation."
5
+ metamodel_class identity-provenance.Marking
6
+ term_ref marking
7
+ contains { model.identity.manufacturer model.identity.model_designation model.identity.serial_number model.identity.year_of_production model.identity.type_approval_mark e_max accuracy_class load_type humidity_symbol n_lc t_min t_max }
8
+ source {
9
+ doc "urn:oiml:pub:r:60-1:2021"
10
+ clause "6.2.1"
11
+ }
12
+ }
13
+
14
+ aspect accompanying_document {
15
+ label "Accompanying document"
16
+ kind documentation
17
+ definition "The document accompanying the load cell supplied by the manufacturer and submitted to the user, carrying the mandatory additional information of R 60-1, 6.2.2 (manufacturer, type designation, accuracy class(es), type of load, working temperature and humidity symbol when required, E_max/E_min/E_lim, v_min or Y, p_LC if not 0.7, and other pertinent conditions) and the non-mandatory information of 6.2.3 (relative v_min Y, relative DR Z)."
18
+ contains { model.identity.manufacturer model.identity.model_designation accuracy_class load_type t_min t_max humidity_symbol e_max e_min e_lim v_min y p_lc dr z }
19
+ source {
20
+ doc "urn:oiml:pub:r:60-1:2021"
21
+ clause "6.2.2"
22
+ }
23
+ }
24
+
25
+ aspect application_documentation {
26
+ label "Application documentation"
27
+ kind documentation
28
+ definition "The documentation submitted with the application for type evaluation (R 60-2, 2.5): description of the general principle of measurement, mechanical drawings (including load transmissions per R 60-2 Annex E), electric/electronic diagrams, installation requirements, operating instructions, evidence supporting compliance, and software documentation where applicable."
29
+ source {
30
+ doc "urn:oiml:pub:r:60-2:2021"
31
+ clause "2.5"
32
+ }
33
+ }
34
+
35
+ aspect sealing {
36
+ label "Sealing"
37
+ kind sealing
38
+ definition "Sealing by mechanical, electronic and/or cryptographic means making any change that affects the metrological integrity of the load cell impossible or evident (R 60-1, 6.1)."
39
+ metamodel_class identity-provenance.Sealing
40
+ term_ref sealing
41
+ source {
42
+ doc "urn:oiml:pub:r:60-1:2021"
43
+ clause "6.1"
44
+ }
45
+ }
46
+
47
+ aspect software {
48
+ label "Legally relevant software"
49
+ kind other
50
+ definition "Embedded programming (firmware) that influences the raw count output of the load cell and any software that modifies load cell performance, evaluated under this Recommendation and OIML D 31 (R 60-1, 6.1): severity level I with validation procedure A, software identification, conformity of manufactured devices, verified/traced field updates, and software documentation."
51
+ metamodel_class identity-provenance.SoftwareComponent
52
+ attribute software_identification
53
+ source {
54
+ doc "urn:oiml:pub:r:60-1:2021"
55
+ clause "6.1"
56
+ }
57
+ }
58
+
59
+ aspect construction {
60
+ label "Design and construction"
61
+ kind construction
62
+ definition "The design and construction of the load cell appraised visually at examination (R 60-2, 2.6): measurement technique (R 60-1, 3.3), shape, sealing of strain gauges, mounting method and manufacturing method — the family criteria of R 60-1, 3.4.2 — plus the installation and mounting provisions making the load cell suitable for testing."
63
+ attribute construction_type
64
+ source {
65
+ doc "urn:oiml:pub:r:60-1:2021"
66
+ clause "3.3"
67
+ }
68
+ }
69
+
70
+ aspect power_supply {
71
+ label "Power supply"
72
+ kind power-supply
73
+ definition "The mains (AC) or battery (DC) power supply of an analogue-active or digital load cell, over which metrological requirements must hold under voltage variations (R 60-1, 5.7.2.2–5.7.2.4)."
74
+ attribute power_voltage
75
+ source {
76
+ doc "urn:oiml:pub:r:60-1:2021"
77
+ clause "5.7.2.2"
78
+ }
79
+ }
80
+
81
+ aspect interfaces {
82
+ label "Electrical interfaces"
83
+ kind interface
84
+ definition "The electrical interface of the load cell — output rating, input and output impedance, supply voltage, cable details and mounting torque — specified as pertinent conditions for obtaining the specified performance (R 60-1, 6.2.2, final item)."
85
+ attribute interfaces
86
+ source {
87
+ doc "urn:oiml:pub:r:60-1:2021"
88
+ clause "6.2.2"
89
+ }
90
+ }
91
+
@@ -0,0 +1,57 @@
1
+ identity_slot manufacturer {
2
+ label "Manufacturer's name or trade mark"
3
+ type string
4
+ presentation { marked-on-instrument accompanying-document }
5
+ definition "Name or trade mark of the manufacturer, marked on the load cell and repeated in the accompanying document (R 60-1, 6.2.1 item 1 and 6.2.2 item 1)."
6
+ metamodel_class identity-provenance.Manufacturer
7
+ source {
8
+ doc "urn:oiml:pub:r:60-1:2021"
9
+ clause "6.2.1"
10
+ }
11
+ }
12
+
13
+ identity_slot model_designation {
14
+ label "Manufacturer's type designation or load cell model"
15
+ type designation
16
+ presentation { marked-on-instrument accompanying-document }
17
+ definition "Type designation or load cell model identifying the approved type, marked on the load cell and repeated in the accompanying document (R 60-1, 6.2.1 item 2 and 6.2.2 item 2)."
18
+ source {
19
+ doc "urn:oiml:pub:r:60-1:2021"
20
+ clause "6.2.1"
21
+ }
22
+ }
23
+
24
+ identity_slot serial_number {
25
+ label "Serial number"
26
+ type serial
27
+ presentation { marked-on-instrument }
28
+ definition "Serial number of the individual load cell, marked on the load cell (R 60-1, 6.2.1 item 3). One of the four minimum markings that must stay on the instrument itself when size limits apply."
29
+ source {
30
+ doc "urn:oiml:pub:r:60-1:2021"
31
+ clause "6.2.1"
32
+ }
33
+ }
34
+
35
+ identity_slot year_of_production {
36
+ label "Year of production"
37
+ type year
38
+ presentation { marked-on-instrument }
39
+ definition "Year of production of the load cell, marked on the load cell (R 60-1, 6.2.1 item 5); may move to the accompanying document when size limits apply (6.2.1, final paragraph)."
40
+ source {
41
+ doc "urn:oiml:pub:r:60-1:2021"
42
+ clause "6.2.1"
43
+ }
44
+ }
45
+
46
+ identity_slot type_approval_mark {
47
+ label "Type approval mark"
48
+ type mark
49
+ presentation { marked-on-instrument }
50
+ optional true
51
+ definition "Type approval mark, marked on the load cell where applicable (R 60-1, 6.2.1 item 6); may move to the accompanying document when size limits apply (6.2.1, final paragraph)."
52
+ source {
53
+ doc "urn:oiml:pub:r:60-1:2021"
54
+ clause "6.2.1"
55
+ }
56
+ }
57
+
@@ -0,0 +1,220 @@
1
+ # OIML R 60 — the manufacturer promise register (TODO.roadmap/08 +
2
+ # TODO.model-content/03): first-class claims on characteristics and
3
+ # behavior — possibly envelope-shaped, possibly conditional — that
4
+ # evaluation verifies and the certificate prints as promises-as-verified
5
+ # (doctrine 02-subjects.md §2.3; 15-model-supply-chain.md §15.2). The
6
+ # certificate's characteristic list GENERATES from this set
7
+ # (browser/src/services/certificate.service.ts); each entry's
8
+ # `certificate` block is the print projection (R 60-4, Annex B).
9
+ #
10
+ # A promise is NOT a declared attribute value: a claim stated as one bare
11
+ # parameter value ("t_min = −10 °C") stays an `origin: declared` attribute
12
+ # (linter C44 promise-not-bare-value, NARROWED semantics: only a bare
13
+ # restatement — attribute target + bare quantity level, no conditions, no
14
+ # verification linkage — is rejected; a genuine claim ABOUT an attribute/
15
+ # dimension, conditioned or envelope/range or symbolic-level or verified,
16
+ # is legal and is exactly what this register does).
17
+ #
18
+ # TYPE ALIGNMENT (TODO.roadmap/08 deliverable 1): the smart-side
19
+ # `PromiseDecl` (browser/src/data/standards.ts) ≡ the kernel's
20
+ # SubjectPromise — id, target, level, conditions, statement, verified_by,
21
+ # source { doc, clause }, certificate { … }.
22
+ #
23
+ # APPLICATION-SIDE MAPPING (deliverable 4): an application's SOUGHT
24
+ # CLASSIFICATION reads as a promise set — the subject-chain classification
25
+ # maps the applicant declares are shape-compatible with the
26
+ # dimension-target/symbolic-level entries below, which evaluation verifies
27
+ # and the certificate prints as promises-as-verified.
28
+ promise_set LoadCell {
29
+ promise e_max_values {
30
+ target e_max
31
+ statement "Maximum capacity E_max per model — the rated capacities the family offers."
32
+ source { doc "urn:oiml:pub:r:60-1:2021" clause "3.5.5" }
33
+ certificate {
34
+ attribute e_max
35
+ type string
36
+ label "E_max values"
37
+ obligation mandatory
38
+ }
39
+ }
40
+ promise accuracy_class {
41
+ target accuracy_class
42
+ statement "The type holds its declared accuracy class — the error characteristic stays within the class MPE."
43
+ verified_by { /req/metrological/mpe /conf/metrological-tests/measurement-error-repeatability-mdlo }
44
+ source { doc "urn:oiml:pub:r:60-1:2021" clause "5.1.1" }
45
+ certificate {
46
+ dimension accuracy_class
47
+ type string
48
+ label "Accuracy class"
49
+ obligation mandatory
50
+ }
51
+ }
52
+ promise n_lc {
53
+ target n_lc
54
+ statement "Maximum number of load cell verification intervals into which the measuring range is divided."
55
+ source { doc "urn:oiml:pub:r:60-1:2021" clause "3.5.8" }
56
+ certificate {
57
+ attribute n_lc
58
+ type integer
59
+ label "Number of verification intervals (n_LC)"
60
+ obligation mandatory
61
+ }
62
+ }
63
+ promise v_min {
64
+ target v_min
65
+ statement "Minimum load cell verification interval the type is certified down to."
66
+ source { doc "urn:oiml:pub:r:60-1:2021" clause "3.5.11" }
67
+ certificate {
68
+ attribute v_min
69
+ type string
70
+ label "Minimum load cell verification interval (v_min)"
71
+ obligation mandatory
72
+ }
73
+ }
74
+ promise p_lc {
75
+ target p_lc
76
+ statement "Apportioning factor p_LC of the load cell for MPE calculations."
77
+ source { doc "urn:oiml:pub:r:60-1:2021" clause "3.7.2" }
78
+ certificate {
79
+ attribute p_lc
80
+ type number
81
+ label "Apportioning factor (p_LC)"
82
+ obligation mandatory
83
+ }
84
+ }
85
+ promise e_min {
86
+ target e_min
87
+ statement "Minimum dead load E_min the load cell measures from."
88
+ source { doc "urn:oiml:pub:r:60-1:2021" clause "3.5.9" }
89
+ certificate {
90
+ attribute e_min
91
+ type string
92
+ label "Minimum dead load (E_min)"
93
+ obligation optional
94
+ }
95
+ }
96
+ promise y_ratio {
97
+ target y
98
+ statement "Relative minimum load cell verification interval Y = E_max / v_min."
99
+ source { doc "urn:oiml:pub:r:60-1:2021" clause "3.5.15" }
100
+ certificate {
101
+ attribute y
102
+ type integer
103
+ label "Relative v_min (Y)"
104
+ obligation optional
105
+ }
106
+ }
107
+ promise z_ratio {
108
+ target z
109
+ statement "Relative minimum dead load output return Z = E_max / (2·DR)."
110
+ source { doc "urn:oiml:pub:r:60-1:2021" clause "3.5.14" }
111
+ certificate {
112
+ attribute z
113
+ type integer
114
+ label "Relative DR (Z)"
115
+ obligation optional
116
+ }
117
+ }
118
+ promise rated_output {
119
+ target rated_output
120
+ statement "Rated output per volt of excitation at maximum capacity, with tolerance."
121
+ source { doc "urn:oiml:pub:r:60-1:2021" clause "3.5.3" }
122
+ certificate {
123
+ attribute rated_output
124
+ type string
125
+ label "Rated output"
126
+ obligation optional
127
+ }
128
+ }
129
+ promise excitation_maximum {
130
+ target excitation_maximum
131
+ statement "Maximum excitation voltage the load cell withstands."
132
+ source { doc "urn:oiml:pub:r:60-1:2021" clause "3.4.2" }
133
+ certificate {
134
+ attribute excitation_maximum
135
+ type number
136
+ label "Maximum excitation voltage (V)"
137
+ obligation optional
138
+ }
139
+ }
140
+ promise input_impedance {
141
+ target input_impedance
142
+ statement "Electrical impedance across the excitation terminals, with tolerance."
143
+ source { doc "urn:oiml:pub:r:60-1:2021" clause "3.4.2" }
144
+ certificate {
145
+ attribute input_impedance
146
+ type string
147
+ label "Input impedance (Ohm)"
148
+ obligation optional
149
+ }
150
+ }
151
+ promise temperature_range {
152
+ target temp-effect-sensitivity
153
+ statement "The type holds its metrological performance across the rated temperature range (T_min…T_max)."
154
+ verified_by { /req/metrological/temperature-limits /conf/metrological-tests/measurement-error-repeatability-mdlo }
155
+ source { doc "urn:oiml:pub:r:60-1:2021" clause "5.6.1" }
156
+ certificate {
157
+ attributes { t_min t_max }
158
+ type string
159
+ label "Temperature rating (°C)"
160
+ obligation optional
161
+ }
162
+ }
163
+ promise safe_overload {
164
+ target safe_overload
165
+ statement "Safe overload the load cell withstands without permanent damage, relative to E_max."
166
+ source { doc "urn:oiml:pub:r:60-1:2021" clause "3.5.16" }
167
+ certificate {
168
+ attribute safe_overload
169
+ type string
170
+ label "Safe overload, relative (%)"
171
+ obligation optional
172
+ }
173
+ }
174
+ promise accuracy_class_envelope {
175
+ target accuracy_class
176
+ level symbolic C6
177
+ conditions ocl{self.temperature >= rated.t_min and self.temperature <= rated.t_max}
178
+ statement "Holds accuracy class C6 across the rated temperature range −10…+40 °C."
179
+ verified_by { /req/metrological/mpe /conf/metrological-tests/measurement-error-repeatability-mdlo }
180
+ source { doc "urn:oiml:pub:r:60-1:2021" clause "5.1.1" }
181
+ certificate {
182
+ type statement
183
+ label "Accuracy envelope"
184
+ obligation optional
185
+ }
186
+ }
187
+ promise cable_length {
188
+ target cable_length
189
+ statement "Integral cable length (the family specification set's cable details, R 60-1, 3.4.2 (e))."
190
+ source { doc "urn:oiml:pub:r:60-1:2021" clause "3.4.2" }
191
+ certificate {
192
+ attribute cable_length
193
+ type quantity
194
+ label "Cable length"
195
+ obligation optional
196
+ }
197
+ }
198
+ promise additional_markings {
199
+ target additional_markings
200
+ statement "Markings on the load cell beyond the required set (manufacturer's optional markings)."
201
+ source { doc "urn:oiml:pub:r:60-1:2021" clause "6" }
202
+ certificate {
203
+ attribute additional_markings
204
+ type string
205
+ label "Additional markings"
206
+ obligation optional
207
+ }
208
+ }
209
+ promise additional_characterisation {
210
+ target additional_characterisation
211
+ statement "Additional characterisation completing the classification (R 60-1, 5.1.5 (f), 5.1.6, 5.1.7)."
212
+ source { doc "urn:oiml:pub:r:60-1:2021" clause "5.1.5" }
213
+ certificate {
214
+ attribute additional_characterisation
215
+ type string
216
+ label "Additional characteristics"
217
+ obligation optional
218
+ }
219
+ }
220
+ }
@@ -0,0 +1,23 @@
1
+ identity_slot manufacturer {
2
+ label "Manufacturer's name or trade mark"
3
+ type string
4
+ presentation { marked-on-instrument }
5
+ definition "Name or trade mark of the manufacturer, in the descriptive markings of the speed meter (R 91-1, 7.11; sealing per 7.13)."
6
+ metamodel_class identity-provenance.Manufacturer
7
+ source {
8
+ doc "urn:oiml:pub:r:91-1:2025"
9
+ clause "7.13"
10
+ }
11
+ }
12
+
13
+ identity_slot model_designation {
14
+ label "Type designation"
15
+ type designation
16
+ presentation { marked-on-instrument }
17
+ definition "Designation of the approved type of speed meter, in the descriptive markings (R 91-1, 7.11; sealing per 7.13)."
18
+ source {
19
+ doc "urn:oiml:pub:r:91-1:2025"
20
+ clause "7.13"
21
+ }
22
+ }
23
+