{"id":17000,"date":"2026-05-14T06:25:54","date_gmt":"2026-05-14T06:25:54","guid":{"rendered":"https:\/\/www.dgcrane.com\/?p=17000"},"modified":"2026-05-14T08:17:31","modified_gmt":"2026-05-14T08:17:31","slug":"crane-lifespan-calculator-for-remaining-service-cycle","status":"publish","type":"post","link":"https:\/\/www.dgcrane.com\/it\/crane-lifespan-calculator-for-remaining-service-cycle\/","title":{"rendered":"Calcolatore della durata utile della gru per il ciclo di servizio rimanente"},"content":{"rendered":"<!-- Crane Lifespan Calculator for Remaining Service Cycle -->\n<div id=\"calculator\">\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            background: #fff;\n            max-width: 545px;\n            padding: 30px;\n            font-family: Arial, sans-serif;\n            color: var(--text-color);\n            box-sizing: border-box;\n        }\n        #calculator * {\n            box-sizing: border-box;\n            margin: 0;\n            padding: 0;\n        }\n        #calculator h1 {\n            font-size: 20px;\n            text-align: center;\n            margin-bottom: 10px;\n            color: var(--primary-color);\n        }\n        #calculator .subtitle {\n            font-size: 13px;\n            text-align: center;\n            margin-bottom: 20px;\n            color: #666;\n        }\n        #calculator .method-buttons {\n            display: flex;\n            gap: 10px;\n            margin-bottom: 20px;\n        }\n        #calculator .method-btn {\n            flex: 1;\n            height: 34px;\n            line-height: 34px;\n            border: 1px solid #ccc;\n            background: #fff;\n            font-size: 14px;\n            cursor: pointer;\n            transition: 0.2s ease;\n        }\n        #calculator .method-btn.active {\n            background: var(--primary-color);\n            color: #fff;\n            border-color: var(--primary-color);\n        }\n        #calculator .method-btn:hover:not(.active) {\n            background: var(--primary-hover);\n            color: #fff;\n        }\n        #calculator .section {\n            margin-bottom: 20px;\n        }\n#calculator div .input-group{gap: 0;}\n        #calculator .input-group {\n            margin-bottom: 15px;\n        }\n        #calculator label {\n            display: block;\n            font-size: 14px;\n            margin-bottom: 8px;\n        }\n        #calculator .input-row {\n            display: flex;\n            gap: 10px;\n        }\n        #calculator select,\n        #calculator input {\n            width: 100%;\n            height: 36px;\n            padding: 0 10px;\n            border: 1px solid #ccc;\n            font-size: 16px;\n            transition: 0.2s ease;\n        }\n        #calculator select:focus,\n        #calculator input:focus {\n            outline: none;\n            border: 2px solid var(--primary-color);\n        }\n        #calculator .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 .param-desc {\n            font-size: 12px;\n            color: #666;\n            margin-top: 5px;\n        }\n        #calculator .ca-calc {\n            padding: 15px;\n            background: var(--bg-color);\n            margin: 10px 0;\n        }\n        #calculator .split-input {\n            display: flex;\n            gap: 8px;\n            margin-top: 10px;\n        }\n        #calculator .input-wrap {\n            flex: 1;\n            display: flex;\n            flex-direction: column;\n        }\n        #calculator .unit-small {\n            font-size: 12px;\n            color: #666;\n            text-align: center;\n            margin-top: 4px;\n        }\n        #calculator .btn {\n            width: 100%;\n            height: 34px;\n            line-height: 34px;\n            border: none;\n            background: var(--primary-color);\n            color: #fff;\n            font-size: 14px;\n            cursor: pointer;\n            transition: background 0.2s;\n        }\n        #calculator .btn:hover {\n            background: var(--primary-hover);\n        }\n        #calculator .result {\n            margin-top: 20px;\n            font-size: 20px;\n            font-weight: bold;\n            text-align: center;\n            color: var(--primary-color);\n            display: none;\n        }\n        #calculator .hidden {\n            display: none;\n        }\n        @media (max-width: 768px) {\n            #calculator {\n                padding: 20px;\n            }\n            #calculator .method-buttons,\n            #split-input {\n                flex-direction: column;\n            }\n        }\n    <\/style>\n\n    <p class=\"subtitle\">ISO 4301-1 \/ ISO 12482 | Solo per gru permanenti<\/p>\n\n    <div class=\"method-buttons\">\n        <button class=\"method-btn active\" id=\"calc-method1\" onclick=\"calcSwitchMethod(1)\">Metodo 1: Per classe operaia (A)<\/button>\n        <button class=\"method-btn\" id=\"calc-method2\" onclick=\"calcSwitchMethod(2)\">Metodo 2: tramite la classe U+Qp<\/button>\n    <\/div>\n\n    <!-- Method 1 -->\n    <div class=\"section\" id=\"calc-section1\">\n        <div class=\"input-group\">\n            <label>Progettazione di cicli a pieno carico (C<sub>F<\/sub>)<\/label>\n            <div class=\"input-row\">\n                <select id=\"calc-workClassA\" onchange=\"calcUpdateCf()\">\n                    <option value=\"500\">A03 \u2013 500<\/option>\n                    <option value=\"1000\">A02 \u2013 1.000<\/option>\n                    <option value=\"2000\">A01 \u2013 2.000<\/option>\n                    <option value=\"4000\">A0 \u2013 4.000<\/option>\n                    <option value=\"8000\">A1 \u2013 8.000<\/option>\n                    <option value=\"16000\">A2 \u2013 16.000<\/option>\n                    <option value=\"31500\">A3 \u2013 31.500<\/option>\n                    <option value=\"63000\">A4 \u2013 63.000<\/option>\n                    <option value=\"125000\" selected>A5 \u2013 125.000<\/option>\n                    <option value=\"250000\">A6 \u2013 250.000<\/option>\n                    <option value=\"500000\">A7 \u2013 500.000<\/option>\n                    <option value=\"1000000\">A8 \u2013 1.000.000<\/option>\n                <\/select>\n                <input type=\"number\" id=\"calc-cf\" value=\"125000\">\n            <\/div>\n            <div class=\"error-msg\" id=\"calc-err-cf\">Inserisci un numero valido<\/div>\n            <div class=\"param-desc\">ISO 4301-1 Tabella 5<\/div>\n        <\/div>\n\n        <div class=\"input-group\">\n            <label>Fattore di sicurezza (f<sub>1<\/sub>)<\/label>\n            <input type=\"number\" id=\"calc-f1\" value=\"1.1\" step=\"0.1\" min=\"1.0\" max=\"1.5\">\n            <div class=\"error-msg\" id=\"calc-err-f1\">f\u2081 deve essere compreso tra 1,0 e 1,5<\/div>\n            <div class=\"param-desc\">ISO 12482 Tabella 1<\/div>\n        <\/div>\n\n        <div class=\"input-group\">\n            <label>Cicli effettivamente consumati (C<sub>UN<\/sub>)<\/label>\n            <input type=\"number\" id=\"calc-ca\" placeholder=\"Inserire i cicli consumati\">\n            <div class=\"error-msg\" id=\"calc-err-ca\">Inserisci un numero valido<\/div>\n\n            <div class=\"ca-calc\">\n                <label>Calcola automaticamente C<sub>UN<\/sub><\/label>\n                <div class=\"split-input\">\n                    <div class=\"input-wrap\">\n                        <input type=\"number\" id=\"calc-cycPerHour\" value=\"10\">\n                        <div class=\"unit-small\">Cicli\/ora<\/div>\n                    <\/div>\n                    <div class=\"input-wrap\">\n                        <input type=\"number\" id=\"calc-hoursPerDay\" value=\"8\">\n                        <div class=\"unit-small\">Ore\/giorno<\/div>\n                    <\/div>\n                    <div class=\"input-wrap\">\n                        <input type=\"number\" id=\"calc-daysPerYear\" value=\"250\">\n                        <div class=\"unit-small\">Giorni\/anno<\/div>\n                    <\/div>\n                    <div class=\"input-wrap\">\n                        <input type=\"number\" id=\"calc-years\" value=\"5\">\n                        <div class=\"unit-small\">anni di servizio<\/div>\n                    <\/div>\n                <\/div>\n                <button type=\"button\" class=\"btn\" onclick=\"calcAutoCa1()\">Calcola automaticamente C<sub>UN<\/sub><\/button>\n            <\/div>\n        <\/div>\n\n        <button type=\"button\" class=\"btn\" onclick=\"calcCompute1()\">Calcola i cicli rimanenti<\/button>\n\n        <div class=\"result\" id=\"calc-result1\"><\/div>\n    <\/div>\n\n    <!-- Method 2 -->\n    <div class=\"section hidden\" id=\"calc-section2\">\n        <div class=\"input-group\">\n            <label>Limite del ciclo di progettazione (D<sub>N<\/sub>)<\/label>\n            <div class=\"input-row\">\n                <select id=\"calc-utilClassU\" onchange=\"calcUpdateDn()\">\n                    <option value=\"16000\">U0 \u2013 16.000<\/option>\n                    <option value=\"32000\">U1 \u2013 32.000<\/option>\n                    <option value=\"63000\">U2 \u2013 63.000<\/option>\n                    <option value=\"125000\">U3 \u2013 125.000<\/option>\n                    <option value=\"250000\">U4 \u2013 250.000<\/option>\n                    <option value=\"50000\" selected>U5 \u2013 500.000<\/option>\n                    <option value=\"1000000\">U6 \u2013 1.000.000<\/option>\n                    <option value=\"2000000\">U7 \u2013 2.000.000<\/option>\n                    <option value=\"4000000\">U8 \u2013 4.000.000<\/option>\n                    <option value=\"8000000\">U9 \u2013 8.000.000<\/option>\n                <\/select>\n                <input type=\"number\" id=\"calc-dn\" value=\"500000\">\n            <\/div>\n            <div class=\"error-msg\" id=\"calc-err-dn\">Inserisci un numero valido<\/div>\n            <div class=\"param-desc\">ISO 12482 Tabella A.1<\/div>\n        <\/div>\n\n        <div class=\"input-group\">\n            <label>Coefficiente dello spettro di carico (K<sub>P<\/sub>)<\/label>\n            <div class=\"input-row\">\n                <select id=\"calc-loadClassQp\" onchange=\"calcUpdateKp()\">\n                    <option value=\"0.0313\">Qp0 \u2013 0,0313<\/option>\n                    <option value=\"0.0625\">Qp1 \u2013 0,0625<\/option>\n                    <option value=\"0.125\">Qp2 \u2013 0,125<\/option>\n                    <option value=\"0.25\" selected>Qp3 \u2013 0,25<\/option>\n                    <option value=\"0.5\">Qp4 \u2013 0,5<\/option>\n                    <option value=\"1.0\">Qp5 \u2013 1.0<\/option>\n                <\/select>\n                <input type=\"number\" id=\"calc-kp\" value=\"0.25\" step=\"0.01\">\n            <\/div>\n            <div class=\"error-msg\" id=\"calc-err-kp\">Kp deve essere \u22650<\/div>\n            <div class=\"param-desc\">ISO 12482 Tabella A.2<\/div>\n        <\/div>\n\n        <div class=\"input-group\">\n            <label>Fattore di sicurezza (f<sub>1<\/sub>)<\/label>\n            <input type=\"number\" id=\"calc-f1-2\" value=\"1.1\" step=\"0.1\" min=\"1.0\" max=\"1.5\">\n            <div class=\"error-msg\" id=\"calc-err-f1-2\">f\u2081 deve essere compreso tra 1,0 e 1,5<\/div>\n            <div class=\"param-desc\">ISO 12482 Tabella 1<\/div>\n        <\/div>\n\n        <div class=\"input-group\">\n            <label>Cicli effettivamente consumati (C<sub>UN<\/sub>)<\/label>\n            <input type=\"number\" id=\"calc-ca-2\" placeholder=\"Inserire i cicli consumati\">\n            <div class=\"error-msg\" id=\"calc-err-ca-2\">Inserisci un numero valido<\/div>\n\n            <div class=\"ca-calc\">\n                <label>Calcola automaticamente C<sub>UN<\/sub><\/label>\n                <div class=\"split-input\">\n                    <div class=\"input-wrap\">\n                        <input type=\"number\" id=\"calc-cycPerHour-2\" value=\"10\">\n                        <div class=\"unit-small\">Cicli\/ora<\/div>\n                    <\/div>\n                    <div class=\"input-wrap\">\n                        <input type=\"number\" id=\"calc-hoursPerDay-2\" value=\"8\">\n                        <div class=\"unit-small\">Ore\/giorno<\/div>\n                    <\/div>\n                    <div class=\"input-wrap\">\n                        <input type=\"number\" id=\"calc-daysPerYear-2\" value=\"250\">\n                        <div class=\"unit-small\">Giorni\/anno<\/div>\n                    <\/div>\n                    <div class=\"input-wrap\">\n                        <input type=\"number\" id=\"calc-years-2\" value=\"5\">\n                        <div class=\"unit-small\">anni di servizio<\/div>\n                    <\/div>\n                <\/div>\n                <button type=\"button\" class=\"btn\" onclick=\"calcAutoCa2()\">Calcola automaticamente C<sub>UN<\/sub><\/button>\n            <\/div>\n        <\/div>\n\n        <button type=\"button\" class=\"btn\" onclick=\"calcCompute2()\">Calcola i cicli rimanenti<\/button>\n\n        <div class=\"result\" id=\"calc-result2\"><\/div>\n    <\/div>\n<\/div>\n\n<script>\n(function() {\n    window.calcSwitchMethod = function(m) {\n        document.getElementById('calc-method1').classList.toggle('active', m===1);\n        document.getElementById('calc-method2').classList.toggle('active', m===2);\n        document.getElementById('calc-section1').classList.toggle('hidden', m!==1);\n        document.getElementById('calc-section2').classList.toggle('hidden', m!==2);\n    };\n\n    window.calcUpdateCf = function() {\n        document.getElementById('calc-cf').value = document.getElementById('calc-workClassA').value;\n    };\n\n    window.calcUpdateDn = function() {\n        document.getElementById('calc-dn').value = document.getElementById('calc-utilClassU').value;\n    };\n\n    window.calcUpdateKp = function() {\n        document.getElementById('calc-kp').value = document.getElementById('calc-loadClassQp').value;\n    };\n\n    window.calcAutoCa1 = function() {\n        const c = +document.getElementById('calc-cycPerHour').value || 0;\n        const h = +document.getElementById('calc-hoursPerDay').value || 0;\n        const d = +document.getElementById('calc-daysPerYear').value || 0;\n        const y = +document.getElementById('calc-years').value || 0;\n        document.getElementById('calc-ca').value = c * h * d * y;\n    };\n\n    window.calcAutoCa2 = function() {\n        const c = +document.getElementById('calc-cycPerHour-2').value || 0;\n        const h = +document.getElementById('calc-hoursPerDay-2').value || 0;\n        const d = +document.getElementById('calc-daysPerYear-2').value || 0;\n        const y = +document.getElementById('calc-years-2').value || 0;\n        document.getElementById('calc-ca-2').value = c * h * d * y;\n    };\n\n    function setError(elId, msgId) {\n        document.getElementById(elId).classList.add('error');\n        document.getElementById(msgId).style.display = 'block';\n    }\n\n    function clearError(elId, msgId) {\n        document.getElementById(elId).classList.remove('error');\n        document.getElementById(msgId).style.display = 'none';\n    }\n\n    function isValid(val, min, max) {\n        const num = parseFloat(val);\n        return !isNaN(num) && val.trim() !== '' && num >= min && num <= max;\n    }\n\n    window.calcCompute1 = function() {\n        const cf = document.getElementById('calc-cf').value;\n        const f1 = document.getElementById('calc-f1').value;\n        const ca = document.getElementById('calc-ca').value;\n\n        let ok = true;\n        if (!isValid(cf, 0, Infinity)) { setError('calc-cf', 'calc-err-cf'); ok = false; }\n        else clearError('calc-cf', 'calc-err-cf');\n\n        if (!isValid(f1, 1.0, 1.5)) { setError('calc-f1', 'calc-err-f1'); ok = false; }\n        else clearError('calc-f1', 'calc-err-f1');\n\n        if (!isValid(ca, 0, Infinity)) { setError('calc-ca', 'calc-err-ca'); ok = false; }\n        else clearError('calc-ca', 'calc-err-ca');\n\n        if (!ok) return;\n\n        const res = (parseFloat(cf) \/ parseFloat(f1)) - parseFloat(ca);\n        const r = document.getElementById('calc-result1');\n        r.textContent = `Remaining Cycles: ${res.toLocaleString(undefined, {minimumFractionDigits:0, maximumFractionDigits:2})}`;\n        r.style.display = 'block';\n    };\n\n    window.calcCompute2 = function() {\n        const dn = document.getElementById('calc-dn').value;\n        const kp = document.getElementById('calc-kp').value;\n        const f1 = document.getElementById('calc-f1-2').value;\n        const ca = document.getElementById('calc-ca-2').value;\n\n        let ok = true;\n        if (!isValid(dn, 0, Infinity)) { setError('calc-dn', 'calc-err-dn'); ok = false; }\n        else clearError('calc-dn', 'calc-err-dn');\n\n        if (!isValid(kp, 0, Infinity)) { setError('calc-kp', 'calc-err-kp'); ok = false; }\n        else clearError('calc-kp', 'calc-err-kp');\n\n        if (!isValid(f1, 1.0, 1.5)) { setError('calc-f1-2', 'calc-err-f1-2'); ok = false; }\n        else clearError('calc-f1-2', 'calc-err-f1-2');\n\n        if (!isValid(ca, 0, Infinity)) { setError('calc-ca-2', 'calc-err-ca-2'); ok = false; }\n        else clearError('calc-ca-2', 'calc-err-ca-2');\n\n        if (!ok) return;\n\n        const res = (parseFloat(dn) \/ parseFloat(f1)) - (parseFloat(kp) * parseFloat(ca));\n        const r = document.getElementById('calc-result2');\n        r.textContent = `Remaining Cycles: ${res.toLocaleString(undefined, {minimumFractionDigits:0, maximumFractionDigits:2})}`;\n        r.style.display = 'block';\n    };\n})();\n<\/script>\n\n\n\n<h2 class=\"wp-block-heading\">Formula per il ciclo di servizio residuo della gru<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Metodo 1<\/strong><\/h3>\n\n\n\n<p>N<sub>rimanente<\/sub>=C<sub>F<\/sub>\/f1\u200b\u200b\u2212C<sub>a<\/sub> <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>C<sub>F<\/sub>: Il numero di cicli a pieno carico<\/li>\n\n\n\n<li>C<sub>UN<\/sub>: Il numero totale effettivo di cicli di lavoro al momento dell&#39;ispezione<\/li>\n\n\n\n<li>f1: Fattore di sicurezza per il conteggio dei servizi<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Metodo 2<\/strong><\/h3>\n\n\n\n<p>N<sub>rimanente<\/sub>=D<sub>N\u200b\u200b<\/sub>\/f1\u2212K<sub>P<\/sub>\u00d7C<sub>UN<\/sub><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>D<sub>N<\/sub>: Limiti di progettazione per il numero di cicli di lavoro convertiti<\/li>\n\n\n\n<li>K<sub>P<\/sub>: Fattore dello spettro di carico<\/li>\n\n\n\n<li>C<sub>UN<\/sub>: Il numero totale effettivo di cicli di lavoro al momento dell&#39;ispezione<\/li>\n\n\n\n<li>f1: Fattore di sicurezza per il conteggio dei servizi<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Note e spiegazioni<\/h2>\n\n\n\n<p>Il metodo di calcolo del Calcolatore della durata di vita della gru per il ciclo di servizio rimanente si basa su:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Il sistema di classificazione della classe di servizio e dello spettro di carico ISO 4301, GB\/T 20863<\/li>\n\n\n\n<li>Il restante concetto di valutazione del servizio della norma ISO 12482<\/li>\n\n\n\n<li>Teoria dell&#39;accumulo di fatica di Palmgren-Miner<\/li>\n<\/ul>\n\n\n\n<p>Il calcolatore della durata di vita della gru per il ciclo di servizio rimanente adotta il metodo del ciclo di fatica equivalente: converte il ciclo di lavoro effettivo in un ciclo equivalente in base al coefficiente dello spettro di carico, quindi stima i cicli di lavoro rimanenti della gru.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ambito di applicazione<\/h2>\n\n\n\n<p>Il calcolatore della durata di vita della gru per il ciclo di servizio rimanente si applica alle gru con struttura permanente per tutta la durata della loro vita utile, come ad esempio:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Gru a ponte<\/li>\n\n\n\n<li>Gru a cavalletto<\/li>\n\n\n\n<li>Gru portuali<\/li>\n\n\n\n<li>Gru a bandiera<\/li>\n\n\n\n<li>Gru a torre (<strong>SOLTANTO<\/strong> per installazione permanente)<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Prodotti non idonei<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Gru mobili<\/li>\n\n\n\n<li>Gru a torre (<strong>Tranne<\/strong> Gru a torre installate in modo permanente)<\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"Questo calcolatore della durata utile della gru per il ciclo di servizio rimanente valuta i cicli di lavoro residui per le strutture complessive e i componenti meccanici della gru, integrando due autorevoli metodi di calcolo: il calcolo della classe di lavoro A e il calcolo combinato della classe di utilizzo U e dello spettro di carico Kp.","protected":false},"author":8,"featured_media":17008,"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-17000","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-other"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.dgcrane.com\/it\/wp-json\/wp\/v2\/posts\/17000"}],"collection":[{"href":"https:\/\/www.dgcrane.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dgcrane.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dgcrane.com\/it\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dgcrane.com\/it\/wp-json\/wp\/v2\/comments?post=17000"}],"version-history":[{"count":21,"href":"https:\/\/www.dgcrane.com\/it\/wp-json\/wp\/v2\/posts\/17000\/revisions"}],"predecessor-version":[{"id":17029,"href":"https:\/\/www.dgcrane.com\/it\/wp-json\/wp\/v2\/posts\/17000\/revisions\/17029"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dgcrane.com\/it\/wp-json\/wp\/v2\/media\/17008"}],"wp:attachment":[{"href":"https:\/\/www.dgcrane.com\/it\/wp-json\/wp\/v2\/media?parent=17000"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dgcrane.com\/it\/wp-json\/wp\/v2\/categories?post=17000"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dgcrane.com\/it\/wp-json\/wp\/v2\/tags?post=17000"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}