@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,318 @@
1
+ calculation conversionFactor {
2
+ name "conversionFactor"
3
+ identifier /calc/conversion-factor
4
+ category metrological
5
+ description "Computes the conversion factor f per R 60-3 2.1.2.4"
6
+ inputs {
7
+ avgIndicationAt75pct : number { unit "counts" description "Average indication at 75% of Max" }
8
+ indicationAtDmin : number { unit "counts" description "Indication at minimum test load" }
9
+ n : integer { description "Number of verification intervals of the measuring range under test" }
10
+ }
11
+ output : number { unit "counts/v" name "conversion_factor_f" description "Conversion factor from counts to verification units" }
12
+ expression "ocl{(avgIndicationAt75pct - indicationAtDmin) / (0.75 * n)}"
13
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.2.4"
14
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.2.4"
15
+ }
16
+
17
+ calculation vMin {
18
+ name "vMin"
19
+ identifier /calc/v-min
20
+ category metrological
21
+ description "Computes verification interval v_min per R 60-1, 3.5.11"
22
+ inputs {
23
+ d_max : number { unit "g, kg, or t" description "Maximum test load D_max" }
24
+ d_min : number { unit "g, kg, or t" description "Minimum test load D_min" }
25
+ n_lc : integer { description "Number of verification intervals" }
26
+ conversion_factor_f : number { unit "counts/v" description "Conversion factor" }
27
+ }
28
+ output : number { unit "g, kg, or t" name "v_min" description "Minimum verification interval" }
29
+ expression "ocl{(d_max - d_min) / (n_lc * conversion_factor_f)}"
30
+ ref derives-from "urn:oiml:pub:r:60-1:2021#clause-3.5.11"
31
+ }
32
+
33
+ calculation mpe {
34
+ name "mpe"
35
+ identifier /calc/mpe
36
+ category metrological
37
+ description "Looks up MPE for a given load in v units per R 60-1 Table 4"
38
+ inputs {
39
+ load : number { unit "v" description "Test load in verification units" }
40
+ accuracy_class : enum { description "Accuracy class" enum_values { A B C D } }
41
+ p_lc : number { unit "dimensionless" description "Apportioning factor" }
42
+ }
43
+ output : number { unit "v" name "mpe" description "Maximum permissible error at this load" }
44
+ expression "ocl{lookupMPE(load, accuracy_class, p_lc)}"
45
+ ref derives-from "urn:oiml:pub:r:60-1:2021#table-4"
46
+ }
47
+
48
+ calculation loadCellError {
49
+ name "loadCellError"
50
+ identifier /calc/load-cell-error
51
+ category metrological
52
+ description "Load cell error: E_L = (I - I_ref) / f"
53
+ inputs {
54
+ avgIndication : number { unit "counts" description "Average indication reading" }
55
+ referenceIndication : number { unit "counts" description "Reference indication value" }
56
+ conversion_factor_f : number { unit "counts/v" description "Conversion factor f" }
57
+ }
58
+ output : number { unit "v" name "e_l" description "Load cell error in verification units" }
59
+ expression "ocl{(avgIndication - referenceIndication) / conversion_factor_f}"
60
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.2"
61
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.2"
62
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.2.1"
63
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.2.2"
64
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.2.3"
65
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.2.4"
66
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.2.5"
67
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.2.6"
68
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.2.7"
69
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.2.8"
70
+ }
71
+
72
+ calculation repeatabilityError {
73
+ name "repeatabilityError"
74
+ identifier /calc/repeatability-error
75
+ category metrological
76
+ description "Repeatability error: E_R = (max - min) / f across runs"
77
+ inputs {
78
+ indications : collection { description "Collection of indication readings across runs" }
79
+ conversion_factor_f : number { unit "counts/v" description "Conversion factor f" }
80
+ }
81
+ output : number { unit "v" name "e_r" description "Repeatability error in verification units" }
82
+ expression "ocl{(indications->max() - indications->min()) / conversion_factor_f}"
83
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.3"
84
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.3"
85
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.3.1"
86
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.3.2"
87
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.3.3"
88
+ }
89
+
90
+ calculation creep {
91
+ name "creep"
92
+ identifier /calc/creep
93
+ category metrological
94
+ description "Creep: C_C = (I_t - I_0) / f"
95
+ inputs {
96
+ indicationAtTime : number { unit "counts" description "Indication at time t" }
97
+ initialIndication : number { unit "counts" description "Initial indication at D_max (t=0)" }
98
+ conversion_factor_f : number { unit "counts/v" description "Conversion factor f" }
99
+ }
100
+ output : number { unit "v" name "c_c" description "Creep change in verification units" }
101
+ expression "ocl{(indicationAtTime - initialIndication) / conversion_factor_f}"
102
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.5"
103
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.5"
104
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.5.1"
105
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.5.2"
106
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.5.3"
107
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.5.4"
108
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.5.5"
109
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.5.6"
110
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.5.7"
111
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.5.8"
112
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.5.9"
113
+ }
114
+
115
+ calculation deadLoadOutputReturn {
116
+ name "deadLoadOutputReturn"
117
+ identifier /calc/dead-load-return
118
+ category metrological
119
+ description "Dead load output return: DR = (I_min2 - I_min1) / f"
120
+ inputs {
121
+ minLoadIndication2 : number { unit "counts" description "Final indication at D_min after test" }
122
+ minLoadIndication1 : number { unit "counts" description "Initial indication at D_min before test" }
123
+ conversion_factor_f : number { unit "counts/v" description "Conversion factor f" }
124
+ }
125
+ output : number { unit "v" name "c_dr" description "Dead load output return in verification units" }
126
+ expression "ocl{(minLoadIndication2 - minLoadIndication1) / conversion_factor_f}"
127
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.5.4"
128
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.5.4"
129
+ }
130
+
131
+ calculation barometricPressureEffect {
132
+ name "barometricPressureEffect"
133
+ identifier /calc/barometric-effect
134
+ category metrological
135
+ description "Barometric pressure effect: C_P = (I_2 - I_1) / f"
136
+ inputs {
137
+ indication2 : number { unit "counts" description "Indication at second pressure" }
138
+ indication1 : number { unit "counts" description "Indication at first pressure" }
139
+ conversion_factor_f : number { unit "counts/v" description "Conversion factor f" }
140
+ }
141
+ output : number { unit "v" name "change_v" description "Pressure-induced change in verification units" }
142
+ expression "ocl{(indication2 - indication1) / conversion_factor_f}"
143
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.6"
144
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.6"
145
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.6.1"
146
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.6.2"
147
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.6.3"
148
+ }
149
+
150
+ calculation temperatureMDLO {
151
+ name "temperatureMDLO"
152
+ identifier /calc/temperature-mdlo
153
+ category metrological
154
+ description "Temperature effect on MDLO per 5 degC increment"
155
+ inputs {
156
+ indication2 : number { unit "counts" description "Indication at second temperature" }
157
+ indication1 : number { unit "counts" description "Indication at first temperature" }
158
+ conversion_factor_f : number { unit "counts/v" description "Conversion factor f" }
159
+ temperature2 : number { unit "degC" description "Second temperature" }
160
+ temperature1 : number { unit "degC" description "First temperature" }
161
+ }
162
+ output : number { unit "v" name "change_per_5deg" description "MDLO change per 5 degC in verification units" }
163
+ expression "ocl{((indication2 - indication1) / conversion_factor_f) * 5 / abs(temperature2 - temperature1)}"
164
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.4"
165
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.4"
166
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.4.1"
167
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.4.2"
168
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.4.3"
169
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.4.4"
170
+ }
171
+
172
+ calculation mdloStepChange {
173
+ name "mdloStepChange"
174
+ identifier /calc/mdlo-step-change
175
+ category metrological
176
+ description "Raw temperature effect on MDLO of one temperature step: C_M = (I_2 - I_1) / f, in v — BEFORE the T_f/(T_2-T_1) normalization and the v to v_min conversion (those live exactly once in the mdlo_normalized VerdictQuantity; the normalized per-5 degC form is temperatureMDLO). The honest close of the mdlo test's c_m variable, which previously had no named registry entry (PROPOSAL.R60-SSOT-Phase9.5 item 4, Response 4 item 4)."
177
+ inputs {
178
+ indication2 : number { unit "counts" description "Indication at second temperature" }
179
+ indication1 : number { unit "counts" description "Indication at first temperature" }
180
+ conversion_factor_f : number { unit "counts/v" description "Conversion factor f" }
181
+ }
182
+ output : number { unit "v" name "c_m" description "Raw MDLO step change in verification units" }
183
+ expression "ocl{(indication2 - indication1) / conversion_factor_f}"
184
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.4.2"
185
+ }
186
+
187
+ calculation humidityCHmin {
188
+ name "humidityCHmin"
189
+ identifier /calc/humidity-chmin
190
+ category metrological
191
+ description "Humidity effect on minimum load output (CH cyclic): C_Hmin"
192
+ inputs {
193
+ indDminAfter : number { unit "counts" description "Average D_min indication after humidity exposure" }
194
+ indDminBefore : number { unit "counts" description "Average D_min indication before humidity exposure" }
195
+ conversion_factor_f : number { unit "counts/v" }
196
+ }
197
+ output : number { unit "v" name "c_hmin" }
198
+ expression "ocl{(indDminAfter - indDminBefore) / conversion_factor_f}"
199
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.7"
200
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.7"
201
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.7.1"
202
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.7.2"
203
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.7.3"
204
+ }
205
+
206
+ calculation humidityCHmax {
207
+ name "humidityCHmax"
208
+ identifier /calc/humidity-chmax
209
+ category metrological
210
+ description "Humidity effect on span (CH cyclic): C_Hmax"
211
+ inputs {
212
+ avgDmaxAfter : number { unit "counts" }
213
+ avgDminAfter : number { unit "counts" }
214
+ avgDmaxBefore : number { unit "counts" }
215
+ avgDminBefore : number { unit "counts" }
216
+ conversion_factor_f : number { unit "counts/v" }
217
+ }
218
+ output : number { unit "v" name "c_hmax" }
219
+ expression "ocl{((avgDmaxAfter - avgDminAfter) - (avgDmaxBefore - avgDminBefore)) / conversion_factor_f}"
220
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.7"
221
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.7"
222
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.7.1"
223
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.7.2"
224
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.7.3"
225
+ }
226
+
227
+ calculation maxAllowableSpanVariation {
228
+ name "maxAllowableSpanVariation"
229
+ identifier /calc/max-allowable-span-variation
230
+ category electronic
231
+ description "Maximum allowable span variation: max(0.5, 0.5 × |MPE|) with p_LC = 1.0"
232
+ inputs {
233
+ d_max : number { description "Maximum test load" }
234
+ accuracy_class : enum { enum_values { A B C D } }
235
+ }
236
+ output : number { unit "v" name "maxVariation" description "Maximum allowable variation" }
237
+ expression "ocl{max(0.5, 0.5 * abs(lookupMPE(d_max, accuracy_class, 1.0)))}"
238
+ ref derives-from "urn:oiml:pub:r:60-1:2021#clause-5.7.2.6"
239
+ }
240
+
241
+ calculation electronicDifference {
242
+ name "electronicDifference"
243
+ identifier /calc/electronic-difference
244
+ category electronic
245
+ description "Electronic disturbance difference between with/without readings"
246
+ inputs {
247
+ indicationWith : number { unit "counts" description "Indication with disturbance" }
248
+ indicationWithout : number { unit "counts" description "Indication without disturbance" }
249
+ conversion_factor_f : number { unit "counts/v" }
250
+ }
251
+ output : number { unit "v" name "difference" }
252
+ expression "ocl{(indicationWith - indicationWithout) / conversion_factor_f}"
253
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.2"
254
+ }
255
+
256
+ calculation significantFault {
257
+ name "significantFault"
258
+ identifier /calc/significant-fault
259
+ category electronic
260
+ description "Determines if an electronic disturbance causes a significant fault (difference exceeds one verification interval, 1 v — the R 60-1, 5.7.1.1 NOTE v_min threshold expressed in the test's v units; R 60-3 forms print the difference column in v against a '> v_min' criterion)"
261
+ inputs {
262
+ difference : number { unit "v" description "Observed difference in verification units" }
263
+ }
264
+ output : boolean { unit "1" name "isSignificant" description "Whether the fault exceeds one verification interval" }
265
+ expression "ocl{abs(difference) > 1}"
266
+ ref derives-from "urn:oiml:pub:r:60-1:2021#clause-5.7.1.1"
267
+ }
268
+
269
+ calculation deadLoadReturnMass {
270
+ name "deadLoadReturnMass"
271
+ identifier /calc/dead-load-return-mass
272
+ category metrological
273
+ description "Dead load output return in mass units: DR = (E_max − E_min) × C_DR / n_LC"
274
+ inputs {
275
+ e_max : number { unit "g, kg, or t" description "Maximum capacity E_max" }
276
+ e_min : number { unit "g, kg, or t" description "Minimum dead load E_min" }
277
+ c_dr : number { unit "v" description "Dead load output return C_DR in verification units" }
278
+ n_lc : integer { description "Maximum number of verification intervals n_LC" }
279
+ }
280
+ output : number { unit "g, kg, or t" name "dr" description "Dead load output return in mass units" }
281
+ expression "ocl{(e_max - e_min) * c_dr / n_lc}"
282
+ ref derives-from "urn:oiml:pub:r:60-1:2021#clause-3.5.10"
283
+ }
284
+
285
+ calculation referenceIndication {
286
+ name "referenceIndication"
287
+ identifier /calc/reference-indication
288
+ category metrological
289
+ description "Reference indication (net test load): R_i = [(test load − D_min) / (D_max − D_min)] × n × f"
290
+ inputs {
291
+ testLoad : number { unit "g, kg, or t" description "Applied test load" }
292
+ d_min : number { unit "g, kg, or t" description "Minimum test load D_min" }
293
+ d_max : number { unit "g, kg, or t" description "Maximum test load D_max" }
294
+ n : integer { description "Number of verification intervals" }
295
+ conversion_factor_f : number { unit "counts/v" description "Conversion factor" }
296
+ }
297
+ output : number { unit "indication units" name "r_i" description "Reference indication in indication units" }
298
+ expression "ocl{((testLoad - d_min) / (d_max - d_min)) * n * conversion_factor_f}"
299
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.2.6"
300
+ ref derives-from "urn:oiml:pub:r:60-3:2021#clause-2.1.2.6"
301
+ }
302
+
303
+ calculation digitalChangeoverError {
304
+ name "digitalChangeoverError"
305
+ identifier /calc/digital-changeover-error
306
+ category metrological
307
+ description "Error prior to rounding for digital load cells with an output interval > 0.20 v, via the changeover point: P = I + ½v − ΔL, E = P − L, E_c = E − E_0 (all inputs in v)"
308
+ inputs {
309
+ indication_v : number { unit "v" description "Digital output value I at the load, in v" }
310
+ delta_l_v : number { unit "v" description "Additional load ΔL added until the output increases by one interval, in v" }
311
+ test_load_v : number { unit "v" description "Applied load L, in v" }
312
+ error_at_dmin_v : number { unit "v" description "Error E_0 at the minimum test load D_min, in v" }
313
+ }
314
+ output : number { unit "v" name "e_c" description "Corrected error prior to rounding, in v" }
315
+ expression "ocl{indication_v + 0.5 - delta_l_v - test_load_v - error_at_dmin_v}"
316
+ ref derives-from "urn:oiml:pub:r:60-2:2021#clause-2.10.7.2"
317
+ }
318
+