{"id":1074,"date":"2026-04-09T08:05:39","date_gmt":"2026-04-09T08:05:39","guid":{"rendered":"https:\/\/industrialsafetysensor.com\/?page_id=1074"},"modified":"2026-09-07T18:37:33","modified_gmt":"2026-09-07T18:37:33","slug":"safety-distance-calculator-iso-13855","status":"publish","type":"page","link":"https:\/\/industrialsafetysensor.com\/es\/safety-light-curtains\/type-4-safety-light-curtain\/safety-distance-calculator-iso-13855\/","title":{"rendered":"Calculadora de distancia de seguridad (ISO 13855)"},"content":{"rendered":"\n<div class=\"wp-block-stackable-columns alignfull stk-block-columns stk-block stk-a490df9\" data-block-id=\"a490df9\"><div class=\"stk-row stk-inner-blocks stk-block-content stk-content-align stk-a490df9-column alignfull\">\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-ea3208a\" data-v=\"4\" data-block-id=\"ea3208a\"><div class=\"stk-column-wrapper stk-block-column__content stk-container stk-ea3208a-container stk--no-background stk--no-padding\"><div class=\"stk-block-content stk-inner-blocks stk-ea3208a-inner-blocks\">\n<style>\n\/* =========================================================\n   CCH SAFETY DISTANCE CALCULATOR V2\n   ISO 13855:2024\n========================================================= *\/\n\n.cch-sd24,\n.cch-sd24 *{\n  box-sizing:border-box;\n}\n\n.cch-sd24{\n  background:#f7fafc;\n  color:#17212b;\n}\n\n.cch-sd24__hero{\n  position:relative;\n  overflow:hidden;\n  padding:82px 28px 76px;\n\n  background:\n    radial-gradient(circle at 82% 24%,rgba(18,159,233,.17),transparent 32%),\n    linear-gradient(135deg,#08131d 0%,#0b1722 55%,#07111a 100%);\n\n  color:#fff;\n}\n\n.cch-sd24__hero:before{\n  content:\"\";\n  position:absolute;\n  inset:0;\n  pointer-events:none;\n\n  background:\n    linear-gradient(rgba(119,204,239,.04) 1px,transparent 1px),\n    linear-gradient(90deg,rgba(119,204,239,.04) 1px,transparent 1px);\n\n  background-size:48px 48px;\n}\n\n.cch-sd24__hero-inner,\n.cch-sd24__main{\n  position:relative;\n  z-index:1;\n  max-width:1220px;\n  margin:0 auto;\n}\n\n.cch-sd24__eyebrow{\n  display:flex;\n  align-items:center;\n  gap:12px;\n\n  color:#77ccef;\n  font-size:12px;\n  font-weight:900;\n  letter-spacing:.14em;\n  text-transform:uppercase;\n}\n\n.cch-sd24__eyebrow:before{\n  content:\"\";\n  width:38px;\n  height:1px;\n  background:#77ccef;\n}\n\n.cch-sd24__hero h1{\n  max-width:900px;\n  margin:17px 0 0;\n\n  color:#fff;\n  font-size:clamp(42px,5vw,68px);\n  line-height:1;\n  letter-spacing:-.04em;\n  font-weight:900;\n}\n\n.cch-sd24__hero-lead{\n  max-width:840px;\n  margin:23px 0 0;\n\n  color:#b6c8d4;\n  font-size:17px;\n  line-height:1.65;\n}\n\n.cch-sd24__hero-tags{\n  display:flex;\n  flex-wrap:wrap;\n  gap:8px;\n  margin-top:27px;\n}\n\n.cch-sd24__hero-tag{\n  display:inline-flex;\n  align-items:center;\n  min-height:30px;\n  padding:7px 11px;\n\n  color:#c8dbe7;\n  background:rgba(255,255,255,.025);\n  border:1px solid rgba(119,204,239,.18);\n\n  font-size:9px;\n  font-weight:900;\n  letter-spacing:.08em;\n  text-transform:uppercase;\n}\n\n\n\/* MAIN *\/\n\n.cch-sd24__main{\n  padding:66px 28px 96px;\n}\n\n\n\/* SCOPE *\/\n\n.cch-sd24__scope{\n  display:grid;\n  grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);\n\n  margin-bottom:24px;\n\n  background:#fff;\n  border:1px solid #dce6ed;\n}\n\n.cch-sd24__scope-title{\n  padding:28px;\n\n  background:#edf6fa;\n  border-left:3px solid #129fe9;\n}\n\n.cch-sd24__scope-title span{\n  display:block;\n\n  color:#129fe9;\n  font-size:9px;\n  font-weight:900;\n  letter-spacing:.11em;\n  text-transform:uppercase;\n}\n\n.cch-sd24__scope-title strong{\n  display:block;\n  margin-top:8px;\n\n  color:#17212b;\n  font-size:23px;\n  line-height:1.15;\n  font-weight:900;\n}\n\n.cch-sd24__scope-copy{\n  padding:27px 30px;\n}\n\n.cch-sd24__scope-copy p{\n  margin:0;\n\n  color:#607481;\n  font-size:13px;\n  line-height:1.65;\n}\n\n.cch-sd24__scope-copy p + p{\n  margin-top:10px;\n}\n\n\n\/* FORMULA *\/\n\n.cch-sd24__formula{\n  display:grid;\n  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);\n\n  margin-bottom:24px;\n\n  background:#0b1722;\n  color:#fff;\n}\n\n.cch-sd24__formula-main{\n  display:flex;\n  flex-direction:column;\n  justify-content:center;\n  padding:30px;\n}\n\n.cch-sd24__formula-label{\n  color:#77ccef;\n  font-size:9px;\n  font-weight:900;\n  letter-spacing:.12em;\n  text-transform:uppercase;\n}\n\n.cch-sd24__formula-equation{\n  margin-top:10px;\n\n  color:#fff;\n  font-size:clamp(29px,3.2vw,43px);\n  line-height:1;\n  font-weight:900;\n  letter-spacing:-.03em;\n}\n\n.cch-sd24__formula-equation b{\n  color:#77ccef;\n}\n\n.cch-sd24__formula-info{\n  display:grid;\n  grid-template-columns:repeat(2,minmax(0,1fr));\n\n  background:#10202d;\n  border-left:1px solid rgba(119,204,239,.15);\n}\n\n.cch-sd24__formula-item{\n  padding:21px;\n\n  border-right:1px solid rgba(119,204,239,.11);\n  border-bottom:1px solid rgba(119,204,239,.11);\n}\n\n.cch-sd24__formula-item:nth-child(2n){\n  border-right:0;\n}\n\n.cch-sd24__formula-item:nth-last-child(-n+2){\n  border-bottom:0;\n}\n\n.cch-sd24__formula-item strong{\n  display:block;\n\n  color:#fff;\n  font-size:13px;\n  line-height:1.4;\n  font-weight:900;\n}\n\n.cch-sd24__formula-item span{\n  display:block;\n  margin-top:5px;\n\n  color:#8fa6b6;\n  font-size:10px;\n  line-height:1.5;\n}\n\n\n\/* CALCULATOR *\/\n\n.cch-sd24__calculator{\n  display:grid;\n  grid-template-columns:minmax(0,1.08fr) minmax(350px,.92fr);\n  gap:20px;\n  align-items:start;\n}\n\n\n\/* INPUT PANEL *\/\n\n.cch-sd24__panel{\n  background:#fff;\n  border:1px solid #dce6ed;\n}\n\n.cch-sd24__panel-head{\n  padding:25px 27px;\n\n  background:#0b1722;\n  color:#fff;\n}\n\n.cch-sd24__panel-head span{\n  display:block;\n\n  color:#77ccef;\n  font-size:9px;\n  font-weight:900;\n  letter-spacing:.12em;\n  text-transform:uppercase;\n}\n\n.cch-sd24__panel-head h2{\n  margin:8px 0 0;\n\n  color:#fff;\n  font-size:25px;\n  line-height:1.12;\n  font-weight:900;\n}\n\n.cch-sd24__panel-body{\n  padding:27px;\n}\n\n.cch-sd24__group{\n  padding-bottom:25px;\n  margin-bottom:25px;\n\n  border-bottom:1px solid #e1e9ee;\n}\n\n.cch-sd24__group:last-of-type{\n  border-bottom:0;\n  padding-bottom:0;\n  margin-bottom:0;\n}\n\n.cch-sd24__group-title{\n  display:flex;\n  align-items:center;\n  gap:10px;\n\n  margin-bottom:17px;\n}\n\n.cch-sd24__group-num{\n  display:flex;\n  align-items:center;\n  justify-content:center;\n\n  width:28px;\n  height:28px;\n\n  color:#fff;\n  background:#129fe9;\n\n  font-size:9px;\n  font-weight:900;\n}\n\n.cch-sd24__group-title strong{\n  color:#17212b;\n  font-size:14px;\n  line-height:1.4;\n  font-weight:900;\n}\n\n.cch-sd24__fields{\n  display:grid;\n  grid-template-columns:repeat(2,minmax(0,1fr));\n  gap:16px;\n}\n\n.cch-sd24__field{\n  min-width:0;\n}\n\n.cch-sd24__field--full{\n  grid-column:1 \/ -1;\n}\n\n.cch-sd24__field label{\n  display:block;\n  margin-bottom:7px;\n\n  color:#425866;\n  font-size:11px;\n  line-height:1.45;\n  font-weight:900;\n}\n\n.cch-sd24__field input,\n.cch-sd24__field select{\n  display:block;\n  width:100%;\n  min-height:46px;\n  padding:10px 12px;\n\n  color:#17212b;\n  background:#fff;\n\n  border:1px solid #cfdce4;\n  border-radius:0;\n\n  font-family:inherit;\n  font-size:13px;\n  outline:none;\n}\n\n.cch-sd24__field input:focus,\n.cch-sd24__field select:focus{\n  border-color:#129fe9;\n  box-shadow:0 0 0 2px rgba(18,159,233,.08);\n}\n\n.cch-sd24__field input:disabled{\n  background:#eef3f6;\n  color:#8394a0;\n}\n\n.cch-sd24__help{\n  display:block;\n  margin-top:6px;\n\n  color:#7b8e9a;\n  font-size:9px;\n  line-height:1.5;\n}\n\n.cch-sd24__inline-check{\n  display:flex;\n  align-items:flex-start;\n  gap:9px;\n\n  margin-top:12px;\n}\n\n.cch-sd24__inline-check input{\n  flex:0 0 auto;\n  width:16px;\n  height:16px;\n  margin-top:2px;\n}\n\n.cch-sd24__inline-check label{\n  margin:0;\n\n  color:#566b78;\n  font-size:10px;\n  line-height:1.5;\n  font-weight:700;\n}\n\n\n\/* AUTO VALUE *\/\n\n.cch-sd24__auto{\n  margin-top:14px;\n  padding:15px 16px;\n\n  background:#edf6fa;\n  border-left:3px solid #129fe9;\n}\n\n.cch-sd24__auto span{\n  display:block;\n\n  color:#738895;\n  font-size:9px;\n  font-weight:900;\n  letter-spacing:.09em;\n  text-transform:uppercase;\n}\n\n.cch-sd24__auto strong{\n  display:block;\n  margin-top:5px;\n\n  color:#183446;\n  font-size:15px;\n  font-weight:900;\n}\n\n\n\/* WARNING *\/\n\n.cch-sd24__warning{\n  display:none;\n  margin-top:13px;\n  padding:13px 15px;\n\n  background:#fff5df;\n  border-left:3px solid #d7ad4e;\n\n  color:#6f5a29;\n  font-size:10px;\n  line-height:1.55;\n}\n\n.cch-sd24__warning.is-visible{\n  display:block;\n}\n\n\n\/* ACTIONS *\/\n\n.cch-sd24__actions{\n  display:grid;\n  grid-template-columns:minmax(0,1fr) auto;\n  gap:10px;\n\n  margin-top:27px;\n}\n\n.cch-sd24__calculate,\n.cch-sd24__reset{\n  min-height:48px;\n  padding:12px 18px;\n\n  border-radius:0;\n  font-family:inherit;\n  font-size:12px;\n  font-weight:900;\n  cursor:pointer;\n}\n\n.cch-sd24__calculate{\n  color:#fff;\n  background:#129fe9;\n  border:1px solid #129fe9;\n}\n\n.cch-sd24__calculate:hover{\n  background:#0b8fd4;\n}\n\n.cch-sd24__reset{\n  color:#415867;\n  background:#fff;\n  border:1px solid #cfdce4;\n}\n\n\n\/* ERROR *\/\n\n.cch-sd24__error{\n  display:none;\n  margin-top:15px;\n  padding:13px 15px;\n\n  color:#8c312c;\n  background:#fff0ee;\n  border-left:3px solid #c94d44;\n\n  font-size:11px;\n  line-height:1.55;\n}\n\n.cch-sd24__error.is-visible{\n  display:block;\n}\n\n\n\/* RESULT *\/\n\n.cch-sd24__result{\n  position:sticky;\n  top:100px;\n\n  background:#0b1722;\n  border:1px solid #203847;\n}\n\n.cch-sd24__result-head{\n  padding:25px 27px;\n\n  border-bottom:1px solid rgba(119,204,239,.14);\n}\n\n.cch-sd24__result-head span{\n  display:block;\n\n  color:#77ccef;\n  font-size:9px;\n  font-weight:900;\n  letter-spacing:.12em;\n  text-transform:uppercase;\n}\n\n.cch-sd24__result-head h2{\n  margin:8px 0 0;\n\n  color:#fff;\n  font-size:25px;\n  line-height:1.12;\n  font-weight:900;\n}\n\n.cch-sd24__result-main{\n  padding:29px 27px;\n\n  background:\n    radial-gradient(circle at 80% 20%,rgba(18,159,233,.13),transparent 45%);\n}\n\n.cch-sd24__result-label{\n  color:#7e96a7;\n  font-size:9px;\n  font-weight:900;\n  letter-spacing:.11em;\n  text-transform:uppercase;\n}\n\n.cch-sd24__result-value{\n  margin-top:8px;\n\n  color:#fff;\n  font-size:54px;\n  line-height:.95;\n  font-weight:900;\n  letter-spacing:-.04em;\n}\n\n.cch-sd24__result-value span{\n  color:#77ccef;\n  font-size:18px;\n  letter-spacing:0;\n}\n\n.cch-sd24__result-status{\n  margin-top:10px;\n\n  color:#94aabb;\n  font-size:10px;\n  line-height:1.5;\n}\n\n.cch-sd24__result-data{\n  border-top:1px solid rgba(119,204,239,.13);\n}\n\n.cch-sd24__result-row{\n  display:grid;\n  grid-template-columns:minmax(0,1fr) auto;\n  gap:18px;\n\n  padding:13px 27px;\n\n  border-bottom:1px solid rgba(119,204,239,.10);\n}\n\n.cch-sd24__result-row span{\n  color:#7e95a6;\n  font-size:9px;\n  font-weight:900;\n  letter-spacing:.08em;\n  text-transform:uppercase;\n}\n\n.cch-sd24__result-row strong{\n  color:#dce8ef;\n  font-size:11px;\n  line-height:1.4;\n  font-weight:900;\n  text-align:right;\n}\n\n.cch-sd24__result-note{\n  padding:22px 27px;\n\n  background:#10202d;\n}\n\n.cch-sd24__result-note strong{\n  display:block;\n\n  color:#f0d792;\n  font-size:11px;\n  line-height:1.45;\n  font-weight:900;\n}\n\n.cch-sd24__result-note span{\n  display:block;\n  margin-top:6px;\n\n  color:#8fa5b4;\n  font-size:9px;\n  line-height:1.55;\n}\n\n\n\/* CHANGES *\/\n\n.cch-sd24__changes{\n  display:grid;\n  grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);\n\n  margin-top:28px;\n\n  background:#fff;\n  border:1px solid #dce6ed;\n}\n\n.cch-sd24__changes-head{\n  padding:29px;\n\n  background:#edf6fa;\n  border-left:3px solid #129fe9;\n}\n\n.cch-sd24__changes-head span{\n  display:block;\n\n  color:#129fe9;\n  font-size:9px;\n  font-weight:900;\n  letter-spacing:.11em;\n  text-transform:uppercase;\n}\n\n.cch-sd24__changes-head h3{\n  margin:9px 0 0;\n\n  color:#17212b;\n  font-size:25px;\n  line-height:1.12;\n  font-weight:900;\n}\n\n.cch-sd24__changes-grid{\n  display:grid;\n  grid-template-columns:repeat(2,minmax(0,1fr));\n}\n\n.cch-sd24__change{\n  padding:22px;\n\n  border-right:1px solid #e2e9ee;\n  border-bottom:1px solid #e2e9ee;\n}\n\n.cch-sd24__change:nth-child(2n){\n  border-right:0;\n}\n\n.cch-sd24__change:nth-last-child(-n+2){\n  border-bottom:0;\n}\n\n.cch-sd24__change strong{\n  display:block;\n\n  color:#273f4d;\n  font-size:12px;\n  line-height:1.45;\n  font-weight:900;\n}\n\n.cch-sd24__change span{\n  display:block;\n  margin-top:5px;\n\n  color:#6d818e;\n  font-size:10px;\n  line-height:1.55;\n}\n\n\n\/* DISCLAIMER *\/\n\n.cch-sd24__disclaimer{\n  margin-top:24px;\n  padding:22px 24px;\n\n  background:#fff7e8;\n  border-left:3px solid #d7ad4e;\n}\n\n.cch-sd24__disclaimer strong{\n  display:block;\n\n  color:#493d22;\n  font-size:13px;\n  line-height:1.45;\n  font-weight:900;\n}\n\n.cch-sd24__disclaimer p{\n  margin:7px 0 0;\n\n  color:#74674a;\n  font-size:11px;\n  line-height:1.62;\n}\n\n\n\/* CTA *\/\n\n.cch-sd24__cta{\n  display:flex;\n  justify-content:space-between;\n  align-items:center;\n  gap:30px;\n\n  margin-top:24px;\n  padding:27px;\n\n  background:#0b1722;\n}\n\n.cch-sd24__cta strong{\n  display:block;\n\n  color:#fff;\n  font-size:16px;\n  line-height:1.4;\n  font-weight:900;\n}\n\n.cch-sd24__cta span{\n  display:block;\n  margin-top:5px;\n\n  color:#91a7b6;\n  font-size:11px;\n  line-height:1.5;\n}\n\n.cch-sd24__cta a{\n  display:inline-flex;\n  align-items:center;\n  justify-content:center;\n\n  min-height:44px;\n  padding:11px 18px;\n\n  color:#fff;\n  background:#129fe9;\n\n  text-decoration:none;\n  white-space:nowrap;\n  font-size:11px;\n  font-weight:900;\n}\n\n.cch-sd24__cta a:hover{\n  color:#fff;\n  background:#0b8fd4;\n  text-decoration:none;\n}\n\n\n\/* RESPONSIVE *\/\n\n@media (max-width:980px){\n\n  .cch-sd24__calculator{\n    grid-template-columns:1fr;\n  }\n\n  .cch-sd24__result{\n    position:static;\n  }\n\n}\n\n@media (max-width:820px){\n\n  .cch-sd24__scope,\n  .cch-sd24__formula,\n  .cch-sd24__changes{\n    grid-template-columns:1fr;\n  }\n\n  .cch-sd24__formula-info{\n    border-left:0;\n    border-top:1px solid rgba(119,204,239,.15);\n  }\n\n}\n\n@media (max-width:680px){\n\n  .cch-sd24__hero{\n    padding:62px 20px 58px;\n  }\n\n  .cch-sd24__main{\n    padding:48px 20px 72px;\n  }\n\n  .cch-sd24__fields{\n    grid-template-columns:1fr;\n  }\n\n  .cch-sd24__field--full{\n    grid-column:auto;\n  }\n\n  .cch-sd24__cta{\n    align-items:flex-start;\n    flex-direction:column;\n  }\n\n  .cch-sd24__cta a{\n    width:100%;\n  }\n\n}\n\n@media (max-width:520px){\n\n  .cch-sd24__formula-info,\n  .cch-sd24__changes-grid{\n    grid-template-columns:1fr;\n  }\n\n  .cch-sd24__formula-item,\n  .cch-sd24__change{\n    border-right:0 !important;\n  }\n\n  .cch-sd24__formula-item{\n    border-bottom:1px solid rgba(119,204,239,.11) !important;\n  }\n\n  .cch-sd24__change{\n    border-bottom:1px solid #e2e9ee !important;\n  }\n\n  .cch-sd24__formula-item:last-child,\n  .cch-sd24__change:last-child{\n    border-bottom:0 !important;\n  }\n\n  .cch-sd24__actions{\n    grid-template-columns:1fr;\n  }\n\n  .cch-sd24__result-value{\n    font-size:46px;\n  }\n\n}\n<\/style>\n\n\n<div class=\"cch-sd24\">\n\n\n  <!-- HERO -->\n\n  <section class=\"cch-sd24__hero\">\n\n    <div class=\"cch-sd24__hero-inner\">\n\n      <div class=\"cch-sd24__eyebrow\">\n        CCH \u00b7 Engineering Tool\n      <\/div>\n\n      <h1>\n        Safety Distance Calculator \u2014 ISO 13855:2024\n      <\/h1>\n\n      <p class=\"cch-sd24__hero-lead\">\n        Calculate a preliminary separation distance for a vertically\n        installed safety light curtain with an orthogonal approach,\n        using the current ISO 13855:2024 calculation structure.\n      <\/p>\n\n      <div class=\"cch-sd24__hero-tags\">\n\n        <span class=\"cch-sd24__hero-tag\">\n          ISO 13855:2024\n        <\/span>\n\n        <span class=\"cch-sd24__hero-tag\">\n          Vertical Light Curtain\n        <\/span>\n\n        <span class=\"cch-sd24__hero-tag\">\n          Orthogonal Approach\n        <\/span>\n\n        <span class=\"cch-sd24__hero-tag\">\n          d\u2091 \u2264 55 mm\n        <\/span>\n\n      <\/div>\n\n    <\/div>\n\n  <\/section>\n\n\n  <main class=\"cch-sd24__main\">\n\n\n    <!-- SCOPE -->\n\n    <section class=\"cch-sd24__scope\">\n\n      <div class=\"cch-sd24__scope-title\">\n\n        <span>\n          Calculator Scope\n        <\/span>\n\n        <strong>\n          Know What This Tool Calculates\n        <\/strong>\n\n      <\/div>\n\n      <div class=\"cch-sd24__scope-copy\">\n\n        <p>\n          This calculator is intended for preliminary evaluation of a\n          static, orthogonal approach toward a vertically installed\n          safety light curtain with an effective detection capability\n          of 55 mm or less.\n        <\/p>\n\n        <p>\n          Reaching over, reaching under, effective detection capability,\n          overall system response time and application-dependent\n          supplemental distances must all be evaluated for the actual\n          machine installation.\n        <\/p>\n\n      <\/div>\n\n    <\/section>\n\n\n    <!-- FORMULA -->\n\n    <section class=\"cch-sd24__formula\">\n\n      <div class=\"cch-sd24__formula-main\">\n\n        <span class=\"cch-sd24__formula-label\">\n          ISO 13855:2024 Structure\n        <\/span>\n\n        <div class=\"cch-sd24__formula-equation\">\n          <b>S<\/b> = (K \u00d7 T) + D<sub>DS<\/sub> + Z\n        <\/div>\n\n      <\/div>\n\n\n      <div class=\"cch-sd24__formula-info\">\n\n        <div class=\"cch-sd24__formula-item\">\n\n          <strong>\n            K \u00b7 Approach Speed\n          <\/strong>\n\n          <span>\n            2,000 mm\/s initially; 1,600 mm\/s may apply when the\n            calculated separation distance exceeds 500 mm.\n          <\/span>\n\n        <\/div>\n\n\n        <div class=\"cch-sd24__formula-item\">\n\n          <strong>\n            T \u00b7 Overall Response Time\n          <\/strong>\n\n          <span>\n            Safety device + safety control + machine stopping time +\n            applicable tolerance factor.\n          <\/span>\n\n        <\/div>\n\n\n        <div class=\"cch-sd24__formula-item\">\n\n          <strong>\n            D<sub>DS<\/sub> \u00b7 Reaching Distance\n          <\/strong>\n\n          <span>\n            Maximum applicable allowance for reaching over, through\n            or under the protective device.\n          <\/span>\n\n        <\/div>\n\n\n        <div class=\"cch-sd24__formula-item\">\n\n          <strong>\n            Z \u00b7 Supplemental Distance\n          <\/strong>\n\n          <span>\n            Application-dependent allowance for factors such as\n            uncertainty or changes in stopping performance.\n          <\/span>\n\n        <\/div>\n\n      <\/div>\n\n    <\/section>\n\n\n    <!-- CALCULATOR -->\n\n    <section class=\"cch-sd24__calculator\">\n\n\n      <!-- LEFT INPUTS -->\n\n      <div class=\"cch-sd24__panel\">\n\n        <div class=\"cch-sd24__panel-head\">\n\n          <span>\n            Enter Project Data\n          <\/span>\n\n          <h2>\n            Safety Distance Inputs\n          <\/h2>\n\n        <\/div>\n\n\n        <div class=\"cch-sd24__panel-body\">\n\n\n          <!-- GROUP 01 -->\n\n          <div class=\"cch-sd24__group\">\n\n            <div class=\"cch-sd24__group-title\">\n\n              <span class=\"cch-sd24__group-num\">\n                01\n              <\/span>\n\n              <strong>\n                Effective Detection Capability\n              <\/strong>\n\n            <\/div>\n\n\n            <div class=\"cch-sd24__fields\">\n\n              <div class=\"cch-sd24__field cch-sd24__field--full\">\n\n                <label for=\"cch-sd24-resolution\">\n                  ENT platform \/ effective detection capability d\u2091\n                <\/label>\n\n                <select id=\"cch-sd24-resolution\">\n\n                  <option value=\"\">\n                    Select\n                  <\/option>\n\n                  <option value=\"14\">\n                    ENT14 \u00b7 14 mm\n                  <\/option>\n\n                  <option value=\"25\">\n                    ENT25 \u00b7 25 mm\n                  <\/option>\n\n                  <option value=\"45\">\n                    ENT45 \u00b7 45 mm\n                  <\/option>\n\n                  <option value=\"custom\">\n                    Custom effective detection capability\n                  <\/option>\n\n                <\/select>\n\n                <span class=\"cch-sd24__help\">\n                  Use effective detection capability, not simply beam spacing.\n                <\/span>\n\n              <\/div>\n\n\n              <div id=\"cch-sd24-custom-wrap\" class=\"cch-sd24__field cch-sd24__field--full\" style=\"display:none;\">\n\n                <label for=\"cch-sd24-custom-resolution\">\n                  Custom d\u2091 (mm)\n                <\/label>\n\n                <input id=\"cch-sd24-custom-resolution\" type=\"number\" min=\"1\" max=\"55\" step=\"0.1\" placeholder=\"Example: 30\">\n\n                <span class=\"cch-sd24__help\">\n                  This calculator supports d\u2091 \u2264 55 mm only.\n                <\/span>\n\n              <\/div>\n\n            <\/div>\n\n\n            <div class=\"cch-sd24__inline-check\">\n\n              <input id=\"cch-sd24-blanking\" type=\"checkbox\">\n\n              <label for=\"cch-sd24-blanking\">\n                Blanking or another configuration changes the effective\n                detection capability.\n              <\/label>\n\n            <\/div>\n\n\n            <div id=\"cch-sd24-blanking-warning\" class=\"cch-sd24__warning\">\n              Do not use the nominal ENT14 \/ ENT25 \/ ENT45 resolution\n              automatically when blanking changes the effective detection\n              capability. Determine the effective value for the configured\n              safeguarding function and enter it as a custom d\u2091 value.\n            <\/div>\n\n\n            <div class=\"cch-sd24__auto\">\n\n              <span>\n                Automatically Calculated\n              <\/span>\n\n              <strong id=\"cch-sd24-ddt-preview\">\n                DDT reaching-through allowance: \u2014\n              <\/strong>\n\n            <\/div>\n\n          <\/div>\n\n\n          <!-- GROUP 02 -->\n\n          <div class=\"cch-sd24__group\">\n\n            <div class=\"cch-sd24__group-title\">\n\n              <span class=\"cch-sd24__group-num\">\n                02\n              <\/span>\n\n              <strong>\n                Overall System Response Time T\n              <\/strong>\n\n            <\/div>\n\n\n            <div class=\"cch-sd24__fields\">\n\n\n              <div class=\"cch-sd24__field\">\n\n                <label for=\"cch-sd24-sensor\">\n                  Light curtain response time (ms)\n                <\/label>\n\n                <input id=\"cch-sd24-sensor\" type=\"number\" min=\"0\" step=\"0.1\" placeholder=\"Example: 10.2\">\n\n                <span class=\"cch-sd24__help\">\n                  Use the actual selected ENT model response time.\n                <\/span>\n\n              <\/div>\n\n\n              <div class=\"cch-sd24__field\">\n\n                <label for=\"cch-sd24-control\">\n                  Safety control response time (ms)\n                <\/label>\n\n                <input id=\"cch-sd24-control\" type=\"number\" min=\"0\" step=\"0.1\" placeholder=\"Example: 8\">\n\n                <span class=\"cch-sd24__help\">\n                  Include relay\/controller response where applicable.\n                <\/span>\n\n              <\/div>\n\n\n              <div class=\"cch-sd24__field\">\n\n                <label for=\"cch-sd24-machine\">\n                  Machine stopping time (ms)\n                <\/label>\n\n                <input id=\"cch-sd24-machine\" type=\"number\" min=\"0\" step=\"0.1\" placeholder=\"Example: 150\">\n\n                <span class=\"cch-sd24__help\">\n                  Use validated measured or calculated stopping data.\n                <\/span>\n\n              <\/div>\n\n\n              <div class=\"cch-sd24__field\">\n\n                <label for=\"cch-sd24-tolerance\">\n                  Response-time tolerance factor TF (ms)\n                <\/label>\n\n                <input id=\"cch-sd24-tolerance\" type=\"number\" min=\"0\" step=\"0.1\" placeholder=\"Enter 0 only if justified\">\n\n                <span class=\"cch-sd24__help\">\n                  Account for the applicable response-time tolerance.\n                <\/span>\n\n              <\/div>\n\n\n            <\/div>\n\n          <\/div>\n\n\n          <!-- GROUP 03 -->\n\n          <div class=\"cch-sd24__group\">\n\n            <div class=\"cch-sd24__group-title\">\n\n              <span class=\"cch-sd24__group-num\">\n                03\n              <\/span>\n\n              <strong>\n                Reaching Over \/ Under\n              <\/strong>\n\n            <\/div>\n\n\n            <div class=\"cch-sd24__fields\">\n\n\n              <div class=\"cch-sd24__field\">\n\n                <label for=\"cch-sd24-over-mode\">\n                  Reaching over the protective field\n                <\/label>\n\n                <select id=\"cch-sd24-over-mode\">\n\n                  <option value=\"\">\n                    Select\n                  <\/option>\n\n                  <option value=\"prevented\">\n                    Prevented by design\n                  <\/option>\n\n                  <option value=\"possible\">\n                    Possible \/ evaluated\n                  <\/option>\n\n                <\/select>\n\n              <\/div>\n\n\n              <div class=\"cch-sd24__field\">\n\n                <label for=\"cch-sd24-ddo\">\n                  DDO \u00b7 Reaching-over allowance (mm)\n                <\/label>\n\n                <input id=\"cch-sd24-ddo\" type=\"number\" min=\"0\" step=\"1\" placeholder=\"Enter evaluated value\" disabled=\"\">\n\n                <span class=\"cch-sd24__help\">\n                  Determine from the actual protection-field and hazard\n                  geometry using the current standard.\n                <\/span>\n\n              <\/div>\n\n\n              <div class=\"cch-sd24__field\">\n\n                <label for=\"cch-sd24-under-mode\">\n                  Reaching under the protective field\n                <\/label>\n\n                <select id=\"cch-sd24-under-mode\">\n\n                  <option value=\"\">\n                    Select\n                  <\/option>\n\n                  <option value=\"prevented\">\n                    Prevented by design\n                  <\/option>\n\n                  <option value=\"possible\">\n                    Possible \/ evaluated\n                  <\/option>\n\n                <\/select>\n\n              <\/div>\n\n\n              <div class=\"cch-sd24__field\">\n\n                <label for=\"cch-sd24-ddu\">\n                  DDU \u00b7 Reaching-under allowance (mm)\n                <\/label>\n\n                <input id=\"cch-sd24-ddu\" type=\"number\" min=\"0\" step=\"1\" placeholder=\"Enter evaluated value\" disabled=\"\">\n\n                <span class=\"cch-sd24__help\">\n                  Enter 0 only when reaching under is prevented by the\n                  safeguarding design.\n                <\/span>\n\n              <\/div>\n\n\n            <\/div>\n\n          <\/div>\n\n\n          <!-- GROUP 04 -->\n\n          <div class=\"cch-sd24__group\">\n\n            <div class=\"cch-sd24__group-title\">\n\n              <span class=\"cch-sd24__group-num\">\n                04\n              <\/span>\n\n              <strong>\n                Supplemental Distance Z\n              <\/strong>\n\n            <\/div>\n\n\n            <div class=\"cch-sd24__fields\">\n\n              <div class=\"cch-sd24__field cch-sd24__field--full\">\n\n                <label for=\"cch-sd24-z\">\n                  Application-dependent supplemental distance Z (mm)\n                <\/label>\n\n                <input id=\"cch-sd24-z\" type=\"number\" min=\"0\" step=\"1\" placeholder=\"Enter evaluated value, including 0 if justified\">\n\n                <span class=\"cch-sd24__help\">\n                  Z can address application-specific factors such as\n                  uncertainty, measurement effects or changes in stopping\n                  performance. Do not assume Z = 0 without evaluation.\n                <\/span>\n\n              <\/div>\n\n            <\/div>\n\n          <\/div>\n\n\n          <!-- ACTIONS -->\n\n          <div class=\"cch-sd24__actions\">\n\n            <button id=\"cch-sd24-calculate\" class=\"cch-sd24__calculate\" type=\"button\">\n              Calculate Preliminary Separation Distance\n            <\/button>\n\n            <button id=\"cch-sd24-reset\" class=\"cch-sd24__reset\" type=\"button\">\n              Reset\n            <\/button>\n\n          <\/div>\n\n\n          <div id=\"cch-sd24-error\" class=\"cch-sd24__error\"><\/div>\n\n\n        <\/div>\n\n      <\/div>\n\n\n      <!-- RIGHT RESULT -->\n\n      <aside class=\"cch-sd24__result\">\n\n        <div class=\"cch-sd24__result-head\">\n\n          <span>\n            ISO 13855:2024 \u00b7 Preliminary Result\n          <\/span>\n\n          <h2>\n            Separation Distance\n          <\/h2>\n\n        <\/div>\n\n\n        <div class=\"cch-sd24__result-main\">\n\n          <div class=\"cch-sd24__result-label\">\n            Rounded-Up Preliminary S\n          <\/div>\n\n          <div id=\"cch-sd24-result\" class=\"cch-sd24__result-value\">\n            \u2014 <span>mm<\/span>\n          <\/div>\n\n          <div id=\"cch-sd24-status\" class=\"cch-sd24__result-status\">\n            Enter all required project parameters to calculate.\n          <\/div>\n\n        <\/div>\n\n\n        <div class=\"cch-sd24__result-data\">\n\n          <div class=\"cch-sd24__result-row\">\n            <span>Effective d\u2091<\/span>\n            <strong id=\"cch-sd24-r-de\">\u2014<\/strong>\n          <\/div>\n\n          <div class=\"cch-sd24__result-row\">\n            <span>Total T<\/span>\n            <strong id=\"cch-sd24-r-t\">\u2014<\/strong>\n          <\/div>\n\n          <div class=\"cch-sd24__result-row\">\n            <span>DDT \u00b7 Through<\/span>\n            <strong id=\"cch-sd24-r-ddt\">\u2014<\/strong>\n          <\/div>\n\n          <div class=\"cch-sd24__result-row\">\n            <span>DDO \u00b7 Over<\/span>\n            <strong id=\"cch-sd24-r-ddo\">\u2014<\/strong>\n          <\/div>\n\n          <div class=\"cch-sd24__result-row\">\n            <span>DDU \u00b7 Under<\/span>\n            <strong id=\"cch-sd24-r-ddu\">\u2014<\/strong>\n          <\/div>\n\n          <div class=\"cch-sd24__result-row\">\n            <span>DDS \u00b7 Governing Reach<\/span>\n            <strong id=\"cch-sd24-r-dds\">\u2014<\/strong>\n          <\/div>\n\n          <div class=\"cch-sd24__result-row\">\n            <span>Z<\/span>\n            <strong id=\"cch-sd24-r-z\">\u2014<\/strong>\n          <\/div>\n\n          <div class=\"cch-sd24__result-row\">\n            <span>K Used<\/span>\n            <strong id=\"cch-sd24-r-k\">\u2014<\/strong>\n          <\/div>\n\n        <\/div>\n\n\n        <div class=\"cch-sd24__result-note\">\n\n          <strong>\n            This is not an installation approval.\n          <\/strong>\n\n          <span>\n            Final safeguarding design must consider the complete machine\n            risk assessment, actual stopping performance, possible\n            circumvention, the current ISO 13855 requirements and the\n            safety light curtain operating instructions.\n          <\/span>\n\n        <\/div>\n\n      <\/aside>\n\n\n    <\/section>\n\n\n    <!-- CHANGES -->\n\n    <section class=\"cch-sd24__changes\">\n\n      <div class=\"cch-sd24__changes-head\">\n\n        <span>\n          Why the 2024 Calculator Is Different\n        <\/span>\n\n        <h3>\n          More Than Resolution and Stop Time\n        <\/h3>\n\n      <\/div>\n\n\n      <div class=\"cch-sd24__changes-grid\">\n\n\n        <div class=\"cch-sd24__change\">\n\n          <strong>\n            Reaching Through\n          <\/strong>\n\n          <span>\n            Effective detection capability is used to determine the\n            reaching-through allowance.\n          <\/span>\n\n        <\/div>\n\n\n        <div class=\"cch-sd24__change\">\n\n          <strong>\n            Reaching Over \/ Under\n          <\/strong>\n\n          <span>\n            Protective-field geometry can create a larger reaching\n            allowance than resolution alone.\n          <\/span>\n\n        <\/div>\n\n\n        <div class=\"cch-sd24__change\">\n\n          <strong>\n            Overall Response Time\n          <\/strong>\n\n          <span>\n            Sensor, safety-related control, machine stopping performance\n            and applicable response-time tolerance must be considered.\n          <\/span>\n\n        <\/div>\n\n\n        <div class=\"cch-sd24__change\">\n\n          <strong>\n            Supplemental Distance Z\n          <\/strong>\n\n          <span>\n            Application-dependent uncertainty and stopping-performance\n            factors can require additional distance.\n          <\/span>\n\n        <\/div>\n\n\n      <\/div>\n\n    <\/section>\n\n\n    <!-- DISCLAIMER -->\n\n    <div class=\"cch-sd24__disclaimer\">\n\n      <strong>\n        Engineering-use disclaimer\n      <\/strong>\n\n      <p>\n        This calculator provides a preliminary engineering value and does\n        not reproduce the full requirements, tables or application rules\n        of ISO 13855:2024. Users must consult the current standard and the\n        applicable safety-device documentation when designing, validating\n        or modifying a machine safeguarding system. Dynamic applications,\n        parallel approaches, whole-body access, detection capabilities\n        above 55 mm and other configurations require additional evaluation.\n      <\/p>\n\n    <\/div>\n\n\n    <!-- CTA -->\n\n    <div class=\"cch-sd24__cta\">\n\n      <div>\n\n        <strong>\n          Need help with an ENT safety light curtain application?\n        <\/strong>\n\n        <span>\n          Send the machine layout, protection height, stopping data and\n          mounting arrangement to CCH Engineering for preliminary product\n          selection.\n        <\/span>\n\n      <\/div>\n\n      <a href=\"\/contact-us\/\">\n        Contact Engineering \u2192\n      <\/a>\n\n    <\/div>\n\n\n  <\/main>\n\n<\/div>\n\n\n<script>\n(function(){\n\n  const $ = (id) => document.getElementById(id);\n\n  const resolution = $('cch-sd24-resolution');\n  const customWrap = $('cch-sd24-custom-wrap');\n  const customResolution = $('cch-sd24-custom-resolution');\n\n  const blanking = $('cch-sd24-blanking');\n  const blankingWarning = $('cch-sd24-blanking-warning');\n\n  const sensor = $('cch-sd24-sensor');\n  const control = $('cch-sd24-control');\n  const machine = $('cch-sd24-machine');\n  const tolerance = $('cch-sd24-tolerance');\n\n  const overMode = $('cch-sd24-over-mode');\n  const underMode = $('cch-sd24-under-mode');\n\n  const ddoInput = $('cch-sd24-ddo');\n  const dduInput = $('cch-sd24-ddu');\n\n  const zInput = $('cch-sd24-z');\n\n  const calc = $('cch-sd24-calculate');\n  const reset = $('cch-sd24-reset');\n\n  const error = $('cch-sd24-error');\n  const preview = $('cch-sd24-ddt-preview');\n\n\n  \/* =========================================================\n     VALUE HELPERS\n  ========================================================= *\/\n\n  function numberValue(el){\n\n    if(el.value === ''){\n      return null;\n    }\n\n    const value = Number(el.value);\n\n    return Number.isFinite(value)\n      ? value\n      : null;\n\n  }\n\n\n  function getDE(){\n\n    if(resolution.value === ''){\n      return null;\n    }\n\n    if(\n      resolution.value === 'custom' ||\n      blanking.checked\n    ){\n      return numberValue(customResolution);\n    }\n\n    return Number(resolution.value);\n\n  }\n\n\n  \/* =========================================================\n     REACHING-THROUGH ALLOWANCE\n  ========================================================= *\/\n\n  function calculateDDT(de){\n\n    if(\n      de === null ||\n      !Number.isFinite(de) ||\n      de <= 0 ||\n      de > 55\n    ){\n      return null;\n    }\n\n    if(de <= 14){\n      return 0;\n    }\n\n    if(de <= 40){\n      return 8 * (de - 14);\n    }\n\n    return 208 + 12 * (de - 40);\n\n  }\n\n\n  \/* =========================================================\n     RESULT \/ ERROR MANAGEMENT\n  ========================================================= *\/\n\n  function clearResults(){\n\n    $('cch-sd24-result').innerHTML =\n      '\u2014 <span>mm<\/span>';\n\n    $('cch-sd24-status').textContent =\n      'Enter all required project parameters to calculate.';\n\n    [\n      'cch-sd24-r-de',\n      'cch-sd24-r-t',\n      'cch-sd24-r-ddt',\n      'cch-sd24-r-ddo',\n      'cch-sd24-r-ddu',\n      'cch-sd24-r-dds',\n      'cch-sd24-r-z',\n      'cch-sd24-r-k'\n    ].forEach(function(id){\n\n      $(id).textContent = '\u2014';\n\n    });\n\n  }\n\n\n  function clearError(){\n\n    error.textContent = '';\n    error.classList.remove('is-visible');\n\n  }\n\n\n  function showError(message){\n\n    clearResults();\n\n    error.textContent = message;\n    error.classList.add('is-visible');\n\n  }\n\n\n  \/* =========================================================\n     UI STATE\n  ========================================================= *\/\n\n  function updateResolutionUI(){\n\n    const needsCustom =\n      resolution.value === 'custom' ||\n      blanking.checked;\n\n    customWrap.style.display =\n      needsCustom\n        ? 'block'\n        : 'none';\n\n    blankingWarning.classList.toggle(\n      'is-visible',\n      blanking.checked\n    );\n\n    const de = getDE();\n    const ddt = calculateDDT(de);\n\n    if(ddt === null){\n\n      preview.textContent =\n        'DDT reaching-through allowance: \u2014';\n\n    }else{\n\n      preview.textContent =\n        'DDT reaching-through allowance: ' +\n        (Math.round(ddt * 10) \/ 10) +\n        ' mm';\n\n    }\n\n  }\n\n\n  function updateReachField(modeEl,inputEl){\n\n    if(modeEl.value === 'prevented'){\n\n      inputEl.disabled = true;\n      inputEl.value = '0';\n\n    }else if(modeEl.value === 'possible'){\n\n      inputEl.disabled = false;\n\n      if(inputEl.value === '0'){\n        inputEl.value = '';\n      }\n\n    }else{\n\n      inputEl.disabled = true;\n      inputEl.value = '';\n\n    }\n\n  }\n\n\n  \/* =========================================================\n     CALCULATION\n  ========================================================= *\/\n\n  function calculate(){\n\n    clearError();\n\n    const de = getDE();\n\n\n    \/* EFFECTIVE DETECTION CAPABILITY *\/\n\n    if(de === null || de <= 0){\n\n      showError(\n        'Enter or select the effective detection capability d\u2091.'\n      );\n\n      return;\n\n    }\n\n    if(de > 55){\n\n      showError(\n        'This calculator is limited to effective detection capability d\u2091 \u2264 55 mm.'\n      );\n\n      return;\n\n    }\n\n\n    if(\n      blanking.checked &&\n      numberValue(customResolution) === null\n    ){\n\n      showError(\n        'Blanking can change the effective detection capability. Enter the evaluated custom d\u2091 value before calculating.'\n      );\n\n      return;\n\n    }\n\n\n    const ddt = calculateDDT(de);\n\n    if(ddt === null){\n\n      showError(\n        'The effective detection capability is outside the supported calculation range.'\n      );\n\n      return;\n\n    }\n\n\n    \/* RESPONSE TIME *\/\n\n    const tSensor = numberValue(sensor);\n    const tControl = numberValue(control);\n    const tMachine = numberValue(machine);\n    const tTolerance = numberValue(tolerance);\n\n\n    if(\n      tSensor === null ||\n      tControl === null ||\n      tMachine === null ||\n      tTolerance === null\n    ){\n\n      showError(\n        'Complete all four overall system response-time inputs. Enter 0 only where a zero value is justified.'\n      );\n\n      return;\n\n    }\n\n\n    if(\n      tSensor < 0 ||\n      tControl < 0 ||\n      tMachine < 0 ||\n      tTolerance < 0\n    ){\n\n      showError(\n        'Response-time values cannot be negative.'\n      );\n\n      return;\n\n    }\n\n\n    \/* REACHING OVER \/ UNDER *\/\n\n    if(overMode.value === ''){\n\n      showError(\n        'Select whether reaching over the protective field is prevented or possible.'\n      );\n\n      return;\n\n    }\n\n\n    if(underMode.value === ''){\n\n      showError(\n        'Select whether reaching under the protective field is prevented or possible.'\n      );\n\n      return;\n\n    }\n\n\n    const ddo =\n      overMode.value === 'prevented'\n        ? 0\n        : numberValue(ddoInput);\n\n\n    const ddu =\n      underMode.value === 'prevented'\n        ? 0\n        : numberValue(dduInput);\n\n\n    if(ddo === null || ddo < 0){\n\n      showError(\n        'Enter the evaluated DDO reaching-over allowance.'\n      );\n\n      return;\n\n    }\n\n\n    if(ddu === null || ddu < 0){\n\n      showError(\n        'Enter the evaluated DDU reaching-under allowance.'\n      );\n\n      return;\n\n    }\n\n\n    \/* SUPPLEMENTAL DISTANCE *\/\n\n    const z = numberValue(zInput);\n\n    if(z === null || z < 0){\n\n      showError(\n        'Enter the evaluated supplemental distance Z. Enter 0 only if a zero allowance is justified.'\n      );\n\n      return;\n\n    }\n\n\n    \/* TOTAL RESPONSE TIME *\/\n\n    const totalMs =\n      tSensor +\n      tControl +\n      tMachine +\n      tTolerance;\n\n    const totalSeconds =\n      totalMs \/ 1000;\n\n\n    \/* GOVERNING REACH *\/\n\n    const dds =\n      Math.max(\n        ddt,\n        ddo,\n        ddu\n      );\n\n\n    \/* INITIAL K = 2000 *\/\n\n    const s2000 =\n      (2000 * totalSeconds) +\n      dds +\n      z;\n\n\n    let k;\n    let mathematicalS;\n\n\n    if(s2000 <= 500){\n\n      k = 2000;\n\n      mathematicalS =\n        Math.max(\n          100,\n          s2000\n        );\n\n    }else{\n\n      k = 1600;\n\n      const s1600 =\n        (1600 * totalSeconds) +\n        dds +\n        z;\n\n      mathematicalS =\n        Math.max(\n          500,\n          s1600\n        );\n\n    }\n\n\n    \/* NEVER ROUND DOWN *\/\n\n    const roundedS =\n      Math.ceil(mathematicalS);\n\n\n    \/* OUTPUT *\/\n\n    $('cch-sd24-result').innerHTML =\n      roundedS +\n      ' <span>mm<\/span>';\n\n\n    $('cch-sd24-status').textContent =\n      'Preliminary result rounded upward to the next whole millimetre.';\n\n\n    $('cch-sd24-r-de').textContent =\n      de.toFixed(\n        Number.isInteger(de)\n          ? 0\n          : 1\n      ) +\n      ' mm';\n\n\n    $('cch-sd24-r-t').textContent =\n      totalMs.toFixed(1) +\n      ' ms';\n\n\n    $('cch-sd24-r-ddt').textContent =\n      ddt.toFixed(1) +\n      ' mm';\n\n\n    $('cch-sd24-r-ddo').textContent =\n      ddo.toFixed(1) +\n      ' mm';\n\n\n    $('cch-sd24-r-ddu').textContent =\n      ddu.toFixed(1) +\n      ' mm';\n\n\n    $('cch-sd24-r-dds').textContent =\n      dds.toFixed(1) +\n      ' mm';\n\n\n    $('cch-sd24-r-z').textContent =\n      z.toFixed(1) +\n      ' mm';\n\n\n    $('cch-sd24-r-k').textContent =\n      k.toLocaleString() +\n      ' mm\/s';\n\n  }\n\n\n  \/* =========================================================\n     RESET\n  ========================================================= *\/\n\n  function resetCalculator(){\n\n    resolution.value = '';\n    customResolution.value = '';\n\n    blanking.checked = false;\n\n    sensor.value = '';\n    control.value = '';\n    machine.value = '';\n    tolerance.value = '';\n\n    overMode.value = '';\n    underMode.value = '';\n\n    ddoInput.value = '';\n    dduInput.value = '';\n\n    ddoInput.disabled = true;\n    dduInput.disabled = true;\n\n    zInput.value = '';\n\n    clearError();\n    clearResults();\n    updateResolutionUI();\n\n  }\n\n\n  \/* =========================================================\n     SPECIFIC UI EVENT HANDLERS\n  ========================================================= *\/\n\n  resolution.addEventListener(\n    'change',\n    function(){\n\n      updateResolutionUI();\n\n    }\n  );\n\n\n  customResolution.addEventListener(\n    'input',\n    function(){\n\n      updateResolutionUI();\n\n    }\n  );\n\n\n  blanking.addEventListener(\n    'change',\n    function(){\n\n      updateResolutionUI();\n\n    }\n  );\n\n\n  overMode.addEventListener(\n    'change',\n    function(){\n\n      updateReachField(\n        overMode,\n        ddoInput\n      );\n\n    }\n  );\n\n\n  underMode.addEventListener(\n    'change',\n    function(){\n\n      updateReachField(\n        underMode,\n        dduInput\n      );\n\n    }\n  );\n\n\n  \/* =========================================================\n     IMPORTANT SAFETY UX\n     ANY INPUT CHANGE INVALIDATES THE PREVIOUS RESULT\n  ========================================================= *\/\n\n  document\n    .querySelectorAll(\n      '.cch-sd24__panel-body input, .cch-sd24__panel-body select'\n    )\n    .forEach(function(el){\n\n      el.addEventListener(\n        'input',\n        function(){\n\n          clearError();\n          clearResults();\n\n        }\n      );\n\n\n      el.addEventListener(\n        'change',\n        function(){\n\n          clearError();\n          clearResults();\n\n        }\n      );\n\n    });\n\n\n  \/* =========================================================\n     ACTION BUTTONS\n  ========================================================= *\/\n\n  calc.addEventListener(\n    'click',\n    calculate\n  );\n\n\n  reset.addEventListener(\n    'click',\n    resetCalculator\n  );\n\n\n  \/* INITIAL STATE *\/\n\n  updateResolutionUI();\n  clearResults();\n\n})();\n<\/script>\n<\/div><\/div><\/div>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>CCH \u00b7 Engineering Tool Safety Distance Calculator \u2014 ISO 13855:2024 Calculate a preliminary separation distance for a vertically installed safety light curtain with an orthogonal approach, using the current ISO 13855:2024 calculation structure. ISO 13855:2024 Vertical Light Curtain Orthogonal Approach d\u2091 \u2264 55 mm Calculator Scope Know What This Tool Calculates This calculator is intended [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":823,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_gspb_post_css":"","footnotes":""},"class_list":["post-1074","page","type-page","status-publish","hentry"],"blocksy_meta":{"has_hero_section":"disabled","styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":8}},"_links":{"self":[{"href":"https:\/\/industrialsafetysensor.com\/es\/wp-json\/wp\/v2\/pages\/1074","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/industrialsafetysensor.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/industrialsafetysensor.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/industrialsafetysensor.com\/es\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/industrialsafetysensor.com\/es\/wp-json\/wp\/v2\/comments?post=1074"}],"version-history":[{"count":0,"href":"https:\/\/industrialsafetysensor.com\/es\/wp-json\/wp\/v2\/pages\/1074\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/industrialsafetysensor.com\/es\/wp-json\/wp\/v2\/pages\/823"}],"wp:attachment":[{"href":"https:\/\/industrialsafetysensor.com\/es\/wp-json\/wp\/v2\/media?parent=1074"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}