{"id":21811,"date":"2026-03-10T14:52:16","date_gmt":"2026-03-10T14:52:16","guid":{"rendered":"https:\/\/residential-bandicoot-99rq.flyinghost.app\/?post_type=resources&#038;p=21811"},"modified":"2026-03-10T16:45:46","modified_gmt":"2026-03-10T16:45:46","slug":"havs-rechner","status":"publish","type":"resources","link":"https:\/\/pulsarinstruments.com\/de\/resources\/havs-calculator\/","title":{"rendered":"HAVS-Rechner"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Der HAVS-Rechner soll den Nutzern helfen, das Risiko von <a href=\"https:\/\/pulsarinstruments.com\/de\/nachrichten\/was-ist-havs\/\" data-type=\"news\" data-id=\"14321\">HAVS<\/a> durch Berechnung der Vibrationsexposition von Werkzeugen oder Prozessen. Es liefert Sch\u00e4tzungen der Expositionspunkte pro Stunde, der Zeit bis zum Erreichen des Expositionsausl\u00f6sewerts (EAV) und des Expositionsgrenzwerts (ELV) und hilft den Anwendern, die Belastung durch Hand-Arm-Vibrationen zu verwalten und zu begrenzen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn Sie eine Offline-Version eines HAVS-Rechners ben\u00f6tigen, empfehlen wir den Download des <a href=\"https:\/\/www.hse.gov.uk\/vibration\/hav\/calculator-guide.htm\" target=\"_blank\" rel=\"noopener\">HSE HAVS-Rechner<\/a>.<\/p>\n\n\n\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <style>\n        .calculator-container {\n            font-family: Arial, sans-serif;\n            max-width: 1300px;\n            margin-top: 20px;\n            margin-bottom: 20px;\n            margin: auto;\n            border: 0 solid;\n        }\n        #vibrationTable {\n           margin-top: 20px;\n           margin-bottom: 20px;\n           border-radius: 5;\n}\n\n#key {\nmargin: 0px;\n}\n\n.input-cell input {\n    border-width: 1px;\n    border-radius: 5px;\n}\n\n        th {\n        background-color: #2E4795 !important;\n        color: #fff;\n}\n        table {\n            width: 100%;\n            border-collapse: collapse;\n        }\n        th, td {\n            border: 1px solid #ddd;\n            text-align: center;\n            padding: 10px;\n            width: 8.33%;\n            margin: auto;\n        }\n        th {\n            background-color: #f2f2f2;\n        }\n        .input-cell input {\n            width: 100%;\n            padding: 5px;\n            box-sizing: border-box;\n        }\n        button {\n            cursor: pointer;\n        }\n    .exposurePointsPerHour {\n    background-color: rgba(13,71,182,.1);\n}\n\n .timeToReachEAV {\n    background-color: rgba(13,71,182,.1);\n}\n\n.timeToReachELV {\n    background-color: rgba(13,71,182,.1);\n}\n\n.partialExposure {\n    background-color: rgba(13,71,182,.1);\n}\n.partialExposurePoints {\n    background-color: rgba(13,71,182,.1);\n}\n.calculatebutton {\nborder-radius: 10px; \npadding-left: 20px;\npadding-right: 20px;\npadding-top: 5px;\npadding-bottom: 5px; \nbackground-color: #006DFF;\ncolor: #fff;\nborder: 0 solid;\nmargin-top: 0px;\n}\n        .red-background {\n            background-color: #ff6666;\n        }\n        .orange-background {\n            background-color: #ffcc66;\n        }\n        .green-background {\n            background-color: #66cc66;\n        }\n\n#rotateDevicePrompt {\n    display: none;\n    position: fixed;\n    top: 0;\n    left: 0;\n    width: 100%;\n    height: 100%;\n    background-color: rgba(0,0,0,0.8);\n    color: white;\n    font-size: 24px;\n    text-align: center;\n    align-items: center;\n    justify-content: center;\n    flex-direction: column;\n    z-index: 1000; \/* Make sure this is on top of other elements *\/\n}\n\n@media screen and (orientation: portrait) {\n    #rotateDevicePrompt {\n        display: flex; \/* Show the prompt only in portrait mode *\/\n    }\n\n@media screen and (max-width: 768px) { \/* Adjusts for devices with width less than 768px *\/\n        .calculator-container {\n            width: 100%; \/* Full width *\/\n            overflow-x: auto; \/* Allows table to scroll horizontally *\/\n        }\n\n        table {\n            width: auto; \/* Allows table to be only as wide as it needs to be, enabling horizontal scroll *\/\n        }\n\n        th, td {\n            padding: 5px; \/* Reduces padding *\/\n            font-size: 12px; \/* Reduces font size *\/\n        }\n\n        .input-cell input, button {\n            font-size: 12px; \/* Reduces font size *\/\n        }\n\n        \/* Hide less important columns on small screens *\/\n        .calculator-container th:nth-child(3),\n        .calculator-container td:nth-child(3),\n        .calculator-container th:nth-child(4),\n        .calculator-container td:nth-child(4) {\n            display: none;\n        }\n    }\n    \n    @media screen and (orientation: landscape) {\n.calculator-container {\n            width: 100%;    }\n}\n    <\/style>\n<\/head>\n<body>\n<div id=\"rotateDevicePrompt\">\n    <p>Bitte drehen Sie Ihr Ger\u00e4t in das Querformat.<\/p>\n<\/div>\n<div class=\"calculator-container\">\n    <table id=\"vibrationTable\">\n        <thead>\n            <tr>\n                <th>Werkzeug- oder Prozessname<\/th>\n                <th>Gr\u00f6\u00dfe der Schwingung m\/s\u00b2<\/th>\n                <th>Expositionspunkte pro Stunde<\/th>\n                <th>Zeit bis zum Erreichen des EAV<\/th>\n                <th>Zeit bis zum Erreichen von ELV<\/th>\n                <th>Expositionsdauer Stunden<\/th>\n                <th>Expositionsdauer Minuten<\/th>\n                <th>Teilweise Exposition m\/s\u00b2 (A8)<\/th>\n                <th>Partielle Expositionspunkte<\/th>\n            <\/tr>\n        <\/thead>\n        <tbody>\n            <!-- Initial row -->\n            <tr data-tool-recommendation=\"\">\n                <td class=\"input-cell\"><input type=\"text\" class=\"toolName\"\/><\/td>\n                <td class=\"input-cell\"><input type=\"number\" class=\"vibrationMagnitude\" step=\"0.1\"\/><\/td>\n                <td class=\"exposurePointsPerHour\"><\/td>\n                <td class=\"timeToReachEAV\"><\/td>\n                <td class=\"timeToReachELV\"><\/td>\n                <td class=\"input-cell\"><input type=\"number\" class=\"exposureDurationHours\" step=\"0\" min=\"1\"\/><\/td>\n                <td class=\"input-cell\"><input type=\"number\" class=\"exposureDurationMinutes\" step=\"1\" min=\"1\" max=\"59\"\/><\/td>\n                <td class=\"partialExposure\"><\/td>\n                <td class=\"partialExposurePoints\"><\/td>\n            <\/tr>\n        <\/tbody>\n        <tfoot>\n            <tr>\n<td colspan=\"2\">     <button class=\"calculatebutton\" onclick=\"addTool()\">Ein weiteres Werkzeug hinzuf\u00fcgen<\/button> <\/td>\n            \n<td colspan=\"5\" style=\"text-align: right;\"><strong>Gesamtexposition:<\/strong><\/td>\n                <td id=\"totalPartialExposure\">0<\/td>\n                <td id=\"totalExposurePoints\">0<\/td>\n            <\/tr>\n<tr>\n<td colspan=\"10\"> \n<p id=\"key\"><b>EAV<\/b>: Ausl\u00f6sewert der Exposition = 2,5 m\/s\u00b2 A(8), <b>ELV<\/b>: Expositionsgrenzwert = 5 m\/s\u00b2 A(8)<\/p>\n<\/td>\n<\/tr>\n        <\/tfoot>\n    <\/table>\n<\/div>\n\n<div><p id=\"havsMessage\" style=\"text-align: center; font-weight: bold;\"><\/p> <\/div>\n<div>\n    <p id=\"havsMessage\" style=\"text-align: center; font-weight: bold;\"><\/p>\n    <p id=\"toolRecommendations\" style=\"text-align: center;\"><\/p>\n<\/div>\n\n<script>\nvar toolRecommendations = []; \/\/ Global array to store recommendations\n\ndocument.addEventListener('DOMContentLoaded', function() {\n    setupInputListeners();\n});\n    function setupInputListeners() {\n    var inputs = document.querySelectorAll('.vibrationMagnitude, .exposureDurationHours, .exposureDurationMinutes');\n    inputs.forEach(function(input) {\n        input.addEventListener('change', function() {\n            calculateExposure(input.closest('tr'));\n        });\n    });\n}\n\n\n    \/\/ Initial setup call\n    setupInputListeners();\n\n    function calculateExposure(row) {\n    var vibrationMagnitude = parseFloat(row.querySelector('.vibrationMagnitude').value) || 0;\n    \n    \/\/ Calculate Exposure Points Per Hour using the provided vibration magnitude.\n    var exposurePointsPerHour = Math.pow(vibrationMagnitude, 2) * 2;\n\nif (exposurePointsPerHour === 0) {\n        \/\/ Set timeToReachEAV and timeToReachELV to some default value or message\n        timeToReachEAV = 'N\/A'; \/\/ or some other sensible default\n        timeToReachELV = 'N\/A'; \/\/ or some other sensible default\n    } else {    \n\/\/ Calculate Time to Reach EAV and ELV in minutes.\n    var timeToReachEAV = 100 * 60 \/ exposurePointsPerHour; \/\/ For EAV of 2.5 m\/s\u00b2 (100 points)\n    var timeToReachELV = 400 * 60 \/ exposurePointsPerHour; \/\/ For ELV of 5 m\/s\u00b2 (400 points)\n\n    var exposureDurationHours = parseFloat(row.querySelector('.exposureDurationHours').value) || 0;\n    var exposureDurationMinutes = parseFloat(row.querySelector('.exposureDurationMinutes').value) || 0;\n    var exposureDurationTotalMinutes = (exposureDurationHours * 60) + exposureDurationMinutes;\n    \n    \/\/ Calculate Partial Exposure Points.\n    var partialExposurePoints = exposurePointsPerHour * exposureDurationTotalMinutes \/ 60;\n    \n    \/\/ Calculate Partial Exposure (A8) as the square root of the partial exposure points normalized to an 8-hour day.\n   var exposureDurationTotalHours = exposureDurationHours + (exposureDurationMinutes \/ 60);\n   var partialExposure = Math.sqrt((vibrationMagnitude * vibrationMagnitude * exposureDurationTotalHours) \/ 8);\n var toolName = row.querySelector('.toolName').value || 'Unnamed Tool';\n    var timeToReachELVFormatted = formatHoursAndMinutes(timeToReachELV);\n\n    if (partialExposure >= 5) {\n        var recommendation = toolName + \" has a high level of vibration (Partial Exposure: \" + partialExposure.toFixed(1) + \" m\/s\u00b2). Consider reducing usage time and ensure not to exceed its Time to Reach ELV (\" + timeToReachELVFormatted.hours + \"h \" + timeToReachELVFormatted.minutes + \"m).\";\n        row.setAttribute('data-tool-recommendation', recommendation);\n    } else {\n        row.setAttribute('data-tool-recommendation', ''); \/\/ Clear the recommendation if not relevant\n    }\n\n    \/\/ Update the table with the calculated values.\n    row.querySelector('.exposurePointsPerHour').textContent = exposurePointsPerHour.toFixed(0);\n    row.querySelector('.timeToReachEAV').textContent = formatHoursAndMinutes(timeToReachEAV).hours + 'h ' +\n                                                         formatHoursAndMinutes(timeToReachEAV).minutes + 'm';\n    row.querySelector('.timeToReachELV').textContent = formatHoursAndMinutes(timeToReachELV).hours + 'h ' +\n                                                         formatHoursAndMinutes(timeToReachELV).minutes + 'm';\n    row.querySelector('.partialExposure').textContent = partialExposure.toFixed(1);\n    row.querySelector('.partialExposurePoints').textContent = partialExposurePoints.toFixed(0);\n\n    calculateTotals();\n}\n}\n\nfunction displayToolRecommendations() {\n    var rows = document.querySelectorAll('#vibrationTable tbody tr');\n    var recommendations = [];\n\n    rows.forEach(function(row) {\n        var recommendation = row.getAttribute('data-tool-recommendation');\n        if (recommendation) {\n            recommendations.push(recommendation);\n        }\n    });\n\n    var recommendationsElement = document.getElementById('toolRecommendations');\n    var recommendationsHtml = recommendations.length > 0 ? '<strong>Tool Recommendations:<\/strong><br>' + recommendations.join('<br>') : '';\n    recommendationsElement.innerHTML = recommendationsHtml;\n}\n\nfunction formatHoursAndMinutes(totalMinutes) {\n    var hours = Math.floor(totalMinutes \/ 60);\n    var minutes = Math.round(totalMinutes % 60);\n    return { hours, minutes };\n}\n\n\n    function calculateTotals() {\n        var totalExposurePoints = 0;\n        var totalPartialExposureSquared = 0;\n\n        document.querySelectorAll('.partialExposurePoints').forEach(function(cell) {\n            var value = parseFloat(cell.textContent) || 0;\n            totalExposurePoints += value;\n        });\n\n        document.querySelectorAll('.partialExposure').forEach(function(cell) {\n            var value = parseFloat(cell.textContent) || 0;\n            totalPartialExposureSquared += value * value;\n        });\n\n        var totalPartialExposure = Math.sqrt(totalPartialExposureSquared);\n\n        var totalExposurePointsElement = document.getElementById('totalExposurePoints');\n        var totalPartialExposureElement = document.getElementById('totalPartialExposure');\n\n        totalExposurePointsElement.textContent = Math.round(totalExposurePoints).toString();\n        totalPartialExposureElement.textContent = totalPartialExposure.toFixed(1) + ' m\/s\u00b2';\n\n        \/\/ Set the background color based on the value\n        if (totalExposurePoints > 400 || totalPartialExposure >= 5) {\n            totalExposurePointsElement.className = 'red-background';\n            totalPartialExposureElement.className = 'red-background';\n        } else if (totalExposurePoints > 100 || totalPartialExposure >= 2.5) {\n            totalExposurePointsElement.className = 'orange-background';\n            totalPartialExposureElement.className = 'orange-background';\n        } else {\n            totalExposurePointsElement.className = 'green-background';\n            totalPartialExposureElement.className = 'green-background';\n        }\n    displayHAVSMessage(totalPartialExposure);\n    displayToolRecommendations();\n    }\n\n    function calculateTime(limitPoints, exposurePointsPerHour) {\n        var time = limitPoints \/ exposurePointsPerHour;\n        var hours = Math.floor(time);\n        var minutes = Math.round((time - hours) * 60);\n        return { hours, minutes };\n    }\n\n    function addTool() {\n        var tableBody = document.getElementById('vibrationTable').querySelector('tbody');\n        var newRow = tableBody.insertRow(-1);\n\n        newRow.innerHTML = `\n            <td class=\"input-cell\"><input type=\"text\" class=\"toolName\"\/><\/td>\n            <td class=\"input-cell\"><input type=\"number\" class=\"vibrationMagnitude\" step=\"0.1\"\/><\/td>\n            <td class=\"exposurePointsPerHour\"><\/td>\n            <td class=\"timeToReachEAV\"><\/td>\n            <td class=\"timeToReachELV\"><\/td>\n            <td class=\"input-cell\"><input type=\"number\" class=\"exposureDurationHours\" step=\"1\" min=\"1\"\/><\/td>\n            <td class=\"input-cell\"><input type=\"number\" class=\"exposureDurationMinutes\" step=\"1\" min=\"1\" max=\"59\"\/><\/td>\n            <td class=\"partialExposure\"><\/td>\n            <td class=\"partialExposurePoints\"><\/td>\n        `;\n        setupInputListeners();\n\n    }\n\nfunction formatTime(totalMinutes) {\n    var hours = Math.floor(totalMinutes \/ 60);\n    var minutes = Math.round(totalMinutes % 60);\n    \/\/ Ensure minutes are shown with two digits\n    minutes = minutes < 10 ? '0' + minutes : minutes;\n    return hours + \":\" + minutes;\n}\n\n    window.onload = setupInputListeners;\n\nfunction checkOrientation() {\n    if (window.innerHeight > window.innerWidth) {\n        \/\/ Show the prompt if in portrait mode\n        document.getElementById('rotateDevicePrompt').style.display = 'flex';\n    } else {\n        \/\/ Hide the prompt if in landscape mode\n        document.getElementById('rotateDevicePrompt').style.display = 'none';\n    }\n}\n\nfunction displayHAVSMessage(totalExposure) {\n    var messageElement = document.getElementById('havsMessage');\n    if (totalExposure < 2.5) {\n        messageElement.textContent = 'These are good HAVS levels, but you should still always be looking to reduce your HAVS exposure.';\n        messageElement.style.color = 'green';\n    } else if (totalExposure >= 2.5 && totalExposure < 5) {\n        messageElement.textContent = 'Alert: You are over the Action value and should be actively taking measures to reduce your employee\\'s exposure.';\n        messageElement.style.color = 'orange';\n    } else if (totalExposure >= 5) {\n        messageElement.textContent = 'Warning: Your employees are at serious risk of injury from vibration at work.';\n        messageElement.style.color = 'red';\n    }\n}\n\n\/\/ Call checkOrientation on load and on resize event\nwindow.addEventListener('load', checkOrientation);\nwindow.addEventListener('resize', checkOrientation);\nwindow.addEventListener('orientationchange', checkOrientation); \/\/ For mobile devices that support orientationchange\n<\/script>\n\n<\/body>\n<\/html>\n\n\n\n<h2 class=\"wp-block-heading\">Was sind EAV und ELV?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">EAV (Expositionsausl\u00f6sewert) und ELV (Expositionsgrenzwert) sind Schwellenwerte f\u00fcr die Vibrationsexposition. Der EAV ist der Wert, bei dessen \u00dcberschreitung die Arbeitnehmer \u00fcber die Gesundheitsrisiken informiert werden und Pr\u00e4ventivma\u00dfnahmen ergriffen werden sollten. ELV ist die maximale Vibrationsbelastung, der ein Arbeitnehmer an einem einzigen Tag ausgesetzt sein darf.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Messung der Schwingungsst\u00e4rke<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Die Gr\u00f6\u00dfe der Schwingungen sollte mit einem <a href=\"https:\/\/pulsarinstruments.com\/de\/produkte\/c\/schwingungsmessgerate\/\">Hand-Arm-Vibrationsmessger\u00e4t<\/a>. Genaue Messungen erm\u00f6glichen es dem Arbeitgeber, die Exposition zu berechnen und die Einhaltung der Vibrationsvorschriften zu gew\u00e4hrleisten.<\/p>","protected":false},"template":"","resource-category":[461],"class_list":["post-21811","resources","type-resources","status-publish","hentry","resource-category-calculators"],"_links":{"self":[{"href":"https:\/\/pulsarinstruments.com\/de\/wp-json\/wp\/v2\/resources\/21811","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pulsarinstruments.com\/de\/wp-json\/wp\/v2\/resources"}],"about":[{"href":"https:\/\/pulsarinstruments.com\/de\/wp-json\/wp\/v2\/types\/resources"}],"wp:attachment":[{"href":"https:\/\/pulsarinstruments.com\/de\/wp-json\/wp\/v2\/media?parent=21811"}],"wp:term":[{"taxonomy":"resource-category","embeddable":true,"href":"https:\/\/pulsarinstruments.com\/de\/wp-json\/wp\/v2\/resource-category?post=21811"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}