@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.
Files changed (460) hide show
  1. package/AGENTS.md +60 -0
  2. package/LICENSE +21 -0
  3. package/README.md +68 -0
  4. package/acme-cgm-200/model/cgm200.prl +284 -0
  5. package/acme-cgm-200/model/r144-map.prl +337 -0
  6. package/acme-cgm-200/package.primmel +39 -0
  7. package/acme-cgm-system/model/cgm-system.prl +125 -0
  8. package/acme-cgm-system/model/r144-map.prl +75 -0
  9. package/acme-cgm-system/model/sample-line.prl +42 -0
  10. package/acme-cgm-system/package.primmel +23 -0
  11. package/acme-lc500/model/lc500.prl +218 -0
  12. package/acme-lc500/model/passport.prl +43 -0
  13. package/acme-lc500/model/r60-map.prl +161 -0
  14. package/acme-lc500/model/twin-cert-map.prl +114 -0
  15. package/acme-lc500/package.primmel +35 -0
  16. package/acme-md3xx/model/md350.prl +317 -0
  17. package/acme-md3xx/model/r129-map.prl +346 -0
  18. package/acme-md3xx/package.primmel +49 -0
  19. package/acme-rs180/model/r91-map.prl +234 -0
  20. package/acme-rs180/model/rs180.prl +236 -0
  21. package/acme-rs180/package.primmel +47 -0
  22. package/ims-demo/model/ims.prl +23 -0
  23. package/ims-demo/model/isms-map.prl +60 -0
  24. package/ims-demo/model/qms-map.prl +73 -0
  25. package/ims-demo/package.primmel +42 -0
  26. package/isms-ref/model/isms.prl +34 -0
  27. package/isms-ref/package.primmel +35 -0
  28. package/iso-iec-17000/package.primmel +8 -0
  29. package/iso-iec-17000/terminology.prl +268 -0
  30. package/iso-iec-17025/package.primmel +10 -0
  31. package/iso-iec-17025/specification/requirements/lab.prl +474 -0
  32. package/iso-iec-17025/terminology.prl +72 -0
  33. package/iso-iec-17065/package.primmel +10 -0
  34. package/iso-iec-17065/specification/requirements/body.prl +446 -0
  35. package/iso-iec-17065/terminology.prl +103 -0
  36. package/iso-iec-17067/package.primmel +10 -0
  37. package/iso-iec-17067/specification/requirements/scheme-content.prl +300 -0
  38. package/iso-iec-17067/terminology.prl +24 -0
  39. package/oiml-cs/package.primmel +10 -0
  40. package/oiml-cs/specification/discrepancies.prl +26 -0
  41. package/oiml-cs/specification/requirements/cs.prl +515 -0
  42. package/oiml-cs-dataspace/.primmel-allowlist.prl +25 -0
  43. package/oiml-cs-dataspace/package.primmel +9 -0
  44. package/oiml-cs-dataspace/specification/dataspace.prl +73 -0
  45. package/oiml-cs-dataspace/specification/policies.prl +68 -0
  46. package/oiml-integrated-ref/model/probe-pairing.prl +71 -0
  47. package/oiml-integrated-ref/package.primmel +10 -0
  48. package/oiml-r129/.primmel-allowlist.prl +2 -0
  49. package/oiml-r129/evaluation/processes.prl +152 -0
  50. package/oiml-r129/evaluation/workflow.prl +48 -0
  51. package/oiml-r129/execution/forms/admin/adjustments-modifications.prl +30 -0
  52. package/oiml-r129/execution/forms/admin/checklist.prl +70 -0
  53. package/oiml-r129/execution/forms/admin/configuration.prl +31 -0
  54. package/oiml-r129/execution/forms/admin/equipment-info.prl +27 -0
  55. package/oiml-r129/execution/forms/admin/general-info.prl +63 -0
  56. package/oiml-r129/execution/forms/admin/identification.prl +49 -0
  57. package/oiml-r129/execution/forms/admin/sample-selection.prl +30 -0
  58. package/oiml-r129/execution/forms/admin/summary-results.prl +50 -0
  59. package/oiml-r129/execution/forms/emc/bursts.prl +88 -0
  60. package/oiml-r129/execution/forms/emc/esd.prl +66 -0
  61. package/oiml-r129/execution/forms/emc/low-voltage-battery.prl +58 -0
  62. package/oiml-r129/execution/forms/emc/rf-immunity-conducted.prl +59 -0
  63. package/oiml-r129/execution/forms/emc/rf-immunity-radiated.prl +59 -0
  64. package/oiml-r129/execution/forms/emc/surge.prl +61 -0
  65. package/oiml-r129/execution/forms/emc/voltage-dips.prl +62 -0
  66. package/oiml-r129/execution/forms/emc/voltage-variation.prl +58 -0
  67. package/oiml-r129/execution/forms/env/damp-heat-cyclic.prl +43 -0
  68. package/oiml-r129/execution/forms/env/damp-heat-steady.prl +50 -0
  69. package/oiml-r129/execution/forms/env/static-temperatures.prl +61 -0
  70. package/oiml-r129/execution/forms/shared/headers.prl +86 -0
  71. package/oiml-r129/execution/forms/tests/acoustics.prl +44 -0
  72. package/oiml-r129/execution/forms/tests/ambient-light.prl +46 -0
  73. package/oiml-r129/execution/forms/tests/construction-examination.prl +46 -0
  74. package/oiml-r129/execution/forms/tests/examination-checklist.prl +51 -0
  75. package/oiml-r129/execution/forms/tests/object-shape.prl +43 -0
  76. package/oiml-r129/execution/forms/tests/orientation-position.prl +31 -0
  77. package/oiml-r129/execution/forms/tests/repeatability.prl +65 -0
  78. package/oiml-r129/execution/forms/tests/speed-movement.prl +59 -0
  79. package/oiml-r129/execution/forms/tests/surface-characteristics.prl +44 -0
  80. package/oiml-r129/execution/forms/tests/warm-up-time.prl +35 -0
  81. package/oiml-r129/execution/subforms/dimension-measurement.prl +93 -0
  82. package/oiml-r129/layers.prl +50 -0
  83. package/oiml-r129/model/attributes.prl +243 -0
  84. package/oiml-r129/model/behaviors.prl +79 -0
  85. package/oiml-r129/model/capabilities.prl +29 -0
  86. package/oiml-r129/model/characteristics.prl +8 -0
  87. package/oiml-r129/model/conditions.prl +23 -0
  88. package/oiml-r129/model/instrument.prl +67 -0
  89. package/oiml-r129/model/state.prl +22 -0
  90. package/oiml-r129/model/twin.prl +23 -0
  91. package/oiml-r129/package.primmel +15 -0
  92. package/oiml-r129/payload/application.yaml +40 -0
  93. package/oiml-r129/payload/conditions-common-test.yaml +8 -0
  94. package/oiml-r129/payload/formulas-variants.yaml +33 -0
  95. package/oiml-r129/payload/promises.yaml +102 -0
  96. package/oiml-r129/payload/sample-data.yaml +300 -0
  97. package/oiml-r129/references.prl +306 -0
  98. package/oiml-r129/sources-prd/coverage.json +59 -0
  99. package/oiml-r129/sources-prd/r129-1.sentences.json +4238 -0
  100. package/oiml-r129/sources-prd/r129-2.sentences.json +1139 -0
  101. package/oiml-r129/sources-prd/r129-3.sentences.json +3809 -0
  102. package/oiml-r129/sources-prd/r129-4.sentences.json +1227 -0
  103. package/oiml-r129/specification/calculations.prl +83 -0
  104. package/oiml-r129/specification/conformance/disturbance-tests.prl +212 -0
  105. package/oiml-r129/specification/conformance/effect-tests.prl +70 -0
  106. package/oiml-r129/specification/conformance/examinations.prl +83 -0
  107. package/oiml-r129/specification/conformance/metrological-tests.prl +178 -0
  108. package/oiml-r129/specification/formulas.prl +9 -0
  109. package/oiml-r129/specification/requirements/electronic.prl +46 -0
  110. package/oiml-r129/specification/requirements/metrological.prl +83 -0
  111. package/oiml-r129/specification/requirements/object-limitations.prl +99 -0
  112. package/oiml-r129/specification/requirements/software.prl +57 -0
  113. package/oiml-r129/specification/requirements/technical.prl +134 -0
  114. package/oiml-r129/specification/symbols.prl +187 -0
  115. package/oiml-r129/specification/tables.prl +74 -0
  116. package/oiml-r129/terminology.prl +415 -0
  117. package/oiml-r129/value-types.prl +40 -0
  118. package/oiml-r144/.primmel-allowlist.prl +2 -0
  119. package/oiml-r144/entities/instrument.prl +360 -0
  120. package/oiml-r144/entities/test-execution.prl +228 -0
  121. package/oiml-r144/entities/workflow.prl +2075 -0
  122. package/oiml-r144/evaluation/processes.prl +152 -0
  123. package/oiml-r144/evaluation/workflow.prl +48 -0
  124. package/oiml-r144/execution/forms/sec-3-report/03-01-laboratory-info.prl +19 -0
  125. package/oiml-r144/execution/forms/sec-3-report/03-02-test-location.prl +14 -0
  126. package/oiml-r144/execution/forms/sec-3-report/03-03-manufacturer-info.prl +18 -0
  127. package/oiml-r144/execution/forms/sec-3-report/03-04-applicant-info.prl +19 -0
  128. package/oiml-r144/execution/forms/sec-3-report/03-05-type-identification.prl +80 -0
  129. package/oiml-r144/execution/forms/sec-3-report/03-06-type-composition.prl +31 -0
  130. package/oiml-r144/execution/forms/sec-3-report/03-07-visual-examination.prl +46 -0
  131. package/oiml-r144/execution/forms/sec-3-report/03-08-test-conclusions.prl +46 -0
  132. package/oiml-r144/execution/forms/sec-3-report/03-09-general-conclusion.prl +19 -0
  133. package/oiml-r144/execution/forms/sec-3-report/03-10-responsible-persons.prl +27 -0
  134. package/oiml-r144/execution/forms/sec-tests/ambient-pressure-test.prl +59 -0
  135. package/oiml-r144/execution/forms/sec-tests/bursts-mains-test.prl +52 -0
  136. package/oiml-r144/execution/forms/sec-tests/bursts-signal-test.prl +55 -0
  137. package/oiml-r144/execution/forms/sec-tests/cold-test.prl +48 -0
  138. package/oiml-r144/execution/forms/sec-tests/cross-sensitivity-test.prl +92 -0
  139. package/oiml-r144/execution/forms/sec-tests/damp-heat-test.prl +50 -0
  140. package/oiml-r144/execution/forms/sec-tests/documentation-examination.prl +52 -0
  141. package/oiml-r144/execution/forms/sec-tests/drift-test.prl +83 -0
  142. package/oiml-r144/execution/forms/sec-tests/dry-heat-test.prl +53 -0
  143. package/oiml-r144/execution/forms/sec-tests/error-determination.prl +37 -0
  144. package/oiml-r144/execution/forms/sec-tests/esd-test.prl +53 -0
  145. package/oiml-r144/execution/forms/sec-tests/flow-spillover-test.prl +83 -0
  146. package/oiml-r144/execution/forms/sec-tests/leakproofness-test.prl +41 -0
  147. package/oiml-r144/execution/forms/sec-tests/low-battery-test.prl +48 -0
  148. package/oiml-r144/execution/forms/sec-tests/power-reduction-test.prl +49 -0
  149. package/oiml-r144/execution/forms/sec-tests/power-supply-test.prl +57 -0
  150. package/oiml-r144/execution/forms/sec-tests/repeatability-test.prl +60 -0
  151. package/oiml-r144/execution/forms/sec-tests/response-time-test.prl +43 -0
  152. package/oiml-r144/execution/forms/sec-tests/rf-emf-test.prl +47 -0
  153. package/oiml-r144/execution/forms/sec-tests/shock-test.prl +50 -0
  154. package/oiml-r144/execution/forms/sec-tests/surge-test.prl +52 -0
  155. package/oiml-r144/execution/forms/sec-tests/vibration-test.prl +58 -0
  156. package/oiml-r144/execution/forms/sec-tests/warm-up-time-test.prl +69 -0
  157. package/oiml-r144/execution/forms/shared/headers.prl +132 -0
  158. package/oiml-r144/execution/subforms/cgm-point.prl +99 -0
  159. package/oiml-r144/layers.prl +44 -0
  160. package/oiml-r144/model/attributes.prl +679 -0
  161. package/oiml-r144/model/behaviors.prl +117 -0
  162. package/oiml-r144/model/capabilities.prl +99 -0
  163. package/oiml-r144/model/characteristics.prl +27 -0
  164. package/oiml-r144/model/conditions.prl +46 -0
  165. package/oiml-r144/model/instrument.prl +85 -0
  166. package/oiml-r144/model/state.prl +18 -0
  167. package/oiml-r144/model/twin.prl +25 -0
  168. package/oiml-r144/package.primmel +15 -0
  169. package/oiml-r144/payload/application.yaml +80 -0
  170. package/oiml-r144/payload/attributes-pair-list.yaml +18 -0
  171. package/oiml-r144/payload/conditions-common-test.yaml +74 -0
  172. package/oiml-r144/payload/formulas-variants.yaml +32 -0
  173. package/oiml-r144/payload/promises.yaml +118 -0
  174. package/oiml-r144/payload/sample-data.yaml +643 -0
  175. package/oiml-r144/references.prl +594 -0
  176. package/oiml-r144/sources-prd/coverage.json +114 -0
  177. package/oiml-r144/sources-prd/r144-1.sentences.json +2797 -0
  178. package/oiml-r144/sources-prd/r144-2.sentences.json +1627 -0
  179. package/oiml-r144/sources-prd/r144-3.sentences.json +838 -0
  180. package/oiml-r144/specification/calculations.prl +123 -0
  181. package/oiml-r144/specification/conformance/examination.prl +87 -0
  182. package/oiml-r144/specification/conformance/performance-tests.prl +755 -0
  183. package/oiml-r144/specification/formulas.prl +37 -0
  184. package/oiml-r144/specification/reference-materials.prl +87 -0
  185. package/oiml-r144/specification/requirements/controls.prl +51 -0
  186. package/oiml-r144/specification/requirements/metrological.prl +299 -0
  187. package/oiml-r144/specification/requirements/report.prl +35 -0
  188. package/oiml-r144/specification/requirements/technical.prl +455 -0
  189. package/oiml-r144/specification/symbols.prl +357 -0
  190. package/oiml-r144/specification/tables.prl +95 -0
  191. package/oiml-r144/specification/test-point-sets.prl +15 -0
  192. package/oiml-r144/terminology.prl +308 -0
  193. package/oiml-r144/value-types.prl +49 -0
  194. package/oiml-r60/.primmel-allowlist.prl +2 -0
  195. package/oiml-r60/entities/workflow.prl +2079 -0
  196. package/oiml-r60/evaluation/processes.prl +152 -0
  197. package/oiml-r60/evaluation/workflow.prl +48 -0
  198. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-01-authority-info.prl +76 -0
  199. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-02-synopsis.prl +20 -0
  200. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-03-01-examinations.prl +27 -0
  201. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-03-02-a-performance-general.prl +81 -0
  202. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-03-02-b-performance-digital.prl +104 -0
  203. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-04-01-manufacturer.prl +21 -0
  204. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-04-02-applicant.prl +44 -0
  205. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-04-03-testing-laboratories.prl +69 -0
  206. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-05-load-cell-type-info.prl +83 -0
  207. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-06-accessories.prl +41 -0
  208. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-07-sample-selection.prl +71 -0
  209. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-01-general-info.prl +103 -0
  210. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-02-performance-info.prl +66 -0
  211. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-03-digital-info.prl +35 -0
  212. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-04-photographs.prl +12 -0
  213. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-05-documentation.prl +27 -0
  214. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-06-inscriptions.prl +126 -0
  215. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-07-model-range.prl +143 -0
  216. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-09-12-previous-tests.prl +26 -0
  217. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-01-force-generating-system.prl +89 -0
  218. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-02-weights.prl +61 -0
  219. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-03-temperature-chamber.prl +96 -0
  220. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-04-climate-chamber.prl +96 -0
  221. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-05-indicator.prl +92 -0
  222. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-06-terminal.prl +86 -0
  223. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-07-barometric-pressure-meter.prl +62 -0
  224. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-08-thermometer.prl +62 -0
  225. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-09-moisture-analyser.prl +62 -0
  226. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-10-additional-test-equipment.prl +69 -0
  227. package/oiml-r60/execution/forms/sec-4-evaluation-report/04-10-11-remarks.prl +11 -0
  228. package/oiml-r60/execution/forms/sec-4-evaluation-report/test-usage-matrix.prl +85 -0
  229. package/oiml-r60/execution/forms/sec-5-examination/documentation-examination.prl +53 -0
  230. package/oiml-r60/execution/forms/sec-5-examination/marking-examination.prl +104 -0
  231. package/oiml-r60/execution/forms/sec-5-examination/software-examination.prl +86 -0
  232. package/oiml-r60/execution/forms/sec-5-examination/suitability-examination.prl +56 -0
  233. package/oiml-r60/execution/forms/sec-6-performance-tests/barometric-pressure.prl +176 -0
  234. package/oiml-r60/execution/forms/sec-6-performance-tests/bursts.prl +129 -0
  235. package/oiml-r60/execution/forms/sec-6-performance-tests/conducted-emc.prl +170 -0
  236. package/oiml-r60/execution/forms/sec-6-performance-tests/creep-dr.prl +327 -0
  237. package/oiml-r60/execution/forms/sec-6-performance-tests/emc-susceptibility.prl +115 -0
  238. package/oiml-r60/execution/forms/sec-6-performance-tests/esd.prl +224 -0
  239. package/oiml-r60/execution/forms/sec-6-performance-tests/humidity-ch.prl +300 -0
  240. package/oiml-r60/execution/forms/sec-6-performance-tests/humidity-sh.prl +235 -0
  241. package/oiml-r60/execution/forms/sec-6-performance-tests/initial-tests.prl +129 -0
  242. package/oiml-r60/execution/forms/sec-6-performance-tests/load-cell-errors.prl +280 -0
  243. package/oiml-r60/execution/forms/sec-6-performance-tests/load-test.prl +29 -0
  244. package/oiml-r60/execution/forms/sec-6-performance-tests/performance-test-summary.prl +82 -0
  245. package/oiml-r60/execution/forms/sec-6-performance-tests/power-voltage.prl +166 -0
  246. package/oiml-r60/execution/forms/sec-6-performance-tests/repeatability.prl +189 -0
  247. package/oiml-r60/execution/forms/sec-6-performance-tests/short-time-power.prl +98 -0
  248. package/oiml-r60/execution/forms/sec-6-performance-tests/span-stability.prl +242 -0
  249. package/oiml-r60/execution/forms/sec-6-performance-tests/surge.prl +142 -0
  250. package/oiml-r60/execution/forms/sec-6-performance-tests/temperature-mdlo.prl +180 -0
  251. package/oiml-r60/execution/forms/sec-6-performance-tests/warm-up-time.prl +207 -0
  252. package/oiml-r60/execution/forms/shared/headers.prl +255 -0
  253. package/oiml-r60/execution/subforms/load-test-row.prl +55 -0
  254. package/oiml-r60/execution/subforms/test-procedures.prl +33 -0
  255. package/oiml-r60/layers.prl +46 -0
  256. package/oiml-r60/model/attributes.prl +642 -0
  257. package/oiml-r60/model/behaviors.prl +165 -0
  258. package/oiml-r60/model/capabilities.prl +57 -0
  259. package/oiml-r60/model/characteristics.prl +27 -0
  260. package/oiml-r60/model/conditions.prl +50 -0
  261. package/oiml-r60/model/instrument.prl +96 -0
  262. package/oiml-r60/model/processes.prl +54 -0
  263. package/oiml-r60/model/state.prl +22 -0
  264. package/oiml-r60/model/twin.prl +16 -0
  265. package/oiml-r60/package.primmel +16 -0
  266. package/oiml-r60/payload/annexes-part4.yaml +122 -0
  267. package/oiml-r60/payload/application.yaml +83 -0
  268. package/oiml-r60/payload/conditions-common-test.yaml +121 -0
  269. package/oiml-r60/payload/formulas-variants.yaml +55 -0
  270. package/oiml-r60/payload/promises.yaml +224 -0
  271. package/oiml-r60/payload/sample-data.yaml +5025 -0
  272. package/oiml-r60/payload/symbols-formula-notes.yaml +21 -0
  273. package/oiml-r60/references.prl +549 -0
  274. package/oiml-r60/sources-prd/coverage.json +740 -0
  275. package/oiml-r60/sources-prd/r60-1.sentences.json +2173 -0
  276. package/oiml-r60/sources-prd/r60-2.sentences.json +2961 -0
  277. package/oiml-r60/sources-prd/r60-3.sentences.json +4212 -0
  278. package/oiml-r60/sources-prd/r60-a.sentences.json +3361 -0
  279. package/oiml-r60/specification/calculations.prl +318 -0
  280. package/oiml-r60/specification/conformance/class-specific.prl +1120 -0
  281. package/oiml-r60/specification/conformance/electronic.prl +483 -0
  282. package/oiml-r60/specification/conformance/examination.prl +183 -0
  283. package/oiml-r60/specification/conformance/metrological.prl +478 -0
  284. package/oiml-r60/specification/constraints.prl +58 -0
  285. package/oiml-r60/specification/formulas-used.prl +43 -0
  286. package/oiml-r60/specification/formulas.prl +20 -0
  287. package/oiml-r60/specification/requirements/class-specific.prl +655 -0
  288. package/oiml-r60/specification/requirements/classification.prl +114 -0
  289. package/oiml-r60/specification/requirements/electronic.prl +222 -0
  290. package/oiml-r60/specification/requirements/metrological.prl +381 -0
  291. package/oiml-r60/specification/requirements/technical.prl +146 -0
  292. package/oiml-r60/specification/symbols.prl +599 -0
  293. package/oiml-r60/specification/tables.prl +182 -0
  294. package/oiml-r60/specification/test-sequences.prl +72 -0
  295. package/oiml-r60/terminology.prl +920 -0
  296. package/oiml-r60/value-types.prl +46 -0
  297. package/oiml-r91/.primmel-allowlist.prl +3 -0
  298. package/oiml-r91/entities/instrument.prl +359 -0
  299. package/oiml-r91/entities/workflow.prl +2075 -0
  300. package/oiml-r91/evaluation/processes.prl +152 -0
  301. package/oiml-r91/evaluation/workflow.prl +48 -0
  302. package/oiml-r91/execution/forms/evidence-file.prl +41 -0
  303. package/oiml-r91/execution/forms/report-evaluation/appraisal.prl +30 -0
  304. package/oiml-r91/execution/forms/report-evaluation/checklist-summary.prl +43 -0
  305. package/oiml-r91/execution/forms/report-evaluation/checklist.prl +76 -0
  306. package/oiml-r91/execution/forms/report-evaluation/configuration-samples.prl +22 -0
  307. package/oiml-r91/execution/forms/report-evaluation/corrective-actions.prl +24 -0
  308. package/oiml-r91/execution/forms/report-evaluation/descriptions.prl +47 -0
  309. package/oiml-r91/execution/forms/report-evaluation/evaluation-identification.prl +219 -0
  310. package/oiml-r91/execution/forms/report-evaluation/test-report-summary.prl +33 -0
  311. package/oiml-r91/execution/forms/report-general/adjustments.prl +12 -0
  312. package/oiml-r91/execution/forms/report-general/alignment-aiming.prl +17 -0
  313. package/oiml-r91/execution/forms/report-general/checking-facility.prl +17 -0
  314. package/oiml-r91/execution/forms/report-general/configuration.prl +12 -0
  315. package/oiml-r91/execution/forms/report-general/identification.prl +216 -0
  316. package/oiml-r91/execution/forms/report-general/indications-controls.prl +17 -0
  317. package/oiml-r91/execution/forms/report-general/sealing.prl +21 -0
  318. package/oiml-r91/execution/forms/report-general/software-description.prl +26 -0
  319. package/oiml-r91/execution/forms/report-general/summary-environmental.prl +35 -0
  320. package/oiml-r91/execution/forms/report-general/summary-tests.prl +35 -0
  321. package/oiml-r91/execution/forms/report-general/test-equipment.prl +36 -0
  322. package/oiml-r91/execution/forms/report-general/test-interface.prl +16 -0
  323. package/oiml-r91/execution/forms/report-tests/01-01-field-test.prl +84 -0
  324. package/oiml-r91/execution/forms/report-tests/01-02-statistical-analysis.prl +76 -0
  325. package/oiml-r91/execution/forms/report-tests/01-03-image-evidence.prl +30 -0
  326. package/oiml-r91/execution/forms/report-tests/02-01-dynamic-performance.prl +92 -0
  327. package/oiml-r91/execution/forms/report-tests/02-02-speed-linearity.prl +23 -0
  328. package/oiml-r91/execution/forms/report-tests/02-03-distance-linearity.prl +67 -0
  329. package/oiml-r91/execution/forms/report-tests/02-04-angle-linearity.prl +59 -0
  330. package/oiml-r91/execution/forms/report-tests/03-01-dry-heat-operating.prl +38 -0
  331. package/oiml-r91/execution/forms/report-tests/03-02-dry-heat-storage.prl +48 -0
  332. package/oiml-r91/execution/forms/report-tests/03-03-cold-operating.prl +40 -0
  333. package/oiml-r91/execution/forms/report-tests/03-04-cold-storage.prl +48 -0
  334. package/oiml-r91/execution/forms/report-tests/03-05-damp-heat-cyclic.prl +40 -0
  335. package/oiml-r91/execution/forms/report-tests/03-06-water.prl +48 -0
  336. package/oiml-r91/execution/forms/report-tests/03-07-sand-and-dust.prl +48 -0
  337. package/oiml-r91/execution/forms/report-tests/03-08-salt-mist.prl +48 -0
  338. package/oiml-r91/execution/forms/report-tests/03-09-vibration-random.prl +40 -0
  339. package/oiml-r91/execution/forms/report-tests/03-10-mechanical-shock.prl +48 -0
  340. package/oiml-r91/execution/forms/report-tests/03-11-dc-mains-voltage-variation.prl +40 -0
  341. package/oiml-r91/execution/forms/report-tests/03-12-ripple-on-dc-mains.prl +47 -0
  342. package/oiml-r91/execution/forms/report-tests/03-13-ac-mains-voltage-variation.prl +40 -0
  343. package/oiml-r91/execution/forms/report-tests/03-14-ac-mains-frequency-variation.prl +40 -0
  344. package/oiml-r91/execution/forms/report-tests/03-15-dc-mains-voltage-dips.prl +46 -0
  345. package/oiml-r91/execution/forms/report-tests/03-16-ac-mains-voltage-dips.prl +46 -0
  346. package/oiml-r91/execution/forms/report-tests/03-17-ac-mains-frequency-harmonics.prl +47 -0
  347. package/oiml-r91/execution/forms/report-tests/03-18-vlf-lf-disturbances.prl +46 -0
  348. package/oiml-r91/execution/forms/report-tests/03-19-bursts-ac-dc-mains.prl +44 -0
  349. package/oiml-r91/execution/forms/report-tests/03-20-surges-ac-dc-mains.prl +45 -0
  350. package/oiml-r91/execution/forms/report-tests/03-21-bursts-signal-lines.prl +45 -0
  351. package/oiml-r91/execution/forms/report-tests/03-22-surges-signal-lines.prl +46 -0
  352. package/oiml-r91/execution/forms/report-tests/03-23-ac-mains-magnetic-field.prl +45 -0
  353. package/oiml-r91/execution/forms/report-tests/03-24-conducted-rf-common-mode.prl +46 -0
  354. package/oiml-r91/execution/forms/report-tests/03-25-rf-electromagnetic-fields.prl +49 -0
  355. package/oiml-r91/execution/forms/report-tests/03-26-electrostatic-discharges.prl +47 -0
  356. package/oiml-r91/execution/forms/report-tests/03-27-internal-battery-low-voltage.prl +40 -0
  357. package/oiml-r91/execution/forms/report-tests/03-28-road-vehicle-battery.prl +40 -0
  358. package/oiml-r91/execution/forms/report-tests/03-29-transient-supply-lines.prl +47 -0
  359. package/oiml-r91/execution/forms/report-tests/03-30-transient-other-lines.prl +45 -0
  360. package/oiml-r91/execution/forms/report-tests/03-31-battery-cranking.prl +45 -0
  361. package/oiml-r91/execution/forms/report-tests/03-32-load-dump.prl +47 -0
  362. package/oiml-r91/execution/forms/report-tests/03-33-acceleration.prl +66 -0
  363. package/oiml-r91/execution/forms/report-tests/03-34-further-influence.prl +60 -0
  364. package/oiml-r91/execution/forms/report-tests/03-35-installation-alignment.prl +29 -0
  365. package/oiml-r91/execution/forms/report-tests/04-01-doppler-radar.prl +43 -0
  366. package/oiml-r91/execution/forms/report-tests/04-02-range-finding.prl +42 -0
  367. package/oiml-r91/execution/forms/report-tests/04-03-average-speed.prl +41 -0
  368. package/oiml-r91/execution/forms/report-tests/04-04-fixed-distance.prl +40 -0
  369. package/oiml-r91/execution/forms/report-tests/04-05-image-based.prl +41 -0
  370. package/oiml-r91/execution/forms/report-tests/04-06-across-road.prl +42 -0
  371. package/oiml-r91/execution/forms/report-tests/05-01-moving-field-test.prl +29 -0
  372. package/oiml-r91/execution/forms/report-tests/05-02-ego-field-test.prl +57 -0
  373. package/oiml-r91/execution/forms/report-tests/05-03-moving-traffic-simulation.prl +31 -0
  374. package/oiml-r91/execution/forms/report-tests/06-01-software-general.prl +25 -0
  375. package/oiml-r91/execution/forms/report-tests/06-02-software-protection.prl +25 -0
  376. package/oiml-r91/execution/forms/report-tests/06-03-software-hardware-support.prl +24 -0
  377. package/oiml-r91/execution/forms/report-tests/06-04-software-separation.prl +25 -0
  378. package/oiml-r91/execution/forms/report-tests/06-05-software-maintenance.prl +24 -0
  379. package/oiml-r91/execution/forms/report-tests/07-general-remarks.prl +11 -0
  380. package/oiml-r91/execution/forms/shared/header-a.prl +63 -0
  381. package/oiml-r91/execution/subforms/software-matrix-row.prl +30 -0
  382. package/oiml-r91/execution/subforms/speed-measurement-row.prl +38 -0
  383. package/oiml-r91/layers.prl +46 -0
  384. package/oiml-r91/model/artifacts.prl +29 -0
  385. package/oiml-r91/model/attributes.prl +698 -0
  386. package/oiml-r91/model/behaviors.prl +142 -0
  387. package/oiml-r91/model/capabilities.prl +88 -0
  388. package/oiml-r91/model/characteristics.prl +27 -0
  389. package/oiml-r91/model/conditions.prl +37 -0
  390. package/oiml-r91/model/instrument.prl +147 -0
  391. package/oiml-r91/model/state.prl +22 -0
  392. package/oiml-r91/model/twin.prl +17 -0
  393. package/oiml-r91/package.primmel +14 -0
  394. package/oiml-r91/payload/application.yaml +201 -0
  395. package/oiml-r91/payload/conditions-common-test.yaml +19 -0
  396. package/oiml-r91/payload/promises.yaml +142 -0
  397. package/oiml-r91/payload/sample-data.yaml +464 -0
  398. package/oiml-r91/references.prl +72 -0
  399. package/oiml-r91/sources-prd/coverage.json +106 -0
  400. package/oiml-r91/sources-prd/r91-1.sentences.json +4696 -0
  401. package/oiml-r91/sources-prd/r91-2.sentences.json +2067 -0
  402. package/oiml-r91/sources-prd/r91-3.sentences.json +5210 -0
  403. package/oiml-r91/sources-prd/r91-4.sentences.json +474 -0
  404. package/oiml-r91/specification/calculations.prl +26 -0
  405. package/oiml-r91/specification/conformance/influence-disturbance.prl +1792 -0
  406. package/oiml-r91/specification/conformance/metrological.prl +906 -0
  407. package/oiml-r91/specification/formulas.prl +10 -0
  408. package/oiml-r91/specification/requirements/class-specific.prl +308 -0
  409. package/oiml-r91/specification/requirements/metrological.prl +176 -0
  410. package/oiml-r91/specification/requirements/technical.prl +173 -0
  411. package/oiml-r91/specification/symbols.prl +323 -0
  412. package/oiml-r91/specification/tables.prl +136 -0
  413. package/oiml-r91/terminology.prl +535 -0
  414. package/oiml-r91/value-types.prl +26 -0
  415. package/oiml-smart-core/entities/comments.prl +101 -0
  416. package/oiml-smart-core/entities/cs-operations.prl +492 -0
  417. package/oiml-smart-core/entities/cs-participants.prl +470 -0
  418. package/oiml-smart-core/entities/engagement.prl +323 -0
  419. package/oiml-smart-core/entities/instrument.prl +359 -0
  420. package/oiml-smart-core/entities/module-b.prl +214 -0
  421. package/oiml-smart-core/entities/operated-schemes.prl +141 -0
  422. package/oiml-smart-core/entities/parties.prl +429 -0
  423. package/oiml-smart-core/entities/payment-records.prl +92 -0
  424. package/oiml-smart-core/entities/verification.prl +187 -0
  425. package/oiml-smart-core/entities/workflow.prl +2075 -0
  426. package/oiml-smart-core/evaluation/roles.prl +65 -0
  427. package/oiml-smart-core/evaluation/state-machines.prl +1157 -0
  428. package/oiml-smart-core/package.primmel +10 -0
  429. package/oiml-smart-core/specification/competence-kinds.prl +64 -0
  430. package/oiml-smart-core/specification/constraints.prl +40 -0
  431. package/oiml-smart-core/specification/invariants.prl +90 -0
  432. package/oiml-smart-core/specification/predicates.prl +116 -0
  433. package/oiml-smart-module-emc-disturbances/package.primmel +10 -0
  434. package/oiml-smart-module-env-iec60068/package.primmel +10 -0
  435. package/oiml-smart-module-examination-docs/package.primmel +10 -0
  436. package/oiml-smart-module-reference-materials/package.primmel +10 -0
  437. package/oiml-smart-module-report-headers/package.primmel +10 -0
  438. package/oiml-smart-module-software-d31/package.primmel +10 -0
  439. package/oiml-smart-module-specimen-governance/entities/test-execution.prl +228 -0
  440. package/oiml-smart-module-specimen-governance/package.primmel +10 -0
  441. package/oiml-twin-cert/documents/tw-1/document.yaml +454 -0
  442. package/oiml-twin-cert/evaluation/roles.prl +15 -0
  443. package/oiml-twin-cert/execution/forms/probe-creep.prl +179 -0
  444. package/oiml-twin-cert/execution/forms/probe.prl +99 -0
  445. package/oiml-twin-cert/execution/forms/static-conformance.prl +50 -0
  446. package/oiml-twin-cert/model/attributes.prl +243 -0
  447. package/oiml-twin-cert/model/behaviors.prl +8 -0
  448. package/oiml-twin-cert/model/characteristics.prl +18 -0
  449. package/oiml-twin-cert/model/monitors.prl +16 -0
  450. package/oiml-twin-cert/package.primmel +16 -0
  451. package/oiml-twin-cert/specification/conformance/twin-fidelity.prl +176 -0
  452. package/oiml-twin-cert/specification/requirements/twin-fidelity.prl +137 -0
  453. package/oiml-twin-cert/specification/symbols.prl +36 -0
  454. package/oiml-twin-cert/terminology.prl +8 -0
  455. package/oimlsmart-primmel-packages-0.1.0.tgz +0 -0
  456. package/package.json +17 -0
  457. package/qms-ref/model/qms.prl +31 -0
  458. package/qms-ref/package.primmel +38 -0
  459. package/quarry-belt-scale/model/ops.prl +115 -0
  460. package/quarry-belt-scale/package.primmel +36 -0
@@ -0,0 +1,15 @@
1
+ package {
2
+ id oiml-r129
3
+ kind rec
4
+ title "OIML R 129:2020 — R 129 package"
5
+ version "2020"
6
+ editions { 2020 }
7
+ baseUrn "urn:oiml:pub:r:129:2020"
8
+ uses { iso-iec-17000 iso-iec-17065 iso-iec-17025 iso-iec-17067 oiml-cs oiml-smart-core oiml-smart-module-specimen-governance oiml-smart-module-emc-disturbances oiml-smart-module-env-iec60068 }
9
+ requires { core subject-chain-entities party-entities workflow-entities evaluation-skeleton iso-iec-17000 ca-terminology-17000 iso-iec-17025 lab-requirements-17025 ca-terminology-17025 iso-iec-17065 cb-requirements-17065 ca-terminology-17065 iso-iec-17067 scheme-content-requirements-17067 ca-terminology-17067 oiml-cs cs-process-requirements cs-certificate-requirements disturbance-test-skeletons disturbance-form-skeletons disturbance-verdict-variants env-method-skeletons env-form-skeletons sample-selection-rules eut-continuity-contract test-execution-entities }
10
+ validity { from 2020-01-01 }
11
+ status current
12
+ default_spelling eng-Latn
13
+ description "Multi-dimensional measuring instruments — requirements for instruments that measure the length, width and height of objects to determine dimensional volume and weight for postage, freight or storage charges."
14
+ source { collection "sources/r129/collection.yml" parts { 1 2 3 4 } }
15
+ }
@@ -0,0 +1,40 @@
1
+ # GENERATED package payload (task 31b) — content with no PRL construct; composed back by regenerate-data + build-primmel-cache. Do not edit by hand.
2
+ application:
3
+ documentation:
4
+ - id: technical-documentation
5
+ name:
6
+ - spelling: eng-Latn
7
+ value: Technical documentation
8
+ description:
9
+ - spelling: eng-Latn
10
+ value: >-
11
+ The technical documentation of the instrument — drawings, specifications, photographs and descriptions
12
+ sufficient to understand its construction and method of operation (R 129-2, 1.2).
13
+ obligation: shall
14
+ source:
15
+ doc: urn:oiml:pub:r:129-2:2020
16
+ clause: '1.2'
17
+ - id: measurement-data
18
+ name:
19
+ - spelling: eng-Latn
20
+ value: Measurement data details and calculation methods
21
+ description:
22
+ - spelling: eng-Latn
23
+ value: The details of the measurement data and the calculation methods the instrument applies (R 129-2, 1.2).
24
+ obligation: shall
25
+ source:
26
+ doc: urn:oiml:pub:r:129-2:2020
27
+ clause: '1.2'
28
+ - id: software-documentation
29
+ name:
30
+ - spelling: eng-Latn
31
+ value: Software documentation
32
+ description:
33
+ - spelling: eng-Latn
34
+ value: >-
35
+ Documentation of the legally relevant software, sufficient for a reasonable evaluation (R 129-2, 1.2.2 and
36
+ 1.1.2).
37
+ obligation: may
38
+ source:
39
+ doc: urn:oiml:pub:r:129-2:2020
40
+ clause: 1.2.2
@@ -0,0 +1,8 @@
1
+ # GENERATED package payload (task 31b) — content with no PRL construct; composed back by regenerate-data + build-primmel-cache. Do not edit by hand.
2
+ common_test_conditions:
3
+ - id: dimensional-performance-tests
4
+ title: Performance test conditions
5
+ reference: urn:oiml:pub:r:129-2:2020#clause-A
6
+ description: >
7
+ Test objects of known dimensions covering the measuring range; the zero or ready condition set before each
8
+ measurement series; reference conditions 20 °C ± 5 °C and (50 ± 15) % RH unless the procedure states otherwise.
@@ -0,0 +1,33 @@
1
+ # GENERATED package payload (task 31b) — content with no PRL construct; composed back by regenerate-data + build-primmel-cache. Do not edit by hand.
2
+ formulas:
3
+ - name: lookupMPE
4
+ type: expression
5
+ label: Maximum Permissible Error
6
+ params:
7
+ - d
8
+ description: MPE = ±1.0 d per R 129-1, 4.1.2
9
+ expression: 1.0 * p.d
10
+ - name: lookupMinDimension
11
+ type: expression
12
+ label: Minimum Dimension
13
+ params:
14
+ - d
15
+ description: Min dimension lower limit per R 129-1, Table 2
16
+ expression: 'p.d <= 0.02 ? 10 * p.d : (p.d <= 0.1 ? 20 * p.d : 50 * p.d)'
17
+ - name: dimensionalVolume
18
+ type: expression
19
+ label: Dimensional Volume
20
+ params:
21
+ - L
22
+ - W
23
+ - H
24
+ description: DV = L × W × H
25
+ expression: p.L * p.W * p.H
26
+ - name: determinePassFail
27
+ type: pass_fail
28
+ label: Pass/Fail Determination
29
+ params:
30
+ - error
31
+ - mpe
32
+ description: '|error| <= |mpe| -> pass, else fail'
33
+ expression: Math.abs(p.error) <= Math.abs(p.mpe)
@@ -0,0 +1,102 @@
1
+ # OIML R 129 — MODEL LAYER: PROMISES (TODO.model-content/03)
2
+ # -----------------------------------------------------------------------------
3
+ # First-class manufacturer PROMISES for multi-dimensional measuring
4
+ # instruments: claims on characteristics and behavior that evaluation
5
+ # verifies and the certificate prints as promises-as-verified (the same
6
+ # doctrine as R 60's set — primmel-oiml-smart/docs/primmel/02-subjects.md
7
+ # §2.3; 15-model-supply-chain.md §15.2). R 129 had NO promise set before
8
+ # this wave — this register is authored from scratch, its certificate print
9
+ # rows carrying the surface the hand-maintained characteristics_template of
10
+ # evaluation/certificate-template.yaml formerly restated (which keeps only
11
+ # number_format and dimension_labels). The certificate's characteristic
12
+ # list is GENERATED from this promise set (browser/src/services/
13
+ # certificate.service.ts certificateCharacteristics()).
14
+ #
15
+ # PACKAGE HOME: this file is the package payload `payload/promises.yaml` —
16
+ # the promise set is AUTHORED here, in the package, and regenerate-data
17
+ # emits data/r129/model/promises.yaml VERBATIM (the generated fileHeader +
18
+ # these raw bytes; the documented codec exclusion, same class as
19
+ # payload/sample-data.yaml). The kernel's SubjectPromise carries no
20
+ # certificate print-projection field yet — the projection's first-class PRL
21
+ # home is the recorded primmel-ts kernel-minor follow-up; when it ships,
22
+ # this payload migrates to `promises.prl` and the promise CONTENT rides
23
+ # over unchanged.
24
+ #
25
+ # PROVENANCE (the content-provenance rule): every promise cites the clause
26
+ # its claimed characteristic is defined at (the clause the model's own
27
+ # attribute/dimension declaration carries): the classification at R 129-2,
28
+ # Annex A (measurement principle) and R 129-1, 2.1 (instrument category),
29
+ # the dimension/scale-interval quantities at R 129-1, 2.2.5 / 2.2.6 /
30
+ # 2.2.9, the rated temperature conditions at R 129-1, 4.2.1, and the
31
+ # measuring-speed bounds at R 129-1, 2.1.10 / 2.1.11. No R 129 clause makes
32
+ # a certificate indication mandatory, so every row prints when available
33
+ # (obligation: optional). Composite range rows bind their boundary
34
+ # attribute pair (`certificate.attributes`) and target the response
35
+ # behavior the range conditions (R 60's temperature_range pattern — the
36
+ # composite row targets the concept, never one boundary).
37
+ #
38
+ # Schema: data/schemas/model.yaml ($defs/promise).
39
+ ---
40
+ promises:
41
+
42
+ # ── Classification (R 129-2, Annex A / R 129-1, 2.1) ─────────────────
43
+
44
+ - id: measurement_principle
45
+ target: measurement_principle # classification dimension (model/instrument.yaml)
46
+ statement:
47
+ - spelling: eng-Latn
48
+ value: "The measurement principle the instrument measures dimensions by."
49
+ source: { doc: urn:oiml:pub:r:129-2:2020, clause: "A" }
50
+ certificate: { dimension: measurement_principle, type: string, label: [{spelling: eng-Latn, value: "Measurement principle"}], obligation: optional }
51
+
52
+ - id: instrument_category
53
+ target: instrument_category
54
+ statement:
55
+ - spelling: eng-Latn
56
+ value: "The instrument's declared category (automatic / semi-automatic)."
57
+ source: { doc: urn:oiml:pub:r:129-1:2020, clause: "2.1" }
58
+ certificate: { dimension: instrument_category, type: string, label: [{spelling: eng-Latn, value: "Instrument category"}], obligation: optional }
59
+
60
+ # ── Measuring-range definition quantities (R 129-1, 2.2.5–2.2.9) ─────
61
+
62
+ - id: max_dimension
63
+ target: max_dimension
64
+ statement:
65
+ - spelling: eng-Latn
66
+ value: "Maximum dimension per axis the instrument measures up to."
67
+ source: { doc: urn:oiml:pub:r:129-1:2020, clause: "2.2.5" }
68
+ certificate: { attribute: max_dimension, type: string, label: [{spelling: eng-Latn, value: "Max dimension per axis"}], obligation: optional }
69
+
70
+ - id: min_dimension
71
+ target: min_dimension
72
+ statement:
73
+ - spelling: eng-Latn
74
+ value: "Minimum dimension per axis the instrument measures down to."
75
+ source: { doc: urn:oiml:pub:r:129-1:2020, clause: "2.2.6" }
76
+ certificate: { attribute: min_dimension, type: string, label: [{spelling: eng-Latn, value: "Min dimension per axis"}], obligation: optional }
77
+
78
+ - id: scale_interval
79
+ target: scale_interval
80
+ statement:
81
+ - spelling: eng-Latn
82
+ value: "Scale interval (d) of the instrument's indications."
83
+ source: { doc: urn:oiml:pub:r:129-1:2020, clause: "2.2.9" }
84
+ certificate: { attribute: scale_interval, type: string, label: [{spelling: eng-Latn, value: "Scale interval (d)"}], obligation: optional }
85
+
86
+ # ── Rated operating conditions (R 129-1, 4.2.1 / 2.1.10–2.1.11) ──────
87
+
88
+ - id: temperature_range
89
+ target: temperature-response # behaviors.yaml — the temperature influence response
90
+ statement:
91
+ - spelling: eng-Latn
92
+ value: "The type holds its metrological performance across the rated temperature range."
93
+ source: { doc: urn:oiml:pub:r:129-1:2020, clause: "4.2.1" }
94
+ certificate: { attributes: [temperature_min, temperature_max], type: string, label: [{spelling: eng-Latn, value: "Temperature range"}], obligation: optional }
95
+
96
+ - id: speed_range
97
+ target: speed-response # behaviors.yaml — the measuring-speed response
98
+ statement:
99
+ - spelling: eng-Latn
100
+ value: "The measuring speed range the conveyor runs within (V_min…V_max)."
101
+ source: { doc: urn:oiml:pub:r:129-1:2020, clause: "2.1.10" }
102
+ certificate: { attributes: [speed_min, speed_max], type: string, label: [{spelling: eng-Latn, value: "Measuring speed range"}], obligation: optional }
@@ -0,0 +1,300 @@
1
+ # OIML R 129 Sample Data — 1 evaluation flow
2
+ # Modelled on data/r144/sample-data.yaml's shape:
3
+ # MeasuringInstrumentModelFamily -> MeasuringInstrumentModel
4
+ # -> MeasuringInstrumentSample (NO groups — R 129 defines no group level)
5
+ # plus workflow entities (Application, TestRequest, TestReport, EvaluationReport,
6
+ # Certificate) with re-typed FKs (model_family_id, model_ids, sample_ids,
7
+ # model_id). standard_id is oiml-r129 on every record.
8
+ # classification maps use dimension ids (measurement_principle,
9
+ # instrument_category, power_supply, object_capability) with dimension enum
10
+ # values; parameters maps use attribute ids with { value, unit? } entries
11
+ # (QuantityValue, INV-1).
12
+ #
13
+ # Flow 1 (ported from the legacy data/oiml-r129 flow sample-nl1-ds500):
14
+ # ACME Dynamics B.V. MD-3D-500 — optical / automatic / AC mains conveyor
15
+ # instrument for rectangular parcels (laser triangulation), d = 1 cm,
16
+ # Min 10 cm / Max 250 cm, +5/+40 °C — the full program: all mains voltage
17
+ # tests, ESD + RF immunity, ambient light, and the speed-of-movement test.
18
+ standard: oiml-r129
19
+ description: >
20
+ One OIML R 129 type evaluation flow for a multi-dimensional measuring
21
+ instrument: 1 manufacturer -> 1 model family -> 1 model -> 1 physical
22
+ sample (the unit representing the definitive type), then application ->
23
+ test_request -> test_report -> evaluation -> certificate. Modelled on an
24
+ ETL Certin (EX2) reference certificate.
25
+
26
+ flows:
27
+ # ════════════════════════════════════════════════════════════════════
28
+ # FLOW 1 — ACME Dynamics B.V. MD-3D-500 (optical, automatic, AC mains)
29
+ # ════════════════════════════════════════════════════════════════════
30
+ - name: "EX2/ETL — ACME Dynamics MD-3D-500"
31
+ id_prefix: sample-nl1-ds500
32
+ party:
33
+ laboratory_id: "11"
34
+ authority_id: EX2
35
+ subject:
36
+ manufacturer:
37
+ id: mfr-dymes
38
+ standard_id: oiml-r129
39
+ company: "ACME Dynamics B.V."
40
+ street: "Merkurstraat 12"
41
+ city: "Dordrecht"
42
+ postalCode: "3316 TH"
43
+ country: "Netherlands"
44
+ phone: "+31 78 632 4500"
45
+ created: "2023-11-01"
46
+ modified: "2024-03-20"
47
+ family:
48
+ id: fam-dymscale-3d
49
+ standard_id: oiml-r129
50
+ family_designation: "MD-3D Series"
51
+ manufacturer_id: mfr-dymes
52
+ classification:
53
+ measurement_principle: optical
54
+ parameters:
55
+ temperature_min: { value: 5, unit: degC }
56
+ temperature_max: { value: 40, unit: degC }
57
+ created: "2023-11-01"
58
+ modified: "2024-03-20"
59
+ models:
60
+ - id: mod-dymscale-3d-500
61
+ standard_id: oiml-r129
62
+ model_designation: "MD-3D-500"
63
+ manufacturer_id: mfr-dymes
64
+ family_id: fam-dymscale-3d
65
+ classification:
66
+ instrument_category: automatic
67
+ power_supply: ac-mains
68
+ object_capability: rectangular-only
69
+ parameters:
70
+ scale_interval: { value: 1, unit: cm }
71
+ min_dimension: { value: 10, unit: cm }
72
+ max_dimension: { value: 250, unit: cm }
73
+ conversion_factor: { value: 5000, unit: cm3/kg }
74
+ speed_min: { value: 0.5, unit: m/s }
75
+ speed_max: { value: 2.0, unit: m/s }
76
+ nominal_voltage: { value: 230, unit: V }
77
+ capabilities: [multi-dimensional-measuring-instrument, automatic-operation]
78
+ created: "2023-11-01"
79
+ modified: "2024-03-20"
80
+ samples:
81
+ - id: smp-dymscale-001
82
+ standard_id: oiml-r129
83
+ serial_number: "DS500-2023-0081"
84
+ model_id: mod-dymscale-3d-500
85
+ manufacturer_id: mfr-dymes
86
+ application_id: app-acme-md3d
87
+ status: TESTING_COMPLETE
88
+ condition: NEW
89
+ custody_events:
90
+ - { date: "2024-01-22", type: RECEIVED, actor: "ETL Test Laboratory", notes: "Sample received from manufacturer" }
91
+ - { date: "2024-03-08", type: TESTING_COMPLETE, actor: "ETL Test Laboratory", notes: "Type evaluation tests complete" }
92
+ - { date: "2024-03-20", type: RETURNED, actor: "EX2", notes: "Sample returned to manufacturer after certificate issue" }
93
+ created: "2024-01-15"
94
+ modified: "2024-03-20"
95
+ application:
96
+ id: app-acme-md3d
97
+ standard_id: oiml-r129
98
+ application_number: "EX-ACM-2024-MD3D"
99
+ date_of_application: "2024-01-20"
100
+ status: ACCEPTED
101
+ applicant:
102
+ company: "ACME Dynamics B.V."
103
+ representative: "Ir. Jeroen van Dam"
104
+ address: "Merkurstraat 12, 3316 TH Dordrecht, Netherlands"
105
+ contact: "+31 78 632 4500"
106
+ reference: "DY-2024-3D500"
107
+ date_of_application: "2024-01-20"
108
+ application_number: "EX-ACM-2024-MD3D"
109
+ authorisedByManufacturer: true
110
+ noConcurrentApplication: true
111
+ model_family_id: fam-dymscale-3d
112
+ model_ids: [mod-dymscale-3d-500]
113
+ sample_ids: [smp-dymscale-001]
114
+ documentation:
115
+ - { name: "Technical documentation", description: "Complete technical file per R 129-2, 1.2", submitted: true, reference: "TD-DS500-2024" }
116
+ - { name: "Drawings", description: "Measuring-frame and conveyor drawings", submitted: true }
117
+ - { name: "Operating manual", description: "MD-3D-500 operating manual EN/NL", submitted: true }
118
+ - { name: "Software documentation", description: "Firmware v3.2.1 information (R 129-2, 1.2.2)", submitted: true }
119
+ submitted_date: "2024-01-20"
120
+ reviewed_date: "2024-02-05"
121
+ reviewer: "ETL Certification"
122
+ review_notes: "Complete documentation. Optical laser-triangulation frame over conveyor; rectangular parcels only; firmware v3.2.1."
123
+ test_request:
124
+ id: trq-dymscale-01
125
+ standard_id: oiml-r129
126
+ request_number: "TRQ-NL-DY-2024-001-01"
127
+ application_id: app-acme-md3d
128
+ requesting_authority_id: EX2
129
+ assigned_laboratory_id: "11"
130
+ status: COMPLETED
131
+ scheme: A
132
+ issued_date: "2024-02-08"
133
+ issued_by: "ETL Certification"
134
+ test_conditions:
135
+ temperature_range: "+5/+40"
136
+ supply_voltage: "230 V AC, 50 Hz"
137
+ assignments:
138
+ - { id: asg-ds500-identification-001, form_id: identification, sample_id: smp-dymscale-001, model_id: mod-dymscale-3d-500, status: COMPLETED }
139
+ - { id: asg-ds500-general-info-001, form_id: general-info, sample_id: smp-dymscale-001, model_id: mod-dymscale-3d-500, status: COMPLETED }
140
+ - { id: asg-ds500-equipment-info-001, form_id: equipment-info, sample_id: smp-dymscale-001, model_id: mod-dymscale-3d-500, status: COMPLETED }
141
+ - { id: asg-ds500-configuration-001, form_id: configuration, sample_id: smp-dymscale-001, model_id: mod-dymscale-3d-500, status: COMPLETED }
142
+ - { id: asg-ds500-sample-selection-001, form_id: sample-selection, sample_id: smp-dymscale-001, model_id: mod-dymscale-3d-500, status: COMPLETED }
143
+ - { id: asg-ds500-adjustments-modifications-001, form_id: adjustments-modifications, sample_id: smp-dymscale-001, model_id: mod-dymscale-3d-500, status: COMPLETED }
144
+ - { id: asg-ds500-warm-up-time-001, form_id: warm-up-time, sample_id: smp-dymscale-001, model_id: mod-dymscale-3d-500, status: COMPLETED }
145
+ - { id: asg-ds500-repeatability-001, form_id: repeatability, sample_id: smp-dymscale-001, model_id: mod-dymscale-3d-500, status: COMPLETED }
146
+ - { id: asg-ds500-static-temperatures-001, form_id: static-temperatures, sample_id: smp-dymscale-001, model_id: mod-dymscale-3d-500, status: COMPLETED }
147
+ - { id: asg-ds500-damp-heat-steady-001, form_id: damp-heat-steady, sample_id: smp-dymscale-001, model_id: mod-dymscale-3d-500, status: COMPLETED }
148
+ - { id: asg-ds500-voltage-variation-001, form_id: voltage-variation, sample_id: smp-dymscale-001, model_id: mod-dymscale-3d-500, status: COMPLETED }
149
+ - { id: asg-ds500-voltage-dips-001, form_id: voltage-dips, sample_id: smp-dymscale-001, model_id: mod-dymscale-3d-500, status: COMPLETED }
150
+ - { id: asg-ds500-bursts-001, form_id: bursts, sample_id: smp-dymscale-001, model_id: mod-dymscale-3d-500, status: COMPLETED }
151
+ - { id: asg-ds500-esd-001, form_id: esd, sample_id: smp-dymscale-001, model_id: mod-dymscale-3d-500, status: COMPLETED }
152
+ - { id: asg-ds500-surge-001, form_id: surge, sample_id: smp-dymscale-001, model_id: mod-dymscale-3d-500, status: COMPLETED }
153
+ - { id: asg-ds500-rf-immunity-radiated-001, form_id: rf-immunity-radiated, sample_id: smp-dymscale-001, model_id: mod-dymscale-3d-500, status: COMPLETED }
154
+ - { id: asg-ds500-rf-immunity-conducted-001, form_id: rf-immunity-conducted, sample_id: smp-dymscale-001, model_id: mod-dymscale-3d-500, status: COMPLETED }
155
+ - { id: asg-ds500-damp-heat-cyclic-001, form_id: damp-heat-cyclic, sample_id: smp-dymscale-001, model_id: mod-dymscale-3d-500, status: COMPLETED }
156
+ - { id: asg-ds500-ambient-light-001, form_id: ambient-light, sample_id: smp-dymscale-001, model_id: mod-dymscale-3d-500, status: COMPLETED }
157
+ - { id: asg-ds500-construction-examination-001, form_id: construction-examination, sample_id: smp-dymscale-001, model_id: mod-dymscale-3d-500, status: COMPLETED }
158
+ - { id: asg-ds500-object-shape-001, form_id: object-shape, sample_id: smp-dymscale-001, model_id: mod-dymscale-3d-500, status: COMPLETED }
159
+ - { id: asg-ds500-surface-characteristics-001, form_id: surface-characteristics, sample_id: smp-dymscale-001, model_id: mod-dymscale-3d-500, status: COMPLETED }
160
+ - { id: asg-ds500-orientation-position-001, form_id: orientation-position, sample_id: smp-dymscale-001, model_id: mod-dymscale-3d-500, status: COMPLETED }
161
+ - { id: asg-ds500-speed-movement-001, form_id: speed-movement, sample_id: smp-dymscale-001, model_id: mod-dymscale-3d-500, status: COMPLETED }
162
+ - { id: asg-ds500-summary-results-001, form_id: summary-results, sample_id: smp-dymscale-001, model_id: mod-dymscale-3d-500, status: COMPLETED }
163
+ - { id: asg-ds500-checklist-001, form_id: checklist, sample_id: smp-dymscale-001, model_id: mod-dymscale-3d-500, status: COMPLETED }
164
+ test_report:
165
+ id: trp-acme-md3d
166
+ standard_id: oiml-r129
167
+ report_number: "NMI-TR-2024-R129-001"
168
+ test_request_id: trq-dymscale-01
169
+ application_id: app-acme-md3d
170
+ laboratory_id: "11"
171
+ model_family_id: fam-dymscale-3d
172
+ sample_ids: [smp-dymscale-001]
173
+ status: ACCEPTED
174
+ evaluator: "ETL Test Laboratory"
175
+ submitted_date: "2024-03-10"
176
+ forms:
177
+ - identification
178
+ - general-info
179
+ - equipment-info
180
+ - configuration
181
+ - sample-selection
182
+ - adjustments-modifications
183
+ - warm-up-time
184
+ - repeatability
185
+ - static-temperatures
186
+ - damp-heat-steady
187
+ - voltage-variation
188
+ - voltage-dips
189
+ - bursts
190
+ - esd
191
+ - surge
192
+ - rf-immunity-radiated
193
+ - rf-immunity-conducted
194
+ - damp-heat-cyclic
195
+ - ambient-light
196
+ - construction-examination
197
+ - object-shape
198
+ - surface-characteristics
199
+ - orientation-position
200
+ - speed-movement
201
+ - summary-results
202
+ - checklist
203
+ form_default_result: PASS
204
+ form_overrides:
205
+ warm-up-time:
206
+ measurements:
207
+ - { condition: "0 min", test_object_id: "TO-MIN (10.0 × 10.0 × 10.0 cm)", indication_l: 10.0, error_l: 0.0, indication_w: 10.0, error_w: 0.0, indication_h: 10.1, error_h: 0.1, reference_l: 10.0, reference_w: 10.0, reference_h: 10.0, mpe: 1.0, pass_fail: true }
208
+ - { condition: "5 min", test_object_id: "TO-MIN (10.0 × 10.0 × 10.0 cm)", indication_l: 10.0, error_l: 0.0, indication_w: 10.0, error_w: 0.0, indication_h: 10.0, error_h: 0.0, reference_l: 10.0, reference_w: 10.0, reference_h: 10.0, mpe: 1.0, pass_fail: true }
209
+ - { condition: "15 min", test_object_id: "TO-MAX (240.0 × 120.0 × 100.0 cm)", indication_l: 240.1, error_l: 0.1, indication_w: 120.0, error_w: 0.0, indication_h: 100.0, error_h: 0.0, reference_l: 240.0, reference_w: 120.0, reference_h: 100.0, mpe: 1.0, pass_fail: true }
210
+ - { condition: "30 min", test_object_id: "TO-MAX (240.0 × 120.0 × 100.0 cm)", indication_l: 240.0, error_l: 0.0, indication_w: 120.0, error_w: 0.0, indication_h: 100.0, error_h: 0.0, reference_l: 240.0, reference_w: 120.0, reference_h: 100.0, mpe: 1.0, pass_fail: true }
211
+ within_mpe: true
212
+ repeatability:
213
+ conversion_factor: 5000
214
+ conveyor_speed: 90
215
+ measurements:
216
+ - { condition: "Run 1", test_object_id: "TO-3 (60.0 × 40.0 × 30.0 cm)", indication_l: 60.0, error_l: 0.0, indication_w: 40.0, error_w: 0.0, indication_h: 30.0, error_h: 0.0, reference_l: 60.0, reference_w: 40.0, reference_h: 30.0, mpe: 1.0, pass_fail: true }
217
+ - { condition: "Run 2", test_object_id: "TO-3 (60.0 × 40.0 × 30.0 cm)", indication_l: 60.1, error_l: 0.1, indication_w: 40.0, error_w: 0.0, indication_h: 30.0, error_h: 0.0, reference_l: 60.0, reference_w: 40.0, reference_h: 30.0, mpe: 1.0, pass_fail: true }
218
+ - { condition: "Run 3", test_object_id: "TO-3 (60.0 × 40.0 × 30.0 cm)", indication_l: 60.0, error_l: 0.0, indication_w: 40.1, error_w: 0.1, indication_h: 30.0, error_h: 0.0, reference_l: 60.0, reference_w: 40.0, reference_h: 30.0, mpe: 1.0, pass_fail: true }
219
+ calculated_quantities_correct: true
220
+ within_mpe_and_calculated: true
221
+ static-temperatures:
222
+ severity: 40
223
+ temperature_low: 5
224
+ measurements:
225
+ - { condition: "Initial reference 20 °C", test_object_id: "TO-4 (100.0 × 60.0 × 40.0 cm)", indication_l: 100.0, error_l: 0.0, indication_w: 60.0, error_w: 0.0, indication_h: 40.0, error_h: 0.0, reference_l: 100.0, reference_w: 60.0, reference_h: 40.0, mpe: 1.0, pass_fail: true }
226
+ - { condition: "High temperature 40 °C", test_object_id: "TO-4 (100.0 × 60.0 × 40.0 cm)", indication_l: 100.1, error_l: 0.1, indication_w: 60.0, error_w: 0.0, indication_h: 40.0, error_h: 0.0, reference_l: 100.0, reference_w: 60.0, reference_h: 40.0, mpe: 1.0, pass_fail: true }
227
+ - { condition: "Low temperature 5 °C", test_object_id: "TO-4 (100.0 × 60.0 × 40.0 cm)", indication_l: 100.0, error_l: 0.0, indication_w: 60.1, error_w: 0.1, indication_h: 40.0, error_h: 0.0, reference_l: 100.0, reference_w: 60.0, reference_h: 40.0, mpe: 1.0, pass_fail: true }
228
+ - { condition: "Return reference 20 °C", test_object_id: "TO-4 (100.0 × 60.0 × 40.0 cm)", indication_l: 100.0, error_l: 0.0, indication_w: 60.0, error_w: 0.0, indication_h: 40.0, error_h: 0.0, reference_l: 100.0, reference_w: 60.0, reference_h: 40.0, mpe: 1.0, pass_fail: true }
229
+ influence_verdict: true
230
+ voltage-variation:
231
+ nominal_voltage: 230
232
+ measurements:
233
+ - { condition: "Nominal 230 V", test_object_id: "TO-4 (100.0 × 60.0 × 40.0 cm)", indication_l: 100.0, error_l: 0.0, indication_w: 60.0, error_w: 0.0, indication_h: 40.0, error_h: 0.0, reference_l: 100.0, reference_w: 60.0, reference_h: 40.0, mpe: 1.0, pass_fail: true }
234
+ - { condition: "Nominal +10 % (253 V)", test_object_id: "TO-4 (100.0 × 60.0 × 40.0 cm)", indication_l: 100.0, error_l: 0.0, indication_w: 60.0, error_w: 0.0, indication_h: 40.1, error_h: 0.1, reference_l: 100.0, reference_w: 60.0, reference_h: 40.0, mpe: 1.0, pass_fail: true }
235
+ - { condition: "Nominal −15 % (195.5 V)", test_object_id: "TO-4 (100.0 × 60.0 × 40.0 cm)", indication_l: 100.1, error_l: 0.1, indication_w: 60.0, error_w: 0.0, indication_h: 40.0, error_h: 0.0, reference_l: 100.0, reference_w: 60.0, reference_h: 40.0, mpe: 1.0, pass_fail: true }
236
+ disturbance_verdict: true
237
+ esd:
238
+ severity: { contact_voltage_kv: 6, air_voltage_kv: 8, discharge_network: "150 pF via 330 Ω", polarity: both }
239
+ measurements:
240
+ - { condition: "Baseline", test_object_id: "TO-4 (100.0 × 60.0 × 40.0 cm)", indication_l: 100.0, error_l: 0.0, indication_w: 60.0, error_w: 0.0, indication_h: 40.0, error_h: 0.0, reference_l: 100.0, reference_w: 60.0, reference_h: 40.0, mpe: 1.0, pass_fail: true }
241
+ - { condition: "Direct — contact 6 kV", test_object_id: "TO-4 (100.0 × 60.0 × 40.0 cm)", indication_l: 100.0, error_l: 0.0, indication_w: 60.0, error_w: 0.0, indication_h: 40.0, error_h: 0.0, reference_l: 100.0, reference_w: 60.0, reference_h: 40.0, mpe: 1.0, pass_fail: true }
242
+ - { condition: "Indirect — air 8 kV (coupling plane)", test_object_id: "TO-4 (100.0 × 60.0 × 40.0 cm)", indication_l: 100.1, error_l: 0.1, indication_w: 60.0, error_w: 0.0, indication_h: 40.0, error_h: 0.0, reference_l: 100.0, reference_w: 60.0, reference_h: 40.0, mpe: 1.0, pass_fail: true }
243
+ fault_detected: false
244
+ disturbance_verdict: true
245
+ speed-movement:
246
+ speed_min: 0.5
247
+ speed_max: 2.0
248
+ measurements:
249
+ - { condition: "V_min 0.5 m/s", test_object_id: "TO-4 (100.0 × 60.0 × 40.0 cm)", indication_l: 100.0, error_l: 0.0, indication_w: 60.0, error_w: 0.0, indication_h: 40.0, error_h: 0.0, reference_l: 100.0, reference_w: 60.0, reference_h: 40.0, mpe: 1.0, pass_fail: true }
250
+ - { condition: "V_max 2.0 m/s", test_object_id: "TO-4 (100.0 × 60.0 × 40.0 cm)", indication_l: 100.1, error_l: 0.1, indication_w: 60.0, error_w: 0.0, indication_h: 40.0, error_h: 0.0, reference_l: 100.0, reference_w: 60.0, reference_h: 40.0, mpe: 1.0, pass_fail: true }
251
+ within_mpe: true
252
+ ambient-light:
253
+ measurements:
254
+ - { condition: "Reference 300 lx", test_object_id: "TO-4 (100.0 × 60.0 × 40.0 cm)", indication_l: 100.0, error_l: 0.0, indication_w: 60.0, error_w: 0.0, indication_h: 40.0, error_h: 0.0, reference_l: 100.0, reference_w: 60.0, reference_h: 40.0, mpe: 1.0, pass_fail: true }
255
+ - { condition: "100 lx", test_object_id: "TO-4 (100.0 × 60.0 × 40.0 cm)", indication_l: 100.0, error_l: 0.0, indication_w: 60.0, error_w: 0.0, indication_h: 40.0, error_h: 0.0, reference_l: 100.0, reference_w: 60.0, reference_h: 40.0, mpe: 1.0, pass_fail: true }
256
+ - { condition: "1500 lx", test_object_id: "TO-4 (100.0 × 60.0 × 40.0 cm)", indication_l: 100.0, error_l: 0.0, indication_w: 60.0, error_w: 0.0, indication_h: 40.1, error_h: 0.1, reference_l: 100.0, reference_w: 60.0, reference_h: 40.0, mpe: 1.0, pass_fail: true }
257
+ within_mpe: true
258
+ evaluation:
259
+ id: eva-acme-md3d
260
+ standard_id: oiml-r129
261
+ application_id: app-acme-md3d
262
+ authority_id: EX2
263
+ test_report_ids: [trp-acme-md3d]
264
+ model_id: mod-dymscale-3d-500
265
+ reviewer_name: "ETL Certification"
266
+ review_date: "2024-03-15"
267
+ overall_decision: APPROVED
268
+ conditions:
269
+ - "The instrument shall be operated within the temperature range +5 °C to +40 °C."
270
+ - "The optical path shall be kept clean; the measuring frame shall be inspected per the maintenance schedule."
271
+ - "The instrument shall be calibrated at intervals not exceeding 12 months."
272
+ review_notes: "All tests passed within the maximum permissible errors; no significant faults under disturbances. Type evaluation satisfactory."
273
+ certificate:
274
+ id: crt-acme-md3d
275
+ standard_id: oiml-r129
276
+ model_family_id: fam-dymscale-3d
277
+ evaluation_id: eva-acme-md3d
278
+ test_report_ids: [trp-acme-md3d]
279
+ status: ACTIVE
280
+ certificate_number: "R129/2020-A-EX2-24.01"
281
+ scheme: A
282
+ edition_year: 2020
283
+ oiml_member_state: NETHERLANDS
284
+ issue_date: "2024-03-20"
285
+ expiry_date: "2029-03-20"
286
+ periodicity_years: 5
287
+ type_description: "Multi-dimensional measuring instrument for rectangular parcels: optical (laser triangulation) measuring frame over conveyor, automatic operation, AC mains supply. Measuring range 10–250 cm per axis, scale interval 1 cm, measuring speed 0.5–2.0 m/s, dimensional weight with F = 5000 cm³/kg."
288
+ test_reports:
289
+ - { report_number: "NMI-TR-2024-R129-001", date: "2024-03-10", pages: 48 }
290
+ conditions:
291
+ - "The instrument shall be operated within the temperature range +5 °C to +40 °C."
292
+ - "The optical path shall be kept clean; the measuring frame shall be inspected per the maintenance schedule."
293
+ - "The instrument shall be calibrated at intervals not exceeding 12 months."
294
+ classifications:
295
+ - { label: "Optical/Automatic", characteristics: { measurement_principle: optical, instrument_category: automatic, power_supply: ac-mains, object_capability: rectangular-only, scale_interval: "1 cm", min_dimension: "10 cm", max_dimension: "250 cm", speed_range: "0.5–2.0 m/s", temperature_range: "+5/+40 °C" } }
296
+ revisions: []
297
+ json_data:
298
+ standard: "OIML R 129:2020"
299
+ certificate_number: "R129/2020-A-EX2-24.01"
300
+ scheme: A