Skip to content

Prozessbaum

Der Prozessbaum ist eine Datenbanktabelle (process), die die vollständige Hierarchie aller Fertigungsprozesse in WSi definiert. Er steuert gleichzeitig zwei Dinge:

  1. Welche Prozesse in der WSi-Benutzeroberfläche sichtbar und auswählbar sind.
  2. Welchem Arbeitsgang-Typ jeder Prozess zur Laufzeit zugeordnet wird — die Kategorie, anhand derer WSi bestimmt, welche Symbolleisten- und Menübefehle verfügbar sind.

Was die Tabelle enthält

Jede Zeile in der process-Tabelle ist ein Prozess. Die Spalten sind:

SpalteTypBeschreibung
identifierStringEindeutige ID für den Prozess (wird als Elternreferenz verwendet)
parentIdentifierStringID des übergeordneten Prozesses; leer für Stammknoten
typeWert aus der Prozesstyp-ListeWelcher der 73 verfügbaren Prozesstypen dieser Eintrag darstellt
nameStringAnzeigename in Fenstern
costCenterStringKostenstelle für die Kostenzuordnung
priorityintPriorität, die bei der automatischen Auswahl zwischen Prozessen verwendet wird
activeboolProzess-Level-Ein-/Ausblenden. Wenn false, ist der Prozess vollständig aus der Benutzeroberfläche ausgeblendet
childrenActiveboolUnterbaum-Ein-/Ausblenden. Wenn false, werden dieser Prozess und alle seine Kinder ausgeblendet
descriptionStringOptionale Beschreibung

Ein Prozess ist vollständig verfügbar, wenn sowohl active = true ALS AUCH childrenActive = true gilt UND alle übergeordneten Prozesse ebenfalls beide Flags auf true gesetzt haben. Wenn ein Vorfahre childrenActive = false hat, wird der gesamte Unterbaum ausgeblendet.

Wie der Baum aufgebaut wird

WSi liest beim Start jede Zeile aus der process-Tabelle und ordnet sie anhand von parentIdentifier in die im Prozessbaum gezeigte Hierarchie ein. Einige Regeln halten diese Hierarchie konsistent:

  • Keine Zyklen. Ein Prozess kann niemals sein eigener Vorfahre werden.
  • Nur ein übergeordneter Prozess. Jeder Prozess hat höchstens einen übergeordneten Prozess — es ist ein strenger Baum, kein Netzwerk mit mehreren Eltern pro Zeile.
  • Stammprozesse haben keinen eigenen Typ. Ein Prozess mit leerem parentIdentifier (ein Eintrag der obersten Ebene) muss type auf undefined gesetzt haben.
  • Kindtypen müssen zum übergeordneten Prozess passen. Der Typ eines Prozesses muss einer sein, den WSi als gültiges Kind des Typs seines übergeordneten Prozesses erkennt — die gültigen Eltern-Kind-Kombinationen sind softwareseitig festgelegt, nicht pro Zeile konfigurierbar.

Verstößt eine Zeile gegen diese Regeln, protokolliert WSi beim Start einen Fehler und verweigert das Öffnen der Datenbank, bis die Zeile korrigiert ist.

Wie Arbeitsgang-Typen verfügbar werden

Jeder Prozesstyp gehört zu einem von 11 Arbeitsgang-Typen — breiten Fertigungskategorien wie Blechschneiden oder Fügen (siehe Zuordnungstabelle unten). Beim Start durchsucht WSi den aktiven Teil des Prozessbaums und ermittelt, welche dieser 11 Arbeitsgang-Typen aktuell erreichbar sind. Dieses Ergebnis bestimmt, welche Symbolleisten- und Menübefehle angezeigt werden.

Ein Arbeitsgang-Typ gilt als verfügbar, wenn:

  • Mindestens ein Prozess dieses Typs active ist
  • Dieser Prozess sich in einem aktiven Unterbaum befindet — keiner seiner Vorfahren hat childrenActive = false
  • Der type des Prozesses auf diesen Arbeitsgang-Typ abgebildet wird (siehe Zuordnungstabelle unten)

Prozesstypen und Arbeitsgang-Typen

WSi definiert insgesamt 73 Prozesstypen, gruppiert sie aber zur Laufzeit in nur 11 Arbeitsgang-Typen:

Arbeitsgang-TypEnthaltene Prozesstypen
sheetsheet
sheetCuttinglaserSheetCutting, laserSheetCuttingN2, laserSheetCuttingO2, plasmaSheetCutting, waterJetSheetCutting
sheetBendingdieBending, sheetMetalFolding
tubetube
tubeCuttingtubeCutting
joiningjoining, assembling, forceFitting, joiningByWelding, joiningByBrazing, bonding, plus alle Schweißuntertypen
packagingpackaging
transformcoating, sprayPainting, powderCoating, hotDipGalvanizing, cathodicDipPainting, electroGalvanizing, anodizing, countersinking
userDefinedmanufacturing, forming, bendForming, bendingWithoutTool, cutting, removalOperation, machining, milling, turning, drilling, threading, userDefinedMachining, mechanicalDeburring, automaticMechanicalDeburring, manualMechanicalDeburring, cleaning, slideGrinding, tapping, sheetTapping, transport, usw.
userDefinedBaseexternalPart, userDefinedTube, userDefinedBaseType
undefinedundefined, semiManufactured, alle Zwischen-/abstrakten Elterntypen

Prozesse aktivieren und deaktivieren

Um einen Prozess vor Benutzern ausblenden, ohne ihn aus der Datenbank zu löschen:

  1. Öffnen Sie Einstellungen → Datenbank (Datenbankverwaltungsfenster).
  2. Suchen Sie die Tabelle process.
  3. Setzen Sie active = false für den Prozess, den Sie ausblenden möchten. Oder setzen Sie childrenActive = false, um einen gesamten Unterbaum auszublenden.

Zum Wiederherstellen setzen Sie beide Flags wieder auf true.

WARNUNG

Wenn Sie childrenActive = false auf einem übergeordneten Prozess setzen, werden alle seine Kinder ausgeblendet, einschließlich Prozesse, die mehrere Ebenen tief sind. Verwenden Sie dies, um gesamte Fertigungskategorien auf einmal zu deaktivieren.

HINWEIS

Wenn Sie einen übergeordneten Prozess deaktivieren und dann wieder aktivieren, werden alle Kinder in ihren vorherigen Zustand zurückversetzt — das Flag ist zeilenbasiert, nicht nach unten propagiert.

Einen benutzerdefinierten Prozess hinzufügen

Benutzerdefinierte Prozesse können zur process-Tabelle hinzugefügt werden, aber:

  • Der type muss einer der 73 vorhandenen Prozesstypen sein (Sie können keine neuen Typen erfinden, ohne eine Codeänderung)
  • Der parentIdentifier muss auf einen vorhandenen Prozess-Bezeichner verweisen
  • Die neue Zeile muss allen oben beschriebenen Konsistenzprüfungen standhalten

Für Benutzerdefinierte Prozesse, die benutzerdefinierte Skripte ausführen, verwenden Sie manufacturing oder forming als Typ. Beide werden auf den Arbeitsgang-Typ userDefined abgebildet — einen manuellen Arbeitsgang, der beliebige Parameter akzeptiert.

Für eine vollständige Anleitung zum Schreiben von benutzerdefinierten Kosten- und Zeitformeln für solche Prozesse, siehe Benutzerdefinierte Berechnungen.

Beziehung zu den Datenbanktabellen

Viele untergeordnete Prozesse haben dedizierte Parametertabellen. Zum Beispiel:

  • laserSheetCuttinglaserSheetCuttingGas, laserSheetCuttingSpeed, usw.
  • tubeCuttingRohrschneiden - Prozess, tubeCuttingSpeed, usw.
  • dieBendingbendDeduction, upperDie, lowerDie, usw.

Wenn ein Prozess im Baum aktiv ist, sind seine Parametertabellen für die Kosten- und Zeitberechnung verfügbar. Wenn sie deaktiviert sind, bleiben die Parameterzeilen in der Datenbank, werden aber nicht verwendet.