{"id":17213,"date":"2026-07-07T02:18:44","date_gmt":"2026-07-07T02:18:44","guid":{"rendered":"https:\/\/www.dgcrane.com\/?p=17213"},"modified":"2026-07-07T02:18:48","modified_gmt":"2026-07-07T02:18:48","slug":"overhead-and-gantry-crane-deflection-calculator","status":"publish","type":"post","link":"https:\/\/www.dgcrane.com\/sw\/overhead-and-gantry-crane-deflection-calculator\/","title":{"rendered":"Kikokotoo cha Kupotoka kwa Crane ya Juu na Gantry"},"content":{"rendered":"<!-- WordPress \u53ef\u76f4\u63a5\u7c98\u8d34\u5b8c\u6574\u4ee3\u7801\u5757 -->\n<div id=\"calculator\">\n    <style>\n        \/* \u4ec5\u4f5c\u7528\u4e8e #calculator \u5185\u90e8\uff0c\u65e0\u5168\u5c40\u6837\u5f0f\u6c61\u67d3 *\/\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-color: var(--bg-color);\n            color: var(--text-color);\n            box-sizing: border-box;\n        }\n        #calculator .calc-title {\n            font-size: 18px;\n            margin: 0 0 24px 0;\n            font-weight: 600;\n        }\n        #calculator .field-wrap {\n            margin-bottom: 18px;\n        }\n        #calculator label {\n            display: block;\n            font-size: 14px;\n            margin-bottom: 6px;\n        }\n        #calculator input {\n            width: 100%;\n            box-sizing: border-box;\n            height: 36px;\n            font-size: 16px;\n            border: 1px solid #ccc;\n            border-radius: 0;\n            padding: 0 10px;\n            transition: 0.2s ease;\n        }\n        #calculator input:focus {\n            border: 2px solid var(--primary-color);\n            outline: none;\n        }\n        #calculator input.error {\n            border: 2px solid var(--error-color);\n        }\n        #calculator .error-msg {\n            display: none;\n            font-size: 12px;\n            color: var(--error-color);\n            margin-top: 4px;\n        }\n        #calculator .btn-group {\n            display: flex;\n            gap: 12px;\n            margin: 24px 0;\n        }\n        #calculator button {\n            flex: 1;\n            height: 34px;\n            line-height: 34px;\n            font-size: 14px;\n            border: none;\n            border-radius: 0;\n            cursor: pointer;\n            transition: 0.2s ease;\n        }\n        #calculator .calc-btn {\n            background-color: var(--primary-color);\n            color: #fff;\n        }\n        #calculator .calc-btn:hover {\n            background-color: var(--primary-hover);\n        }\n        #calculator .reset-btn {\n            background-color: #999;\n            color: #fff;\n        }\n        #calculator .result-wrap {\n            margin-top: 16px;\n        }\n        #calculator .result-label {\n            font-size: 14px;\n        }\n        #calculator .result-value {\n            font-size: 40px;\n            font-weight: bold;\n            margin-top: 4px;\n            word-break: break-all;\n        }\n        \/* \u79fb\u52a8\u7aef\u9002\u914d max-width:768px *\/\n        @media (max-width: 768px) {\n            #calculator input,\n            #calculator button {\n                height: 0.7rem;\n            }\n            #calculator label,\n            #calculator button,\n            #calculator .result-label {\n                font-size: 0.28rem;\n            }\n            #calculator .btn-group {\n                flex-direction: column;\n            }\n            #calculator button {\n                width: 100%;\n            }\n            #calculator .result-value {\n                font-size: 0.8rem;\n            }\n        }\n    <\/style>\n\n    <div class=\"field-wrap\">\n        <label for=\"calculator-P\">Mzigo Uliokolea P (N)<\/label>\n        <input type=\"number\" id=\"calculator-P\" placeholder=\"Thamani ya mzigo wa kuingiza\">\n        <span class=\"error-msg\"><\/span>\n    <\/div>\n    <div class=\"field-wrap\">\n        <label for=\"calculator-L\">Urefu wa Upana L (m)<\/label>\n        <input type=\"number\" id=\"calculator-L\" placeholder=\"Urefu wa muda wa kuingiza data\">\n        <span class=\"error-msg\"><\/span>\n    <\/div>\n    <div class=\"field-wrap\">\n        <label for=\"calculator-I\">Wakati wa Hali ya Kudumu I (cm\u2074)<\/label>\n        <input type=\"number\" id=\"calculator-I\" placeholder=\"Thamani ya hali ya kuingiza\">\n        <span class=\"error-msg\"><\/span>\n    <\/div>\n\n    <div class=\"btn-group\">\n        <button id=\"calculator-calcBtn\" class=\"calc-btn\">Hesabu<\/button>\n        <button id=\"calculator-resetBtn\" class=\"reset-btn\">Weka upya<\/button>\n    <\/div>\n\n    <div class=\"result-wrap\">\n        <div class=\"result-label\">Mgeuko (m)<\/div>\n        <div id=\"calculator-result\" class=\"result-value\">&#8212;<\/div>\n    <\/div>\n\n    <script>\n        (function() {\n            const fieldIds = ['P', 'L', 'I'];\n            const inputEls = {};\n            const errorMsgEls = {};\n            const resultEl = document.getElementById('calculator-result');\n            const calcBtn = document.getElementById('calculator-calcBtn');\n            const resetBtn = document.getElementById('calculator-resetBtn');\n            \/\/ \u94a2\u6750\u6807\u51c6\u5f39\u6027\u6a21\u91cf\u56fa\u5b9a\u503c 2.06\u00d710\u00b9\u00b9 Pa\n            const STEEL_E = 2.06e11;\n\n            \/\/ \u521d\u59cb\u5316DOM\u6620\u5c04\n            function initDomRefs() {\n                fieldIds.forEach(key => {\n                    inputEls[key] = document.getElementById(`calculator-${key}`);\n                    errorMsgEls[key] = inputEls[key].nextElementSibling;\n                    \/\/ \u8f93\u5165\u65f6\u6e05\u9664\u9519\u8bef\n                    inputEls[key].addEventListener('input', () => clearError(inputEls[key], errorMsgEls[key]));\n                });\n            }\n\n            \/\/ \u8bbe\u7f6e\u9519\u8bef\u63d0\u793a\n            function setError(inputEl, msgEl, message) {\n                inputEl.classList.add('error');\n                msgEl.textContent = message;\n                msgEl.style.display = 'block';\n            }\n\n            \/\/ \u6e05\u9664\u9519\u8bef\u63d0\u793a\n            function clearError(inputEl, msgEl) {\n                inputEl.classList.remove('error');\n                msgEl.textContent = '';\n                msgEl.style.display = 'none';\n            }\n\n            \/\/ \u6821\u9a8c\u5355\u4e2a\u8f93\u5165\n            function validateInput(inputEl, msgEl, fieldName) {\n                const val = parseFloat(inputEl.value.trim());\n                if(inputEl.value.trim() === '') {\n                    setError(inputEl, msgEl, `${fieldName} field cannot be empty`);\n                    return false;\n                }\n                if(isNaN(val) || val <= 0) {\n                    setError(inputEl, msgEl, `${fieldName} must be positive number`);\n                    return false;\n                }\n                clearError(inputEl, msgEl);\n                return true;\n            }\n\n            \/\/ \u6279\u91cf\u6821\u9a8c\u5168\u90e8\u5b57\u6bb5\n            function validateAllFields() {\n                let isValid = true;\n                const fieldNames = {\n                    P: 'Load P',\n                    L: 'Span L',\n                    I: 'Inertia I'\n                };\n                fieldIds.forEach(key => {\n                    const pass = validateInput(inputEls[key], errorMsgEls[key], fieldNames[key]);\n                    if(!pass) isValid = false;\n                });\n                return isValid;\n            }\n\n            \/\/ \u6838\u5fc3\u8ba1\u7b97\u903b\u8f91\n            \/\/ I\u8f93\u5165cm\u2074\uff0c\u8f6c\u6362 m\u2074\uff1a1 cm\u2074 = 1e-8 m\u2074\n            \/\/ f = (P * L^3) \/ (48 * E * I_m4)\n            function runCalculation() {\n                if(!validateAllFields()) {\n                    resultEl.textContent = '--';\n                    return;\n                }\n                const P = parseFloat(inputEls.P.value);\n                const L = parseFloat(inputEls.L.value);\n                const I_cm4 = parseFloat(inputEls.I.value);\n                \/\/ cm\u2074 \u8f6c m\u2074\n                const I_m4 = I_cm4 * Math.pow(10, -8);\n\n                const numerator = P * Math.pow(L, 3);\n                const denominator = 48 * STEEL_E * I_m4;\n                const deflection = numerator \/ denominator;\n                \/\/ \u7ed3\u679c\u4fdd\u75592\u4f4d\u5c0f\u6570\n                resultEl.textContent = deflection.toFixed(2);\n            }\n\n            \/\/ \u91cd\u7f6e\u5168\u90e8\n            function resetAll() {\n                fieldIds.forEach(key => {\n                    inputEls[key].value = '';\n                    clearError(inputEls[key], errorMsgEls[key]);\n                });\n                resultEl.textContent = '--';\n            }\n\n            \/\/ \u7ed1\u5b9a\u4e8b\u4ef6\n            function bindEvents() {\n                calcBtn.addEventListener('click', runCalculation);\n                resetBtn.addEventListener('click', resetAll);\n            }\n\n            \/\/ \u521d\u59cb\u5316\u5165\u53e3\n            function init() {\n                initDomRefs();\n                bindEvents();\n            }\n\n            window.BeamDeflectionCalc = {\n                init: init\n            };\n        })();\n\n        \/\/ \u9875\u9762\u52a0\u8f7d\u5b8c\u6210\u521d\u59cb\u5316\u8ba1\u7b97\u5668\n        document.addEventListener('DOMContentLoaded', function() {\n            BeamDeflectionCalc.init();\n        });\n    <\/script>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Fomula ya Kikokotoo cha Kupotoka kwa Crane ya Juu na Gantry<\/h2>\n\n\n\n<style>\n    .formula {\n        font-family: \"Microsoft YaHei\", sans-serif;\n        font-size: 1.2em;\n        margin: 20px 0;\n        padding: 15px;\n        background: #ffffff;\n        border-radius: 8px;\n        text-align: left;\n    }\n    .math-frac {\n        display: inline-block;\n        vertical-align: middle;\n        text-align: center;\n        margin: 0 6px;\n    }\n    .frac-numerator {\n        display: block;\n        padding: 0 10px;\n        border-bottom: 2px solid #222;\n    }\n    .frac-denominator {\n        display: block;\n        padding: 0 10px;\n    }\n    .sup-pow {\n        font-size: 0.6em;\n        line-height: 0;\n        position: relative;\n        top: -0.6em;\n    }\n<\/style>\n<div class=\"formula\">\n    f = <span class=\"math-frac\">\n        <span class=\"frac-numerator\">PL<span class=\"sup-pow\">3<\/span><\/span>\n        <span class=\"frac-denominator\">48EI<\/span>\n    <\/span>\n<\/div>\n\n\n\n<ul class=\"wp-block-list\">\n<li>f: Upungufu wa juu zaidi (kitengo: m)<\/li>\n\n\n\n<li>P: Mzigo wa magurudumu (kitengo: N)<\/li>\n\n\n\n<li>L: Upana wa boriti kuu (kitengo: m)<\/li>\n\n\n\n<li>E: Moduli ya unyumbufu (kitengo: Pa, kwa kawaida huchukuliwa kama 2.06 \u00d7 10\u00b9\u00b9 Pa)<\/li>\n\n\n\n<li>I: Wakati wa Hali ya Kutokuwa na Utulivu (kitengo: m<sup>4<\/sup>) <\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Vidokezo<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Katika hesabu za kawaida za kimataifa, kitengo cha moduli ya elastic ya chuma hubadilishwa kiotomatiki kuwa Pa.<\/li>\n\n\n\n<li>Matokeo ya hesabu kutoka <a href=\"https:\/\/www.dgcrane.com\/sw\/crane-main-girder-section-moment-of-inertia-calculator\/\">Kikokotoo cha Sehemu Kuu ya Mhimili wa Crane Wakati wa Hali ya Kutokuwa na Hisia<\/a> ziko katika cm\u2074, lakini hubadilishwa kiotomatiki kuwa kitengo cha SI m\u2074 wakati wa mchakato wa hesabu.<\/li>\n\n\n\n<li>Kikokotoo hiki cha kupotosha kreni ya juu na ya gantry kinatumika hasa kwa mihimili mikuu yenye sehemu zenye mashimo ya mstatili.<\/li>\n\n\n\n<li>Mzigo unaotumika katika kikokotoo hiki cha kupotosha cha kreni ya juu na gantry ni mzigo uliokolea katikati ya muda (na toroli ikiwa katika eneo lisilofaa zaidi).<\/li>\n\n\n\n<li>Mpotoko tuli wima pekee ndio unaohesabiwa, na mgawo wa mzigo unaobadilika hauzingatiwi.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Kreni Zinazotumika<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Kreni za daraja (urefu \u2264 mita 30)<\/li>\n\n\n\n<li>Kreni za Gantry (urefu wa \u2264 mita 30 na hakuna kipitishio cha cantilever, au urefu wa kipitishio cha cantilever \u2264 lita 0.15)<\/li>\n\n\n\n<li>Kreni zenye gantry nusu (urefu wa \u2264 mita 30 na hakuna kipitishio cha mfereji, au urefu wa kipitishio cha mfereji \u2264 lita 0.15)<\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"Kikokotoo cha kupotoka kwa kreni ya juu na ya gantry hulinda usalama wa uendeshaji, hupunguza uchovu wa kimuundo na huongeza muda wa huduma. Huhesabu kwa usahihi kupotoka kwa wima kwa mihimili iliyojaa mizigo, hutathmini ugumu wa mhimili na utendaji wa kimuundo kwa kuingiza uwezo wa kuinua, urefu, uzito wa toroli na vigezo vya sehemu. Kikokotoo hiki cha kupotoka kwa kreni ya juu na ya gantry pia huzuia kung&#39;oa kwa reli, mabadiliko ya kudumu na uendeshaji usio imara, na huboresha muundo na uzito wa kimuundo. Hatimaye, inathibitisha ikiwa thamani za kupotoka zinazingatia mipaka iliyowekwa na viwango vya ISO na FEM.","protected":false},"author":8,"featured_media":17216,"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":[1059],"tags":[],"class_list":["post-17213","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-online-tools"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.dgcrane.com\/sw\/wp-json\/wp\/v2\/posts\/17213"}],"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=17213"}],"version-history":[{"count":4,"href":"https:\/\/www.dgcrane.com\/sw\/wp-json\/wp\/v2\/posts\/17213\/revisions"}],"predecessor-version":[{"id":17219,"href":"https:\/\/www.dgcrane.com\/sw\/wp-json\/wp\/v2\/posts\/17213\/revisions\/17219"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dgcrane.com\/sw\/wp-json\/wp\/v2\/media\/17216"}],"wp:attachment":[{"href":"https:\/\/www.dgcrane.com\/sw\/wp-json\/wp\/v2\/media?parent=17213"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dgcrane.com\/sw\/wp-json\/wp\/v2\/categories?post=17213"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dgcrane.com\/sw\/wp-json\/wp\/v2\/tags?post=17213"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}