@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,180 @@
1
+ form r60-3/table-6.7 {
2
+ name "Temperature MDLO"
3
+ description "Temperature effects on minimum dead load output (C_M)"
4
+ data_class FormInstance#data
5
+ header r60-3/header-a
6
+ conformance_process /conf/metrological-tests/measurement-error-repeatability-mdlo
7
+ section "R 60-3, 6.7"
8
+ requirements { /req/metrological/temperature-effect-mdlo }
9
+ ref requirement "urn:oiml:pub:r:60-1:2021#clause-5.6.1.3"
10
+ ref test-procedure "urn:oiml:pub:r:60-2:2021#clause-2.10.1.16"
11
+ ref calculation "urn:oiml:pub:r:60-3:2021#clause-2.1.4"
12
+ ref report-format "urn:oiml:pub:r:60-3:2021#clause-6.7"
13
+ ref report-format "urn:oiml:pub:r:60-3:2021#table-5"
14
+ calculation_context { dimensions true }
15
+ field conversion_factor_f : number {
16
+ label "Conversion factor (f)"
17
+ definition "Ratio of indication change to load change at 75% of Max. Converts counts to verification units (v)."
18
+ unit "counts/v"
19
+ required true
20
+ measurement_method computed
21
+ bind sample.test_context.conversion_factor_f
22
+ symbol f
23
+ specification_reference "R 60-3, 2.1.2.4"
24
+ calculation conversionFactor
25
+ calculation_bindings { avgIndicationAt75pct: reference_indication_75pct indicationAtDmin: indication_at_dmin n: n_test_intervals }
26
+ }
27
+ field reference_indication_75pct : number {
28
+ label "Reference indication at 75%"
29
+ definition "Average indication at the 75% load point, used to compute f."
30
+ unit "counts"
31
+ required true
32
+ measurement_method direct
33
+ }
34
+ field indication_at_dmin : number {
35
+ label "Indication at D_min"
36
+ definition "Load cell indication at minimum test load (D_min), used to compute f."
37
+ unit "counts"
38
+ required true
39
+ measurement_method direct
40
+ }
41
+ field n_lc : integer {
42
+ label "Number of verification intervals (n_LC)"
43
+ definition "Maximum number of load cell verification intervals n_LC, declared by the manufacturer."
44
+ required true
45
+ measurement_method declared
46
+ bind group.parameters.n_lc
47
+ symbol nLC
48
+ specification_reference "R 60-1, 3.5.8"
49
+ }
50
+ field y : integer {
51
+ label "Relative v_min (Y)"
52
+ definition "Ratio of the maximum measuring range to v_min (Y = (E_max - E_min)/v_min)."
53
+ measurement_method declared
54
+ bind group.parameters.y
55
+ symbol Y
56
+ specification_reference "R 60-1, 3.5.15"
57
+ }
58
+ field emax : number {
59
+ label "Maximum capacity (E_max)"
60
+ definition "Maximum capacity of the load cell."
61
+ unit "g, kg, or t"
62
+ required true
63
+ measurement_method declared
64
+ bind model.parameters.e_max
65
+ symbol Emax
66
+ specification_reference "R 60-1, 3.5.5"
67
+ }
68
+ field emin : number {
69
+ label "Minimum dead load (E_min)"
70
+ definition "Minimum dead load of the load cell."
71
+ unit "g, kg, or t"
72
+ measurement_method declared
73
+ bind family.parameters.e_min
74
+ symbol Emin
75
+ specification_reference "R 60-1, 3.5.9"
76
+ }
77
+ field vmin : number {
78
+ label "Minimum verification interval (v_min)"
79
+ definition "Minimum load cell verification interval."
80
+ unit "g, kg, or t"
81
+ required true
82
+ measurement_method declared
83
+ bind group.parameters.v_min
84
+ symbol vmin
85
+ specification_reference "R 60-1, 3.5.11"
86
+ }
87
+ field n_test_intervals : number {
88
+ label "Verification intervals of the tested range (n)"
89
+ definition "Number of verification intervals of the measuring range under test — (E_max − E_min)/v_min when the test spans the classified range (R 60-3, 2.1.2.4). Input n of the conversion-factor calculation."
90
+ measurement_method derived
91
+ symbol n
92
+ specification_reference "R 60-3, 2.1.2.4"
93
+ derivation "ocl{(emax - emin) / vmin}"
94
+ }
95
+ field plc : number {
96
+ label "Apportionment factor (p_LC)"
97
+ definition "Apportionment factor. Also serves as the maximum permissible change (MPC) per temperature increment."
98
+ measurement_method declared
99
+ bind family.parameters.p_lc
100
+ symbol pLC
101
+ specification_reference "R 60-1, 3.7.2"
102
+ default 0.7
103
+ }
104
+ field temperature_readings : array {
105
+ label "Temperature readings"
106
+ definition "Minimum dead load output indication at each test temperature. Four temperatures per R 60-2: 20°C, T_1, T_2, 20°C (return)."
107
+ items { object fields {
108
+ field temperature : number {
109
+ label "Temperature"
110
+ definition "Ambient temperature at which the MDLO indication is recorded."
111
+ unit "degC"
112
+ required true
113
+ measurement_method direct
114
+ }
115
+ field indication : number {
116
+ label "Indication"
117
+ definition "Average initial minimum test load indication at this temperature, obtained from the load test data (Table 6.3/6.4)."
118
+ unit "counts"
119
+ required true
120
+ measurement_method direct
121
+ }
122
+ field change_v : number {
123
+ label "Change (v)"
124
+ definition "Change in MDLO indication from the prior temperature, divided by the conversion factor, in verification units."
125
+ unit "v"
126
+ measurement_method derived
127
+ symbol CM
128
+ specification_reference "R 60-3, 2.1.4"
129
+ derivation "ocl{if $index = 0 then 0 else (indication - $prev.indication) / conversion_factor_f endif}"
130
+ }
131
+ field delta_t : number {
132
+ label "Temperature step (ΔT)"
133
+ definition "Temperature span of this step (T_2 − T_1). The baseline row carries 1 °C — inert, since its C_M is 0 — so the canonical verdict derivation is defined on every row."
134
+ unit "degC"
135
+ measurement_method derived
136
+ symbol delta_t
137
+ specification_reference "R 60-3, 2.1.4"
138
+ derivation "ocl{if $index = 0 then 1 else abs(temperature - $prev.temperature) endif}"
139
+ }
140
+ field change_per_5deg : number {
141
+ label "Change per temperature increment"
142
+ definition "Temperature-induced MDLO change normalized by the class increment (5 degC for classes B/C/D, 2 degC for class A) and converted to v_min units — the canonical mdlo_normalized verdict quantity."
143
+ unit "v"
144
+ measurement_method derived
145
+ symbol CM-vmin
146
+ verdict mdlo_normalized
147
+ specification_reference "R 60-3, 2.1.4"
148
+ }
149
+ field mpc : number {
150
+ label "MPC"
151
+ definition "Maximum permissible change per 5 degC (classes B/C/D) or per 2 degC (class A). Equal to p_LC."
152
+ unit "v"
153
+ measurement_method declared
154
+ specification_reference "R 60-1, 5.6.1.3"
155
+ derivation "ocl{$context.p_LC}"
156
+ }
157
+ field within_mpc : boolean {
158
+ label "Within MPC"
159
+ definition "Evaluation: whether the normalized temperature-induced change is within the MPC."
160
+ measurement_method evaluated
161
+ true_label "Yes"
162
+ false_label "No"
163
+ evaluation { verdict mdlo_normalized op lte limit "ocl{p_lc}" condition "|C_M(v_min)| per temperature increment <= p_LC" specification_reference "R 60-1, 5.6.1.3" }
164
+ }
165
+ } }
166
+ min_items 4
167
+ max_items 4
168
+ }
169
+ field overall_result : boolean {
170
+ label "Overall result"
171
+ definition "PASS iff all temperature-induced MDLO changes are within MPC."
172
+ required true
173
+ measurement_method evaluated
174
+ true_label "Pass"
175
+ false_label "Fail"
176
+ evaluation { rule "ocl{temperature_readings->forAll(r | r.within_mpc)}" condition "All |C_M| per 5 degC <= p_LC" specification_reference "R 60-1, 5.6.1.3" }
177
+ }
178
+ pass_fail { criteria "C_M(v) per 5 degC <= p_LC for classes B/C/D; per 2 degC for class A" pass_if "ocl{temperature_readings->forAll(r | r.within_mpc)}" }
179
+ }
180
+
@@ -0,0 +1,207 @@
1
+ form r60-3/form-6.11 {
2
+ name "Warm Up Time"
3
+ description "Warm-up time test for electronic load cells"
4
+ data_class FormInstance#data
5
+ header r60-3/header-b
6
+ conformance_process /conf/electronic-tests/warm-up-time
7
+ section "R 60-3, 6.11"
8
+ requirements { /req/electronic/warm-up-time }
9
+ ref requirement "urn:oiml:pub:r:60-1:2021#clause-5.7.2.1"
10
+ ref test-procedure "urn:oiml:pub:r:60-2:2021#clause-2.10.7.3"
11
+ ref calculation "urn:oiml:pub:r:60-3:2021#clause-2.2.1"
12
+ ref calculation "urn:oiml:pub:r:60-3:2021#clause-2.2.1.1"
13
+ ref calculation "urn:oiml:pub:r:60-3:2021#clause-2.2.1.2"
14
+ ref calculation "urn:oiml:pub:r:60-3:2021#clause-2.2.1.3"
15
+ ref report-format "urn:oiml:pub:r:60-3:2021#clause-6.11"
16
+ ref report-format "urn:oiml:pub:r:60-3:2021#clause-6.11.1"
17
+ ref report-format "urn:oiml:pub:r:60-3:2021#table-14"
18
+ calculation_context { dimensions true tables { mpe_tiers } }
19
+ field conversion_factor_f : number {
20
+ label "Conversion Factor F"
21
+ unit "counts/v"
22
+ required true
23
+ bind sample.test_context.conversion_factor_f
24
+ targets { /req/electronic/warm-up-time }
25
+ }
26
+ field dmax : number {
27
+ label "Maximum test load (D_max)"
28
+ unit "g, kg, or t"
29
+ required true
30
+ measurement_method declared
31
+ bind sample.test_context.d_max
32
+ targets { /req/electronic/warm-up-time }
33
+ }
34
+ field plc : number {
35
+ label "Apportionment factor (p_LC)"
36
+ measurement_method declared
37
+ bind family.parameters.p_lc
38
+ targets { /req/electronic/warm-up-time }
39
+ default 0.7
40
+ }
41
+ field duration_of_disconnection : string {
42
+ label "Duration Of Disconnection"
43
+ required true
44
+ targets { /req/electronic/warm-up-time }
45
+ }
46
+ field readings : object {
47
+ label "Readings"
48
+ targets { /req/electronic/warm-up-time }
49
+ fields {
50
+ field initial_dmin : object {
51
+ label "Initial Dmin"
52
+ fields {
53
+ field indication : number {
54
+ label "Indication"
55
+ unit "counts"
56
+ }
57
+ field time : string {
58
+ label "Time"
59
+ }
60
+ }
61
+ }
62
+ field initial_dmax : object {
63
+ label "Initial Dmax"
64
+ fields {
65
+ field indication : number {
66
+ label "Indication"
67
+ unit "counts"
68
+ }
69
+ field time : string {
70
+ label "Time"
71
+ }
72
+ }
73
+ }
74
+ field initial_span_counts : number {
75
+ label "Initial Span Counts"
76
+ unit "counts"
77
+ calculation "ocl{initial_dmax.indication - initial_dmin.indication}"
78
+ }
79
+ field initial_span_vmin : number {
80
+ label "Initial Span Vmin"
81
+ unit "v"
82
+ calculation "ocl{initial_span_counts / conversion_factor_f}"
83
+ }
84
+ field after_5min_dmin : object {
85
+ label "After 5min Dmin"
86
+ fields {
87
+ field indication : number {
88
+ label "Indication"
89
+ }
90
+ field time : string {
91
+ label "Time"
92
+ }
93
+ }
94
+ }
95
+ field after_5min_dmax : object {
96
+ label "After 5min Dmax"
97
+ fields {
98
+ field indication : number {
99
+ label "Indication"
100
+ }
101
+ field time : string {
102
+ label "Time"
103
+ }
104
+ }
105
+ }
106
+ field after_5min_span_counts : number {
107
+ label "After 5min Span Counts"
108
+ calculation "ocl{after_5min_dmax.indication - after_5min_dmin.indication}"
109
+ }
110
+ field after_5min_span_vmin : number {
111
+ label "After 5min Span Vmin"
112
+ calculation "ocl{after_5min_span_counts / conversion_factor_f}"
113
+ }
114
+ field after_5min_change : number {
115
+ label "After 5min Change"
116
+ calculation "ocl{after_5min_span_vmin - initial_span_vmin}"
117
+ }
118
+ field after_15min_dmin : object {
119
+ label "After 15min Dmin"
120
+ fields {
121
+ field indication : number {
122
+ label "Indication"
123
+ }
124
+ field time : string {
125
+ label "Time"
126
+ }
127
+ }
128
+ }
129
+ field after_15min_dmax : object {
130
+ label "After 15min Dmax"
131
+ fields {
132
+ field indication : number {
133
+ label "Indication"
134
+ }
135
+ field time : string {
136
+ label "Time"
137
+ }
138
+ }
139
+ }
140
+ field after_15min_span_counts : number {
141
+ label "After 15min Span Counts"
142
+ calculation "ocl{after_15min_dmax.indication - after_15min_dmin.indication}"
143
+ }
144
+ field after_15min_span_vmin : number {
145
+ label "After 15min Span Vmin"
146
+ calculation "ocl{after_15min_span_counts / conversion_factor_f}"
147
+ }
148
+ field after_15min_change : number {
149
+ label "After 15min Change"
150
+ calculation "ocl{after_15min_span_vmin - initial_span_vmin}"
151
+ }
152
+ field after_30min_dmin : object {
153
+ label "After 30min Dmin"
154
+ fields {
155
+ field indication : number {
156
+ label "Indication"
157
+ }
158
+ field time : string {
159
+ label "Time"
160
+ }
161
+ }
162
+ }
163
+ field after_30min_dmax : object {
164
+ label "After 30min Dmax"
165
+ fields {
166
+ field indication : number {
167
+ label "Indication"
168
+ }
169
+ field time : string {
170
+ label "Time"
171
+ }
172
+ }
173
+ }
174
+ field after_30min_span_counts : number {
175
+ label "After 30min Span Counts"
176
+ calculation "ocl{after_30min_dmax.indication - after_30min_dmin.indication}"
177
+ }
178
+ field after_30min_span_vmin : number {
179
+ label "After 30min Span Vmin"
180
+ calculation "ocl{after_30min_span_counts / conversion_factor_f}"
181
+ }
182
+ field after_30min_change : number {
183
+ label "After 30min Change"
184
+ calculation "ocl{after_30min_span_vmin - initial_span_vmin}"
185
+ }
186
+ field mpc : number {
187
+ label "Mpc"
188
+ unit "v"
189
+ calculation "ocl{abs(lookup_mpe(dmax, accuracy_class, plc))}"
190
+ source_discrepancy {
191
+ summary "R 60-3, Form 6.11 note 3 states the warm-up span change limit as v_min while note 5 of the same form defines mpc as the absolute value of the MPE for the maximum test load"
192
+ sources { "urn:oiml:pub:r:60-3:2021#clause-6.11" "urn:oiml:pub:r:60-1:2021#clause-5.7.2.1" }
193
+ resolution follows_clause_x
194
+ rationale "The form follows note 5 (mpc = |MPE| at D_max): Form 6.11 note 2 judges all span errors against the MPE during the 30-minute test, so note 5's |MPE| definition is the consistent reading; note 3's v_min is the dissenting print. See analysis/deep-audit-r60.md F6."
195
+ }
196
+ }
197
+ }
198
+ }
199
+ field overall_result : boolean {
200
+ label "Overall Result"
201
+ required true
202
+ true_label "Pass"
203
+ false_label "Fail"
204
+ }
205
+ pass_fail { criteria "Change of span must not exceed mpc (|MPE| at D_max, Form 6.11 note 5 — note 3's v_min wording is the dissenting print, discrepancy annotated on the mpc field)" pass_if "ocl{max(readings.after_5min_change, readings.after_15min_change, readings.after_30min_change) <= readings.mpc}" }
206
+ }
207
+
@@ -0,0 +1,255 @@
1
+ form r60-3/header-a {
2
+ name "Form Header A"
3
+ description "Header for load test forms (Form 3) with full identification and conditions"
4
+ data_class FormInstance#data
5
+ field application_no : string {
6
+ required true
7
+ bind application.application_number
8
+ }
9
+ field load_cell_model : string {
10
+ required true
11
+ bind model.model_designation
12
+ }
13
+ field serial_no : string {
14
+ required true
15
+ bind sample.serial_number
16
+ }
17
+ field emax : number {
18
+ unit "g, kg, or t"
19
+ required true
20
+ bind model.parameters.e_max
21
+ }
22
+ field emin : number {
23
+ unit "g, kg, or t"
24
+ bind family.parameters.e_min
25
+ }
26
+ field nlc : integer {
27
+ required true
28
+ bind group.parameters.n_lc
29
+ }
30
+ field plc : number {
31
+ required true
32
+ bind family.parameters.p_lc
33
+ }
34
+ field Y : number {
35
+ bind group.parameters.y
36
+ }
37
+ field Z : number {
38
+ bind group.parameters.z
39
+ }
40
+ field vmin : number {
41
+ unit "g, kg, or t"
42
+ required true
43
+ bind group.parameters.v_min
44
+ }
45
+ field DR : number {
46
+ unit "g, kg, or t"
47
+ bind group.parameters.dr
48
+ }
49
+ field force_generating_system : string {
50
+
51
+ }
52
+ field dmax : number {
53
+ unit "g, kg, or t"
54
+ required true
55
+ bind sample.test_context.d_max
56
+ }
57
+ field dmin : number {
58
+ unit "g, kg, or t"
59
+ required true
60
+ bind sample.test_context.d_min
61
+ }
62
+ field indicating_instrument : string {
63
+
64
+ }
65
+ field evaluator : string {
66
+ required true
67
+ }
68
+ field conditions : object {
69
+ fields {
70
+ field date_start : date {
71
+
72
+ }
73
+ field date_end : date {
74
+
75
+ }
76
+ field temperature_start : number {
77
+ unit "degC"
78
+ }
79
+ field temperature_end : number {
80
+ unit "degC"
81
+ }
82
+ field relative_humidity_start : number {
83
+ unit "%"
84
+ }
85
+ field relative_humidity_end : number {
86
+ unit "%"
87
+ }
88
+ field barometric_pressure_start : number {
89
+ unit "kPa"
90
+ }
91
+ field barometric_pressure_end : number {
92
+ unit "kPa"
93
+ }
94
+ field indicator_temperature_start : number {
95
+ unit "degC"
96
+ }
97
+ field indicator_temperature_end : number {
98
+ unit "degC"
99
+ }
100
+ }
101
+ }
102
+ }
103
+
104
+
105
+ form r60-3/header-b {
106
+ name "Form Header B"
107
+ description "Header for humidity test forms (Form 4) with conditioning parameters"
108
+ field application_no : string {
109
+ required true
110
+ bind application.application_number
111
+ }
112
+ field load_cell_model : string {
113
+ required true
114
+ bind model.model_designation
115
+ }
116
+ field serial_no : string {
117
+ required true
118
+ bind sample.serial_number
119
+ }
120
+ field emax : number {
121
+ unit "g, kg, or t"
122
+ required true
123
+ bind model.parameters.e_max
124
+ }
125
+ field nlc : integer {
126
+ required true
127
+ bind group.parameters.n_lc
128
+ }
129
+ field vmin : number {
130
+ unit "g, kg, or t"
131
+ required true
132
+ bind group.parameters.v_min
133
+ }
134
+ field plc : number {
135
+ required true
136
+ bind family.parameters.p_lc
137
+ }
138
+ field DR : number {
139
+ unit "g, kg, or t"
140
+ bind group.parameters.dr
141
+ }
142
+ field force_generating_system : string {
143
+
144
+ }
145
+ field indicating_instrument : string {
146
+
147
+ }
148
+ field evaluator : string {
149
+ required true
150
+ }
151
+ field conditions : object {
152
+ fields {
153
+ field date_start : date {
154
+
155
+ }
156
+ field date_end : date {
157
+
158
+ }
159
+ field conditioning_period : string {
160
+
161
+ }
162
+ field reference_temperature : number {
163
+ unit "degC"
164
+ }
165
+ field high_temperature : number {
166
+ unit "degC"
167
+ }
168
+ field reference_relative_humidity : number {
169
+ unit "%"
170
+ }
171
+ field high_relative_humidity : number {
172
+ unit "%"
173
+ }
174
+ }
175
+ }
176
+ }
177
+
178
+
179
+ form r60-3/header-c {
180
+ name "Form Header C"
181
+ description "Compact header for EMC/disturbance forms (Form 5)"
182
+ field date : date {
183
+ required true
184
+ }
185
+ field time : string {
186
+ pattern "\\d{2}:\\d{2}:\\d{2}"
187
+ }
188
+ field temperature : number {
189
+ unit "degC"
190
+ }
191
+ field relative_humidity : number {
192
+ unit "%"
193
+ }
194
+ field barometric_pressure : number {
195
+ unit "kPa"
196
+ }
197
+ }
198
+
199
+
200
+ form r60-3/conditions {
201
+ name "Form Conditions"
202
+ description "Conditions block used in most test forms (Form 6)"
203
+ field date_start : date {
204
+
205
+ }
206
+ field date_end : date {
207
+
208
+ }
209
+ field temperature_start : number {
210
+ unit "degC"
211
+ }
212
+ field temperature_end : number {
213
+ unit "degC"
214
+ }
215
+ field relative_humidity_start : number {
216
+ unit "%"
217
+ }
218
+ field relative_humidity_end : number {
219
+ unit "%"
220
+ }
221
+ field barometric_pressure_start : number {
222
+ unit "kPa"
223
+ }
224
+ field barometric_pressure_end : number {
225
+ unit "kPa"
226
+ }
227
+ field indicator_temperature_start : number {
228
+ unit "degC"
229
+ }
230
+ field indicator_temperature_end : number {
231
+ unit "degC"
232
+ }
233
+ }
234
+
235
+
236
+ form r60-3/sh-humidity-header {
237
+ name "SH Humidity Form"
238
+ description "Humidity conditioning header for SH tests (Form 7)"
239
+ field date : date {
240
+ required true
241
+ }
242
+ field time : string {
243
+
244
+ }
245
+ field temperature : number {
246
+ unit "degC"
247
+ }
248
+ field relative_humidity : number {
249
+ unit "%"
250
+ }
251
+ field barometric_pressure : number {
252
+ unit "kPa"
253
+ }
254
+ }
255
+
@@ -0,0 +1,55 @@
1
+ subform load-test-row {
2
+ type object
3
+ description "One row of a load-test table: applied load + N runs of (indication, time) + computed aggregates (mean, repeatability error). N is parameterized by accuracy_class — the same dimension that drives the requirement MPE tier (R 60-1, Table 4) and the conformance test procedure count (R 60-2, §2.10.1, \"Classes A/B: 5 runs; Classes C/D: 3 runs\")."
4
+ parameters {
5
+ n_runs : integer { description "Number of runs per test_load. Static default materializes the class C/D table (R 60-3, 6.3); the per-class count (5 for A/B) resolves at runtime from the conformance test's `instances` declaration (/conf/metrological-tests/measurement-error-repeatability-mdlo, R 60-2 §2.10.1) — see services/program.service formProgramFor." default 3 }
6
+ }
7
+ field test_load : number {
8
+ label "Test load"
9
+ description "Applied test load at this measurement point."
10
+ unit "g, kg, or t"
11
+ required true
12
+ measurement_method direct
13
+ }
14
+ field direction : enum {
15
+ label "Direction"
16
+ description "Whether this reading is in the increasing or decreasing load sequence (hysteresis per R 60-1, 5.3)."
17
+ required true
18
+ measurement_method direct
19
+ enum_values { increasing decreasing }
20
+ }
21
+ field runs : array {
22
+ label "Runs"
23
+ description "Individual indication readings at this test load. Cardinality is parameterized: 3 for classes C/D, 5 for classes A/B (per R 60-2)."
24
+ items { object fields {
25
+ field indication : number {
26
+ label "Indication"
27
+ unit "counts"
28
+ required true
29
+ measurement_method direct
30
+ }
31
+ field time : string {
32
+ label "Time"
33
+ description "Time of the reading (HH:MM:SS)"
34
+ measurement_method direct
35
+ }
36
+ } }
37
+ min_items "${{ n_runs }}"
38
+ max_items "${{ n_runs }}"
39
+ }
40
+ field average_indication : number {
41
+ label "Average"
42
+ description "Mean of the n_runs indications at this load."
43
+ unit "counts"
44
+ measurement_method derived
45
+ derivation "ocl{mean(runs.indication)}"
46
+ }
47
+ field repeatability_error : number {
48
+ label "Repeatability error"
49
+ description "Max minus min across the n_runs indications at this load. Per R 60-3, 2.1.3, this is E_R (repeatability error in counts)."
50
+ unit "counts"
51
+ measurement_method derived
52
+ derivation "ocl{max(runs.indication) - min(runs.indication)}"
53
+ }
54
+ }
55
+