{"id":16986,"date":"2026-05-07T09:24:56","date_gmt":"2026-05-07T09:24:56","guid":{"rendered":"https:\/\/www.dgcrane.com\/?p=16986"},"modified":"2026-05-07T10:01:24","modified_gmt":"2026-05-07T10:01:24","slug":"crane-hoist-wire-rope-replacement-calculator","status":"publish","type":"post","link":"https:\/\/www.dgcrane.com\/sw\/crane-hoist-wire-rope-replacement-calculator\/","title":{"rendered":"Kikokotoo cha Kubadilisha Kamba ya Waya ya Kiinua cha Crane"},"content":{"rendered":"<div id=\"calculator\">\n\n  <div class=\"calc-group\">\n    <label for=\"calculator-ropeType\">Aina ya Kamba ya Waya<\/label>\n    <select id=\"calculator-ropeType\" class=\"calc-input\">\n      <option value=\"fc\">Kamba ya safu moja yenye kiini cha nyuzi (FC)<\/option>\n      <option value=\"iwrc\">Kamba ya safu moja yenye kiini cha chuma (IWRC)<\/option>\n      <option value=\"rotation\">Kamba inayostahimili mzunguko<\/option>\n    <\/select>\n  <\/div>\n\n  <div class=\"calc-group\">\n    <label for=\"calculator-nominalD\">Kipenyo cha nomino d (mm)<\/label>\n    <input type=\"number\" step=\"0.1\" id=\"calculator-nominalD\" class=\"calc-input\" data-required=\"true\">\n    <div class=\"error-msg\" id=\"error-nominalD\">Tafadhali weka nambari sahihi chanya<\/div>\n  <\/div>\n\n  <div class=\"calc-group\">\n    <label for=\"calculator-refD\">Kipenyo cha Marejeleo d<sub>marejeleo<\/sub> (mm)<\/label>\n    <input type=\"number\" step=\"0.1\" id=\"calculator-refD\" class=\"calc-input\" data-required=\"true\">\n    <div class=\"error-msg\" id=\"error-refD\">Tafadhali weka nambari sahihi chanya<\/div>\n  <\/div>\n\n  <div class=\"calc-group\">\n    <label for=\"calculator-measuredD\">Kipenyo Kilichopimwa d<sub>m<\/sub> (mm)<\/label>\n    <input type=\"number\" step=\"0.1\" id=\"calculator-measuredD\" class=\"calc-input\" data-required=\"true\">\n    <div class=\"error-msg\" id=\"error-measuredD\">Tafadhali weka nambari sahihi chanya<\/div>\n  <\/div>\n\n  <div class=\"calc-buttons\">\n    <button type=\"button\" id=\"calculator-calculate\" class=\"calc-btn primary\">Hesabu na Tathmini<\/button>\n    <button type=\"button\" id=\"calculator-reset\" class=\"calc-btn reset\">Weka upya<\/button>\n  <\/div>\n\n  <div class=\"calc-result\" id=\"calculator-result\" style=\"display: none;\">\n    <div class=\"result-title\">Matokeo ya Tathmini<\/div>\n    <div class=\"result-item\">\n      <span class=\"result-label\">Kupunguza Kipenyo:<\/span>\n      <span class=\"result-value\" id=\"result-q\"><\/span>\n    <\/div>\n    <div class=\"result-item\">\n      <span class=\"result-label\">Aina ya Uharibifu:<\/span>\n      <span class=\"result-value\" id=\"result-percent\"><\/span>\n    <\/div>\n    <div class=\"result-item\">\n      <span class=\"result-label\">Kiwango cha Uharibifu:<\/span>\n      <span class=\"result-value\" id=\"result-level\"><\/span>\n    <\/div>\n    <div class=\"result-item\">\n      <span class=\"result-label\">Hali ya Matumizi:<\/span>\n      <span class=\"result-value\" id=\"result-status\"><\/span>\n    <\/div>\n    <div class=\"result-item\">\n      <span class=\"result-label\">Hatua Iliyopendekezwa:<\/span>\n      <span class=\"result-text\" id=\"result-action\"><\/span>\n    <\/div>\n  <\/div>\n\n  <style>\n    #calculator {\n      --primary-color: #0a3487;\n      --primary-hover: #F58423;\n      --error-color: #e53935;\n      --bg-color: #EAEEF7;\n      --text-color: #4a4a4a;\n      max-width: 545px;\n      padding: 30px;\n      background: var(--bg-color);\n      font-family: Arial, sans-serif;\n      color: var(--text-color);\n    }\n    #calculator * {\n      margin: 0;\n      padding: 0;\n      box-sizing: border-box;\n      transition: all 0.2s ease;\n    }\n    #calculator .calc-header {\n      font-size: 18px;\n      font-weight: bold;\n      text-align: center;\n      margin-bottom: 15px;\n      color: var(--primary-color);\n    }\n    #calculator .calc-formula {\n      text-align: center;\n      font-size: 14px;\n      margin-bottom: 20px;\n    }\n    #calculator .calc-group {\n      margin-bottom: 18px;gap:inherit;\n    }\n    #calculator label {\n      display: block;\n      font-size: 14px;\n      margin-bottom: 6px;\n      font-weight: 500;\n    }\n    #calculator .calc-input {\n      width: 100%;\n      height: 36px;\n      border-radius: 0;\n      border: 1px solid #ccc;\n      padding: 0 10px;\n      font-size: 16px;\n      outline: none;\n    }\n    #calculator .calc-input:focus {\n      border: 2px solid var(--primary-color);\n    }\n    #calculator .calc-input.error {\n      border: 2px solid var(--error-color) !important;\n    }\n    #calculator .error-msg {\n      display: none;\n      font-size: 12px;\n      color: var(--error-color);\n      margin-top: 4px;\n    }\n    #calculator .error-msg.show {\n      display: block;\n    }\n    #calculator .calc-buttons {\n      display: flex;\n      gap: 12px;\n      margin: 25px 0;\n    }\n    #calculator .calc-btn {\n      flex: 1;\n      height: 34px;\n      line-height: 34px;\n      border-radius: 0;\n      border: none;\n      font-size: 14px;\n      cursor: pointer;\n      text-align: center;\n    }\n    #calculator .calc-btn.primary {\n      background: var(--primary-color);\n      color: #fff;\n    }\n    #calculator .calc-btn.primary:hover {\n      background: var(--primary-hover);\n    }\n    #calculator .calc-btn.reset {\n      background: #ccc;\n      color: var(--text-color);\n    }\n    #calculator .calc-btn.reset:hover {\n      background: #bbb;\n    }\n    #calculator .calc-result {\n      border-top: 1px solid #ccc;\n      padding-top: 20px;\n    }\n    #calculator .result-title {\n      font-size: 18px;\n      font-weight: bold;\n      text-align: center;\n      margin-bottom: 15px;\n      color: var(--primary-color);\n    }\n    #calculator .result-item {\n      display: flex;\n      margin-bottom: 10px;\n      align-items: center;\n    }\n    #calculator .result-label {\n      width: 180px;\n      font-size: 14px;\n      font-weight: 500;\n    }\n    #calculator .result-value {\n      font-size: 16px;\n      font-weight: bold;\n    }\n    #calculator .result-text {\n      font-size: 14px;\n      line-height: 1.4;\n    }\n    #calculator .level-normal { color: #2e7d32; }\n    #calculator .level-warning { color: #f57f17; }\n    #calculator .level-danger { color: var(--error-color); }\n\n    @media (max-width: 768px) {\n      #calculator {\n        padding: 20px;\n      }\n      #calculator .calc-input,\n      #calculator .calc-btn {\n        height: 0.7rem;\n        font-size: 0.28rem;\n      }\n      #calculator .calc-buttons {\n        flex-direction: column;\n        gap: 10px;\n      }\n      #calculator .calc-btn {\n        width: 100%;\n      }\n      #calculator label,\n      #calculator .result-label,\n      #calculator .result-text {\n        font-size: 0.28rem;\n      }\n      #calculator .result-value {\n        font-size: 0.32rem;\n      }\n      #calculator .calc-header,\n      #calculator .result-title {\n        font-size: 0.36rem;\n      }\n    }\n  <\/style>\n\n  <script>\n    (function() {\n      const standards = {\n        fc: [\n          { min:0, max:6, percent:0, level:\"No Damage\", status:\"Safe for Use\", action:\"Routine inspection\" },\n          { min:6, max:7, percent:20, level:\"Slight\", status:\"Safe for Use\", action:\"Increase inspection frequency\" },\n          { min:7, max:8, percent:40, level:\"Medium\", status:\"Close Monitoring\", action:\"Prepare replacement plan\" },\n          { min:8, max:9, percent:60, level:\"Severe\", status:\"Close Monitoring\", action:\"Control load strictly\" },\n          { min:9, max:10, percent:80, level:\"Severe\", status:\"Recommended Discard\", action:\"Replace as soon as possible\" },\n          { min:10, max:Infinity, percent:100, level:\"Severe\", status:\"Must Discard\", action:\"Stop use immediately\" }\n        ],\n        iwrc: [\n          { min:0, max:3.5, percent:0, level:\"No Damage\", status:\"Safe for Use\", action:\"Routine inspection\" },\n          { min:3.5, max:4.5, percent:20, level:\"Slight\", status:\"Safe for Use\", action:\"Increase inspection frequency\" },\n          { min:4.5, max:5.5, percent:40, level:\"Medium\", status:\"Close Monitoring\", action:\"Prepare replacement plan\" },\n          { min:5.5, max:6.5, percent:60, level:\"Severe\", status:\"Close Monitoring\", action:\"Control load strictly\" },\n          { min:6.5, max:7.5, percent:80, level:\"Severe\", status:\"Recommended Discard\", action:\"Replace as soon as possible\" },\n          { min:7.5, max:Infinity, percent:100, level:\"Severe\", status:\"Must Discard\", action:\"Stop use immediately\" }\n        ],\n        rotation: [\n          { min:0, max:1, percent:0, level:\"No Damage\", status:\"Safe for Use\", action:\"Routine inspection\" },\n          { min:1, max:2, percent:20, level:\"Medium\", status:\"Safe for Use\", action:\"Increase inspection frequency\" },\n          { min:2, max:3, percent:40, level:\"Medium\", status:\"Close Monitoring\", action:\"Prepare replacement plan\" },\n          { min:3, max:4, percent:60, level:\"Severe\", status:\"Close Monitoring\", action:\"Control load strictly\" },\n          { min:4, max:5, percent:80, level:\"Severe\", status:\"Recommended Discard\", action:\"Replace as soon as possible\" },\n          { min:5, max:Infinity, percent:100, level:\"Severe\", status:\"Must Discard\", action:\"Stop use immediately\" }\n        ]\n      };\n\n      const el = (id) => document.getElementById(`calculator-${id}`);\n      const err = (id) => document.getElementById(`error-${id}`);\n      const inputs = ['nominalD', 'refD', 'measuredD'];\n\n      function setError(fieldId, msg) {\n        const input = el(fieldId);\n        const errorEl = err(fieldId);\n        input.classList.add('error');\n        errorEl.textContent = msg;\n        errorEl.classList.add('show');\n      }\n\n      function clearError(fieldId) {\n        const input = el(fieldId);\n        const errorEl = err(fieldId);\n        input.classList.remove('error');\n        errorEl.classList.remove('show');\n      }\n\n      function validateInput() {\n        let valid = true;\n        inputs.forEach(field => {\n          const val = parseFloat(el(field).value);\n          if (isNaN(val) || val <= 0) {\n            setError(field, 'Please enter a valid positive number');\n            valid = false;\n          } else {\n            clearError(field);\n          }\n        });\n        return valid;\n      }\n\n      function bindInputClear() {\n        inputs.forEach(field => {\n          el(field).addEventListener('input', () => clearError(field));\n        });\n      }\n\n      function calculate() {\n        if (!validateInput()) return;\n        const type = el('ropeType').value;\n        const d = parseFloat(el('nominalD').value);\n        const dRef = parseFloat(el('refD').value);\n        const dM = parseFloat(el('measuredD').value);\n\n        const Q = Math.abs(((dRef - dM) \/ d) * 100);\n        const qFixed = Q.toFixed(2);\n        const rules = standards[type];\n        let res = rules.find(r => Q >= r.min && Q < r.max) || rules[rules.length - 1];\n\n        const resultEl = document.getElementById('calculator-result');\n        document.getElementById('result-q').textContent = `${qFixed}%`;\n        document.getElementById('result-percent').textContent = `${res.percent}%`;\n        document.getElementById('result-level').textContent = res.level;\n        document.getElementById('result-status').textContent = res.status;\n        document.getElementById('result-action').textContent = res.action;\n\n        const levelCls = res.status.includes('Safe') ? 'level-normal' : res.status.includes('Monitoring') ? 'level-warning' : 'level-danger';\n        document.getElementById('result-level').className = 'result-value ' + levelCls;\n        document.getElementById('result-status').className = 'result-value ' + levelCls;\n\n        resultEl.style.display = 'block';\n      }\n\n      function resetForm() {\n        inputs.forEach(field => {\n          el(field).value = '';\n          clearError(field);\n        });\n        el('ropeType').selectedIndex = 0;\n        document.getElementById('calculator-result').style.display = 'none';\n      }\n\n      function init() {\n        bindInputClear();\n        el('calculate').addEventListener('click', calculate);\n        el('reset').addEventListener('click', resetForm);\n      }\n\n      window.addEventListener('DOMContentLoaded', init);\n    })();\n  <\/script>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Fomula ya Kubadilisha Kamba ya Waya ya Kizingo cha Kreni<\/h2>\n\n\n\n<p><strong>Q=[ (d<sub>marejeleo<\/sub>-d<sub>m<\/sub>) \/d ]*100%<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>d<sub>marejeleo<\/sub><\/strong>: kipenyo cha marejeleo<\/li>\n\n\n\n<li><strong>d<sub>m<\/sub>: <\/strong>kipenyo kilichopimwa<\/li>\n\n\n\n<li><strong>d:<\/strong> kipenyo cha kawaida<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Vidokezo Muhimu na Vidokezo vya Usalama<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Zana hii imeundwa kama zana saidizi ya tathmini ili kutoa data ya marejeleo ya haraka na ya awali.<\/li>\n\n\n\n<li>Ukaguzi wa kina wa mara kwa mara unahitajika kwa usalama wa vifaa vya kuinua.<\/li>\n\n\n\n<li>Simamisha operesheni mara moja mara tu inapofikia kiwango muhimu cha kutupa.<\/li>\n\n\n\n<li>Epuka kuzidiwa kupita kiasi, kupinda kwa kasi, na kutoa nguvu nyingi wakati wa huduma ya kamba.<\/li>\n\n\n\n<li>Kulainisha mara kwa mara kunaweza kupunguza kasi ya uchakavu wa kamba ya waya.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Upeo wa Maombi<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Vipandishi vya Kamba vya Waya za Umeme<\/li>\n\n\n\n<li>Viungio vya Kamba za Waya za Mkono<\/li>\n\n\n\n<li>Winchi<\/li>\n\n\n\n<li>Mikusanyiko ya Sheave<\/li>\n\n\n\n<li>Cranes za Juu<\/li>\n\n\n\n<li>Gantry Cranes<\/li>\n\n\n\n<li>Kreni Zinazohamishika<\/li>\n\n\n\n<li>Cranes za Bandari<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Bidhaa na Matukio Yasiyofaa<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Vifaa vya kuinua visivyotumia kreni<\/strong>: Lifti, safari za burudani, majukwaa ya kazi ya angani (viwango tofauti vinatumika)<\/li>\n\n\n\n<li><strong>Mifumo maalum ya kamba ya nyuzi bandia<\/strong>: Mikunjo ya nyuzi bandia, mikunjo ya utando (sifa tofauti za nyenzo)<\/li>\n\n\n\n<li><strong>Ngoma za kuzungusha zenye safu moja zenye pulleys za nyenzo za sintetiki au vifungashio vya groove vya pulley<\/strong><\/li>\n\n\n\n<li><strong>Maombi yasiyo ya kuinua<\/strong>: Njia za kebo, madaraja ya kusimamishwa, njia za usambazaji wa umeme (njia tofauti za mkazo)<\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"Kikokotoo cha ubadilishaji wa kamba ya waya ya kuinua kreni, kilichotengenezwa kwa mujibu wa ISO 4309:2017, kinatii kikamilifu vipimo vya sekta. Kinaweza kuhesabu haraka na kwa usahihi kiwango cha uchakavu wa kipenyo cha kamba ya waya, kuendana kiotomatiki na kiwango cha chakavu, kurahisisha mchakato wa ukaguzi wa kufuata sheria, na kukusaidia kubaini sehemu za uingizwaji haraka ili kuepuka hasara za muda wa kutofanya kazi na hatari za usalama.","protected":false},"author":8,"featured_media":16988,"parent":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"single-onlinetools.php","format":"standard","meta":{"_acf_changed":false,"rank_math_lock_modified_date":false,"pgc_sgb_lightbox_settings":"","footnotes":""},"categories":[63],"tags":[],"class_list":["post-16986","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-other"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.dgcrane.com\/sw\/wp-json\/wp\/v2\/posts\/16986"}],"collection":[{"href":"https:\/\/www.dgcrane.com\/sw\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dgcrane.com\/sw\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dgcrane.com\/sw\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dgcrane.com\/sw\/wp-json\/wp\/v2\/comments?post=16986"}],"version-history":[{"count":8,"href":"https:\/\/www.dgcrane.com\/sw\/wp-json\/wp\/v2\/posts\/16986\/revisions"}],"predecessor-version":[{"id":16998,"href":"https:\/\/www.dgcrane.com\/sw\/wp-json\/wp\/v2\/posts\/16986\/revisions\/16998"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dgcrane.com\/sw\/wp-json\/wp\/v2\/media\/16988"}],"wp:attachment":[{"href":"https:\/\/www.dgcrane.com\/sw\/wp-json\/wp\/v2\/media?parent=16986"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dgcrane.com\/sw\/wp-json\/wp\/v2\/categories?post=16986"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dgcrane.com\/sw\/wp-json\/wp\/v2\/tags?post=16986"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}