← Zurück zur Werkstatt
Klemmen

Selbst ich wusste nicht mehr, wie meine Klemmen funktionieren

Wie die Klemmen in Sketrix entstanden sind: erst zu viel Automatik, dann zu wenig, und am Ende ein System, bei dem man sieht, was man macht.

Was es tut → Schaltplan-Editor

Aus dem Beruf kenne ich eine Sache an Klemmen, die das Aufbauen enorm leicht macht: wenn ich eine Leiste -XD1 mit der ersten Klemme habe und eine zweite daneben setze, dann heißt die neue sofort genauso wie die Leiste daneben, und ich muss nichts eintippen. Das große Programm, mit dem ich das über Jahre gemacht habe, hatte diese eine Sache richtig drin, und die wollte ich unbedingt haben.

Mein Plan war deshalb von Anfang an, die Klemmen so einfach zu bauen, wie es irgendwie geht, mit so wenig Klicks wie möglich, und am liebsten so, dass sich alles von selbst setzt.

Erst zu viel, dann zu wenig

Im Februar standen die ersten Klemmen samt Klemmenplan, und bis in den Sommer kamen Brücken, Farben und der Export dazu. Dabei bin ich immer einen Schritt weiter in Richtung Automatik gegangen, und irgendwann hat sich diese Automatik im Kreis gedreht. Manche Klemmen waren fest, andere wurden beim Verschieben zusammengezogen, Nummern haben sich beim Setzen und Löschen selbst neu sortiert, und eine rote Linie, nach der das alles lief, gab es nicht mehr. Wer eine Leiste einen Tag liegen lässt, muss danach wieder wissen, wo er war, und das Schlimme war, dass selbst ich, der das gebaut hatte, nicht mehr sagen konnte, wann eine Klemme fest ist und wann nicht.

Anfang September kamen vier Reparaturrunden hintereinander, und jede hat neue Fälle von derselben Sorte ausgegraben. Da war kein einzelner Fehler mehr zu finden, weil die Sache als Ganzes falsch gebaut war, zu kompliziert und für den Anwender nicht durchschaubar. Also hab ich mir angeschaut, wie es im Beruf gemacht wird, und in einem großen Umbau über dreiunddreißig Entscheidungen festgelegt, wie die Klemmen denken sollen. Die wichtigste davon: bestehende Nummern fasst die App nie wieder von selbst an. Rund 3.100 Zeilen flogen dabei raus, und mit ihnen acht Testdateien, von denen sieben erst ein, zwei Tage alt waren.

Das Pendel ist dann allerdings auf die andere Seite geschwungen. Wenn ich jetzt die erste Klemme einer Leiste umbenannt habe, ist der Rest dahinter einfach stehen geblieben, und ich hätte jede Leiste mit dem Lasso aufziehen und neu benennen müssen. Das war der Moment, wo ich gesagt hab, halt stopp, das geht so gar nicht. Zwei Wochen nach dem Umbau steht in meinen Aufzeichnungen der Satz, dass ich das wohl doch zu kompliziert gebaut habe, und ein Teil der Entscheidungen ist wieder gekippt. Eine Regel, die sich die zuletzt benutzte Kennung merken sollte, hat genau sechzehn Tage gelebt. Geplant war dieses Hin und Her nie, das war irgendwann einfach blind bauen.

Weiß ist getippt, grau ist übernommen

Heute läuft es nach wenigen Regeln. Setze ich eine Klemme, schaut sie nach links auf ihren Nachbarn in derselben Zeile und übernimmt dessen Leiste, und das gilt gleich, egal ob ich setze, ziehe, mit der Tastatur schiebe oder ausrichte. Gibt es keinen Nachbarn, fängt eine neue Leiste an, und zwar mit der niedrigsten Kennung, die noch frei ist.

Dazu kommt der Teil, der das eigentliche Problem gelöst hat, denn man sieht jetzt, was man macht. Eine Klemme, deren Namen ich selbst getippt habe, steht weiß da, und eine, die ihn nur vom Nachbarn übernommen hat, grau. Benenne ich die weiße um, ziehen die grauen rechts davon mit, bis zur nächsten weißen, und das Ganze ist ein einziger Schritt beim Rückgängigmachen. Nummern ändern sich nie mehr heimlich, wer neu durchnummerieren will, drückt dafür im Klemmenplan einen Knopf an der Leiste, und doppelte Nummern werden orange.

Der Moment, an dem ich gemerkt hab, dass es trägt, war beim Testen mit einem Strukturkasten. Links stehen acht Klemmen in vier Leisten, und ich setze eine neue Klemme in den Kasten direkt daneben. Früher hätte sie stur den Namen des Nachbarn übernommen, jetzt merkt Sketrix, dass hier etwas Eigenes anfängt, und nimmt sofort die nächste freie Kennung, einfach nur durch Klicken.

Ausschnitt aus Sketrix: links acht Klemmen in den Leisten -XD1 bis -XD4, rechts daneben zwei Strukturkästen, deren Klemmen eigene Leisten bekommen haben: -XD5 und -XD6 im oberen Kasten, im Bereich =B wieder ab -XD1

Als letzter Stolperstein blieb das Bearbeiten, denn das Aufbauen einer Seite von null lief schon länger gut. Wenn ich drei Motorabgänge nebeneinander hatte und die ganze Seite verschoben hab, zogen sich die Klemmen zusammen. Seit die Regel gilt, dass eine Klemme nur dann übernimmt, wenn sie wirklich einen neuen linken Nachbarn bekommt, bleibt beim Verschieben alles, wo es hingehört. Die Abnahme danach waren dreizehn von dreizehn Prüfpunkten.

Heute stecken die Klemmen in rund 3.900 Zeilen, abgesichert mit 248 Tests, und in meinen Aufzeichnungen tauchen sie in 287 Einträgen auf.

Und jetzt

Die Regeln stehen, und das Aufbauen und Bearbeiten fühlt sich so an, wie ich es mir am Anfang vorgestellt hatte. Dazugekommen ist zum Schluss noch ein Häkchen, mit dem man eine Leiste festhalten kann, damit sie nicht übernommen wird, wenn man sie hinter eine andere schiebt.

Offen ist noch die Frage, ob die Kontakte an Schützen genauso laufen, denn da steckt dasselbe Prinzip drin, und ich will nicht zwei Systeme nebeneinander haben, die fast das Gleiche machen und sich nur im Detail unterscheiden. Das schau ich mir als Nächstes an.

Martin

Sketrix ist Elektro-CAD (E-CAD) für Stromlaufpläne, Steuerungstechnik und Schaltschrankbau — mit Schaltzeichen orientiert an IEC 60617. Kein PCB-/Leiterplatten-Tool wie KiCad oder Eagle, sondern die Software für Schaltschrank, Klemmenplan und Elektroinstallation.