From 0f1fb5a46f9897681ec43fe9d01a74f51a9fd10e Mon Sep 17 00:00:00 2001 From: Fidelis Huber Date: Fri, 9 Oct 2026 19:53:01 +0200 Subject: [PATCH] =?UTF-8?q?Kabelliste:=20Profibus=20DP,=20CAN-Bus,=20LiYCY?= =?UTF-8?q?=20und=20LiYCY=20paarig=20(Meinhart)=20erg=C3=A4nzt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 5.5 --- client/src/components/KabelOptions.tsx | 5 +- client/src/data/kabelData.ts | 132 ++++++++++++++++++++++++- client/src/styles.css | 6 ++ 3 files changed, 140 insertions(+), 3 deletions(-) diff --git a/client/src/components/KabelOptions.tsx b/client/src/components/KabelOptions.tsx index fa36c0d..faccc14 100644 --- a/client/src/components/KabelOptions.tsx +++ b/client/src/components/KabelOptions.tsx @@ -8,7 +8,10 @@ const GROUPS: { label: string; test: (c: KabelTyp) => boolean }[] = [ { label: 'Aderleitung flexibel (H05V-K / H07V-K)', test: c => c.typ === 'H05V-K' || c.typ === 'H07V-K' }, { label: 'H05VV-F / A05VV-F – Schlauchleitung', test: c => c.typ === 'H05VV-F' || c.typ === 'A05VV-F' }, { label: 'Netzwerkkabel (LAN Cat.5e / 6 / 7)', test: c => c.badge === 'lan' }, - { label: 'Buskabel (KNX/EIB, J-Y(ST)Y)', test: c => c.badge === 'bus' } + { label: 'Buskabel (KNX/EIB, J-Y(ST)Y)', test: c => c.badge === 'bus' }, + { label: 'Feldbus (Profibus DP, CAN-Bus)', test: c => c.badge === 'feldbus' }, + { label: 'LiYCY – Steuerleitung geschirmt', test: c => c.typ === 'LiYCY' }, + { label: 'LiYCY paarig – Steuerleitung geschirmt, paarweise', test: c => c.typ === 'LiYCY paarig' } ]; // Value = "Name|kgpm": Materialliste und Kabelrechner brauchen beide Name und Faktor (kg/m allein ist nicht eindeutig). diff --git a/client/src/data/kabelData.ts b/client/src/data/kabelData.ts index b05ad68..b52bd87 100644 --- a/client/src/data/kabelData.ts +++ b/client/src/data/kabelData.ts @@ -2,7 +2,7 @@ export interface KabelTyp { typ: string; name: string; kgpm: number; - badge: 'nym' | 'nyy' | 'h07' | 'ysly' | 'schlauch' | 'lan' | 'bus'; + badge: 'nym' | 'nyy' | 'h07' | 'ysly' | 'schlauch' | 'lan' | 'bus' | 'feldbus' | 'liycy'; } // Alle Werte aus den offiziellen Meinhart-Kabel-Datenblättern (Meinhart Kabel Österreich GmbH). @@ -95,7 +95,135 @@ export const KAB_DATA: KabelTyp[] = [ { typ: 'J-Y(ST)Y', name: 'J-Y(ST)Y 40×2×0,6 mm', kgpm: 0.358, badge: 'bus' }, { typ: 'J-Y(ST)Y', name: 'J-Y(ST)Y 50×2×0,6 mm', kgpm: 0.438, badge: 'bus' }, { typ: 'J-Y(ST)Y', name: 'J-Y(ST)Y 60×2×0,6 mm', kgpm: 0.512, badge: 'bus' }, - { typ: 'J-Y(ST)Y', name: 'J-Y(ST)Y 100×2×0,6 mm', kgpm: 0.829, badge: 'bus' } + { typ: 'J-Y(ST)Y', name: 'J-Y(ST)Y 100×2×0,6 mm', kgpm: 0.829, badge: 'bus' }, + { typ: 'Profibus DP', name: 'Profibus DP L2 1×2×0,64 violett', kgpm: 0.078, badge: 'feldbus' }, + { typ: 'Profibus DP', name: 'Profibus DP L2 1×2×0,64 Erdverlegung schwarz', kgpm: 0.085, badge: 'feldbus' }, + { typ: 'Profibus DP', name: 'Profibus DP L2 1×2×0,64 halogenfrei violett', kgpm: 0.070, badge: 'feldbus' }, + { typ: 'Profibus DP', name: 'Profibus DP L2 1×2×0,64 schleppkettenfähig violett', kgpm: 0.062, badge: 'feldbus' }, + { typ: 'CAN-Bus', name: 'CAN-Bus 2×2×0,5 mm²', kgpm: 0.080, badge: 'feldbus' }, + { typ: 'CAN-Bus', name: 'CAN-Bus 1×2×AWG22/7', kgpm: 0.103, badge: 'feldbus' }, + { typ: 'LiYCY', name: 'LiYCY 2×0,14 mm²', kgpm: 0.021, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 3×0,14 mm²', kgpm: 0.025, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 4×0,14 mm²', kgpm: 0.029, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 5×0,14 mm²', kgpm: 0.035, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 6×0,14 mm²', kgpm: 0.038, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 7×0,14 mm²', kgpm: 0.041, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 8×0,14 mm²', kgpm: 0.045, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 10×0,14 mm²', kgpm: 0.049, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 12×0,14 mm²', kgpm: 0.061, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 14×0,14 mm²', kgpm: 0.067, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 16×0,14 mm²', kgpm: 0.081, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 18×0,14 mm²', kgpm: 0.092, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 20×0,14 mm²', kgpm: 0.104, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 24×0,14 mm²', kgpm: 0.118, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 25×0,14 mm²', kgpm: 0.120, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 27×0,14 mm²', kgpm: 0.123, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 36×0,14 mm²', kgpm: 0.157, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 52×0,14 mm²', kgpm: 0.212, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 1×0,25 mm²', kgpm: 0.014, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 2×0,25 mm²', kgpm: 0.020, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 3×0,25 mm²', kgpm: 0.035, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 4×0,25 mm²', kgpm: 0.044, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 5×0,25 mm²', kgpm: 0.050, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 6×0,25 mm²', kgpm: 0.058, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 7×0,25 mm²', kgpm: 0.060, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 8×0,25 mm²', kgpm: 0.067, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 10×0,25 mm²', kgpm: 0.081, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 12×0,25 mm²', kgpm: 0.091, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 14×0,25 mm²', kgpm: 0.116, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 16×0,25 mm²', kgpm: 0.133, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 18×0,25 mm²', kgpm: 0.137, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 24×0,25 mm²', kgpm: 0.185, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 25×0,25 mm²', kgpm: 0.190, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 27×0,25 mm²', kgpm: 0.200, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 30×0,25 mm²', kgpm: 0.214, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 32×0,25 mm²', kgpm: 0.227, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 36×0,25 mm²', kgpm: 0.250, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 40×0,25 mm²', kgpm: 0.289, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 52×0,25 mm²', kgpm: 0.340, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 2×0,34 mm²', kgpm: 0.033, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 3×0,34 mm²', kgpm: 0.041, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 4×0,34 mm²', kgpm: 0.048, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 5×0,34 mm²', kgpm: 0.058, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 7×0,34 mm²', kgpm: 0.070, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 8×0,34 mm²', kgpm: 0.093, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 10×0,34 mm²', kgpm: 0.110, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 12×0,34 mm²', kgpm: 0.120, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 16×0,34 mm²', kgpm: 0.147, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 18×0,34 mm²', kgpm: 0.172, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 24×0,34 mm²', kgpm: 0.229, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 1×0,5 mm²', kgpm: 0.020, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 2×0,5 mm²', kgpm: 0.042, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 3×0,5 mm²', kgpm: 0.055, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 4×0,5 mm²', kgpm: 0.068, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 5×0,5 mm²', kgpm: 0.082, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 6×0,5 mm²', kgpm: 0.104, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 7×0,5 mm²', kgpm: 0.109, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 8×0,5 mm²', kgpm: 0.123, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 10×0,5 mm²', kgpm: 0.135, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 12×0,5 mm²', kgpm: 0.160, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 16×0,5 mm²', kgpm: 0.210, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 18×0,5 mm²', kgpm: 0.210, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 20×0,5 mm²', kgpm: 0.270, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 24×0,5 mm²', kgpm: 0.320, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 32×0,5 mm²', kgpm: 0.360, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 1×0,75 mm²', kgpm: 0.024, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 2×0,75 mm²', kgpm: 0.050, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 3×0,75 mm²', kgpm: 0.071, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 4×0,75 mm²', kgpm: 0.078, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 5×0,75 mm²', kgpm: 0.100, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 7×0,75 mm²', kgpm: 0.131, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 8×0,75 mm²', kgpm: 0.151, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 12×0,75 mm²', kgpm: 0.218, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 18×0,75 mm²', kgpm: 0.300, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 25×0,75 mm²', kgpm: 0.415, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 1×1 mm²', kgpm: 0.029, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 2×1 mm²', kgpm: 0.074, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 3×1 mm²', kgpm: 0.089, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 4×1 mm²', kgpm: 0.107, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 5×1 mm²', kgpm: 0.132, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 7×1 mm²', kgpm: 0.158, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 12×1 mm²', kgpm: 0.254, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 2×1,5 mm²', kgpm: 0.086, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 3×1,5 mm²', kgpm: 0.107, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 4×1,5 mm²', kgpm: 0.129, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 5×1,5 mm²', kgpm: 0.150, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 7×1,5 mm²', kgpm: 0.192, badge: 'liycy' }, + { typ: 'LiYCY', name: 'LiYCY 8×1,5 mm²', kgpm: 0.219, badge: 'liycy' }, + { typ: 'LiYCY paarig', name: 'LiYCY paarig 2×2×0,14 mm²', kgpm: 0.034, badge: 'liycy' }, + { typ: 'LiYCY paarig', name: 'LiYCY paarig 3×2×0,14 mm²', kgpm: 0.043, badge: 'liycy' }, + { typ: 'LiYCY paarig', name: 'LiYCY paarig 4×2×0,14 mm²', kgpm: 0.050, badge: 'liycy' }, + { typ: 'LiYCY paarig', name: 'LiYCY paarig 5×2×0,14 mm²', kgpm: 0.070, badge: 'liycy' }, + { typ: 'LiYCY paarig', name: 'LiYCY paarig 6×2×0,14 mm²', kgpm: 0.081, badge: 'liycy' }, + { typ: 'LiYCY paarig', name: 'LiYCY paarig 8×2×0,14 mm²', kgpm: 0.093, badge: 'liycy' }, + { typ: 'LiYCY paarig', name: 'LiYCY paarig 10×2×0,14 mm²', kgpm: 0.115, badge: 'liycy' }, + { typ: 'LiYCY paarig', name: 'LiYCY paarig 12×2×0,14 mm²', kgpm: 0.125, badge: 'liycy' }, + { typ: 'LiYCY paarig', name: 'LiYCY paarig 16×2×0,14 mm²', kgpm: 0.148, badge: 'liycy' }, + { typ: 'LiYCY paarig', name: 'LiYCY paarig 2×2×0,25 mm²', kgpm: 0.046, badge: 'liycy' }, + { typ: 'LiYCY paarig', name: 'LiYCY paarig 3×2×0,25 mm²', kgpm: 0.064, badge: 'liycy' }, + { typ: 'LiYCY paarig', name: 'LiYCY paarig 4×2×0,25 mm²', kgpm: 0.073, badge: 'liycy' }, + { typ: 'LiYCY paarig', name: 'LiYCY paarig 5×2×0,25 mm²', kgpm: 0.088, badge: 'liycy' }, + { typ: 'LiYCY paarig', name: 'LiYCY paarig 6×2×0,25 mm²', kgpm: 0.098, badge: 'liycy' }, + { typ: 'LiYCY paarig', name: 'LiYCY paarig 8×2×0,25 mm²', kgpm: 0.118, badge: 'liycy' }, + { typ: 'LiYCY paarig', name: 'LiYCY paarig 10×2×0,25 mm²', kgpm: 0.165, badge: 'liycy' }, + { typ: 'LiYCY paarig', name: 'LiYCY paarig 2×2×0,34 mm²', kgpm: 0.064, badge: 'liycy' }, + { typ: 'LiYCY paarig', name: 'LiYCY paarig 3×2×0,34 mm²', kgpm: 0.086, badge: 'liycy' }, + { typ: 'LiYCY paarig', name: 'LiYCY paarig 4×2×0,34 mm²', kgpm: 0.113, badge: 'liycy' }, + { typ: 'LiYCY paarig', name: 'LiYCY paarig 2×2×0,5 mm²', kgpm: 0.075, badge: 'liycy' }, + { typ: 'LiYCY paarig', name: 'LiYCY paarig 3×2×0,5 mm²', kgpm: 0.098, badge: 'liycy' }, + { typ: 'LiYCY paarig', name: 'LiYCY paarig 4×2×0,5 mm²', kgpm: 0.123, badge: 'liycy' }, + { typ: 'LiYCY paarig', name: 'LiYCY paarig 6×2×0,5 mm²', kgpm: 0.162, badge: 'liycy' }, + { typ: 'LiYCY paarig', name: 'LiYCY paarig 8×2×0,5 mm²', kgpm: 0.190, badge: 'liycy' }, + { typ: 'LiYCY paarig', name: 'LiYCY paarig 12×2×0,5 mm²', kgpm: 0.342, badge: 'liycy' }, + { typ: 'LiYCY paarig', name: 'LiYCY paarig 16×2×0,5 mm²', kgpm: 0.405, badge: 'liycy' }, + { typ: 'LiYCY paarig', name: 'LiYCY paarig 2×2×0,75 mm²', kgpm: 0.106, badge: 'liycy' }, + { typ: 'LiYCY paarig', name: 'LiYCY paarig 3×2×0,75 mm²', kgpm: 0.140, badge: 'liycy' }, + { typ: 'LiYCY paarig', name: 'LiYCY paarig 4×2×0,75 mm²', kgpm: 0.179, badge: 'liycy' }, + { typ: 'LiYCY paarig', name: 'LiYCY paarig 6×2×0,75 mm²', kgpm: 0.246, badge: 'liycy' }, + { typ: 'LiYCY paarig', name: 'LiYCY paarig 8×2×0,75 mm²', kgpm: 0.300, badge: 'liycy' }, + { typ: 'LiYCY paarig', name: 'LiYCY paarig 12×2×0,75 mm²', kgpm: 0.433, badge: 'liycy' }, + { typ: 'LiYCY paarig', name: 'LiYCY paarig 16×2×0,75 mm²', kgpm: 0.564, badge: 'liycy' }, + { typ: 'LiYCY paarig', name: 'LiYCY paarig 2×2×1 mm²', kgpm: 0.143, badge: 'liycy' } ]; export function kabelInfoForBez(bez: string): KabelTyp | undefined { diff --git a/client/src/styles.css b/client/src/styles.css index b9f9cf5..0136264 100644 --- a/client/src/styles.css +++ b/client/src/styles.css @@ -36,6 +36,8 @@ button,input,select,textarea{font-family:inherit} :root[data-theme="light"] .badge-schlauch{background:rgba(20,150,90,.14);color:#0f7d4f} :root[data-theme="light"] .badge-lan{background:rgba(190,150,0,.16);color:#8a6a00} :root[data-theme="light"] .badge-bus{background:rgba(190,40,130,.14);color:#a3206e} +:root[data-theme="light"] .badge-feldbus{background:rgba(100,60,210,.14);color:#5a34b8} +:root[data-theme="light"] .badge-liycy{background:rgba(92,118,134,.16);color:#3f5666} :root[data-theme="light"] label.field select option{background:#fff;color:#0f2130} @media(prefers-color-scheme:light){ @@ -53,6 +55,8 @@ button,input,select,textarea{font-family:inherit} :root:not([data-theme="dark"]) .badge-schlauch{background:rgba(20,150,90,.14);color:#0f7d4f} :root:not([data-theme="dark"]) .badge-lan{background:rgba(190,150,0,.16);color:#8a6a00} :root:not([data-theme="dark"]) .badge-bus{background:rgba(190,40,130,.14);color:#a3206e} + :root:not([data-theme="dark"]) .badge-feldbus{background:rgba(100,60,210,.14);color:#5a34b8} + :root:not([data-theme="dark"]) .badge-liycy{background:rgba(92,118,134,.16);color:#3f5666} :root:not([data-theme="dark"]) label.field select option{background:#fff;color:#0f2130} } @@ -182,6 +186,8 @@ table.reftab tr:hover td{background:rgba(0,200,216,.06);cursor:pointer} .badge-schlauch{background:rgba(60,200,130,.2);color:#60e0a0} .badge-lan{background:rgba(240,200,40,.2);color:#f0d060} .badge-bus{background:rgba(230,90,170,.2);color:#ff90cc} +.badge-feldbus{background:rgba(150,110,255,.2);color:#b8a0ff} +.badge-liycy{background:rgba(160,170,180,.2);color:#c3ccd4} /* Dashboard */ .dash-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:16px}