Mit Abfragen können Sie in einem PCB-Design Objekte finden, isolieren und mit ihnen arbeiten. Altium Designer bietet mehrere Methoden zur Verwendung von Abfragen, die nach bestimmten Regeln priorisiert sind. Dies hilft Ihnen bei der Verwendung von "Query Builder" und "Query Finder", zwei wesentlichen Tools zur Implementierung der Definitionen von Abfragen in verschiedenen Bereichen der PCB-Dokumente.
THEMEN IN DIESER LÖSUNG
Benutzerdefinierte Abfragehilfe und -erstellung
Eine Abfrage ist ein String, der aus verschiedenen, aber spezifischen Schlüsselwörtern und Syntax besteht und das gesuchte Objekte isolieren und anzeigen soll. In Altium Designer gibt es verschiedene Funktionsbereiche, in denen Abfragen verwendet werden und sich als sehr nützlich für die Klassifizierung, Isolierung und Organisation von Projektelementen erwiesen haben. Zusammen werden die Abfragen zu einer Computersprache, in der die Software Delphi zur Übersetzung verwendet. Delphi ist die bevorzugte Sprache in Altium Designer, da sie sich sehr schnell kompilieren lässt, z. B. können Millionen von Codezeilen innerhalb weniger Sekunden kompiliert werden.
Beim Isolieren verschiedener Objekte mit "AND"- und "OR"-Operatoren werden Objekte gefiltert, die auf mehr als eine Bedingung ausgerichtet sind. Zum Beispiel: Bei einer Regel mit zwei Bedingungen gilt der "AND"-Operator, wenn beide Bedingungen zutreffen, während der "OR"-Operator für eine der beiden Bedingungen gilt, aber nicht für beide. Dies ist von großer Bedeutung und hilft dabei, zwischen den beiden Systemeingaben zu differenzieren, die entweder unabhängig voneinander oder gemeinsam gelten.
Altium Designer bietet derzeit zwei Arten von Designregeln für Datenmanagement-Workflows: unär und binär. Unäre Regeln unterscheiden sich von binären, da sie einen Regelbereich enthalten und auf ein Objekt oder jedes Objekt, das einem bestimmten Typ zugeordnet ist, angewendet werden. Binäre Regeln enthalten zwei Regelbereiche und werden auf "zwei Objekte oder zwischen einem Objekt in einer Menge auf ein Objekt in einer zweiten Menge"[1] angewendet. Die Regeln sind in allgemeine Objekt-Klassifizierungen unterteilt: Alle Objekte, Netz, Netzklasse, Lage, Netz und Lage und Abfrage. Abgesehen von der Abfrage können die anderen Klassen nur auf der Basis ihrer jeweiligen Typen funktionieren. Was aber, wenn Sie mehrere Regelentitäten in einer Befehlszeile zusammenfassen möchten? An dieser Stelle kommt die benutzerdefinierte Abfrage ins Spiel.
Angenommen, Sie möchten eine bestimmte Durchkontaktierung zur Masse isolieren, die eine minimale Lochgröße von 0,4 mm und eine maximale Lochgröße von 0,6 mm hat. Derzeit kann im Regelgenerator die verfügbare Klasse "Via" nur auf alle Durchkontaktierungen im Projekt angewendet werden. Der Editor kann unter Design >> Rules geöffnet werden, während das PCB-Dokument fokussiert ist. Die Regel, die auf bestimmte Durchkontaktierungen angewendet werden soll, wird jedoch mit einer isolierten Regel durch eine benutzerdefinierte Abfrage unter dem Abschnitt "Manufacturing Hole Size" (Fertigungslochgröße) erreicht. Im folgenden Beispiel gibt ein Benutzer eine benutzerdefinierte Abfrage ein, z. B. "IsVia", dann den "AND"-Operator, gefolgt von GND für das Erdungsnetz als ersten "Where the Object Matches"(wo das Objekt übereinstimmt)-Eintrag. Der zweite "Where the Object Matches"-Eintrag ist dann abhängig vom Regeltyp, der in diesem Fall die Regel für die minimale und maximale Lochgröße ist. Wir sehen in den Abbildungen 1 und 2, dass sich das Programm beim Ausführen der Online- oder Offline-Datenanalyse "Design Rule Checker (DRC)" auf diese Regel konzentriert und alle potenziellen Durchkontaktierungen lokalisiert, die gegen sie verstoßen. Der Vorteil von Abfragen ist, dass die verfügbaren Attribute wie Bezeichner, Netze, Lagen, Größe und Form genutzt werden können, um verschiedene Leiterplatten-Objekttypen ganz einfach zu isolieren. Das bewahrt viele Anwender davor, sich die Haare zu raufen.
Das Workflow-Tool "Custom Query Helper" und der "Custom Query Builder" befinden sich unter dem "Place Rules and Constraints Editor" (Design >> Rules oder über die Tastenkombinationen D >> R) in der Software.
Die Abfragehilfe bietet im rechten Bereich des Fensters eine Liste, in der die verschiedenen in der Software verfügbaren Funktionen mit den jeweiligen Beschreibungen aufgeführt sind. Die verfügbaren Funktionen zum Erstellen von Abfragen sind in drei Abschnitte "PCB Functions", "PCB Object Lists" und "System Functions" (PCB-Funktionen, PCB-Objektlisten und Systemfunktionen) und deren Unterkategorien unterteilt. Sie können verwendet werden, um die Benutzer zu schulen, wie sie benutzerdefinierte Abfragen schreiben und diese direkt auf ihre Projekte anwenden können.
Abbildung 3 zeigt, wie der Query Helper in Altium Designer aussieht. Er ist in verschiedene Abschnitte unterteilt: 1) die resultierende Ausgabe kann angesehen werden; 2) die Kategorien für verschiedene Abfrageeingaben sind verfügbar; 3) die jeweiligen Unterkategorien können mit ihren jeweiligen Beschreibungen verzweigt werden; 4) die verfügbaren Operatoren werden unterhalb der Abfrageanzeige angezeigt, und 5) die Maskenfunktion. Die Maskenfunktion wird ähnlich wie eine gefilterte Suchoption behandelt; die Suchergebnisse werden basierend auf der Maskeneingabe isoliert, so dass der Benutzer eine bestimmte Lösung wesentlich einfacher findet.
Die wertvollste Funktion dieses Tools ist die Möglichkeit, anhand des Projekts zu überprüfen, ob die Abfrage gültig oder ungültig ist; das geht über die Schaltfläche "Check Syntax" unten links. Dieses Deployment-Verhalten ist vergleichbar mit der Eingabe einer benutzerdefinierten Abfrage direkt im Regelfenster. Wenn die Schritte des Designregeltyps ungültig sind, werden sie rot hervorgehoben und eine Popup-Benachrichtigung wird angezeigt. Das ist hilfreich für den Benutzer, um einen Bereich der Abfrage zu finden, der nicht korrekt ausgedrückt ist.
Der Abfrage-Finder wird im Vergleich zur Abfragehilfe als ein vereinfachtes, anspruchsvolles Tool behandelt. Die verfügbaren Bedingungstypen und Operatoren sind davon abhängig, von wo aus der Dialog gestartet wird. Wenn der Finder von einem bestimmten Bauteil aus aufgerufen wird, sind die Bedingungstypen nur für das jeweilige Bauteilobjekt relevant. Dieses Verhalten ist ähnlich, wenn der Query Builder direkt aus den Regeln aufgerufen wird. Dann ist die Bedingungsliste, in der mehrere Bedingungen aus den jeweiligen Typen angewendet werden können, nur für die jeweilige Regel relevant (Abbildung 4).
In Altium Designer und seinen jeweiligen Unterversionen gibt es eine Funktion mit der Bezeichnung "Test Queries", um sicherzustellen, dass die Regeln in Abfragen, die bestimmte Objekte isolieren, bei der DRC tatsächlich auf die entsprechenden Bereiche des Designs angewendet werden. Dies ist für Nutzer sehr praktisch, da dadurch schneller überprüft werden kann, ob die Regel für bestimmte Objekte tatsächlich angewendet wird oder nicht.
Im Ergebnis der Testabfrage wird die spezifische Regel angezeigt, die angewendet wird, sowie die Anzahl der Objekte, die als Ergebnis angewendet werden. Die Funktion "Expression and rule priority" zeigt an, dass einige Bereiche der Regel nicht angewendet werden, weil eine andere Regel, die nicht notwendigerweise im Konflikt steht, eine höhere Priorität hat. Diese Funktion können Sie unter Design >> Rules im Leiterplatteneditor aufrufen, wo sich die Schaltfläche im oberen rechten Bereich jeder einzelnen Regel befindet. Diese Funktion kann auf unäre und binäre Regeln angewendet werden.
Anwender, die nur auf vordefinierte Regelklassen zurückgreifen, um Regeln für ihre Projekte zu generieren, realisieren im Allgemeinen nicht das Potenzial von Abfragen. Mit Abfragen können Sie Zeit und Geld sparen und Fehler begrenzen, wenn sie Ihre Projekte an die Hersteller zur Montage freigeben. Abfragen bieten grundsätzlich mehr Möglichkeiten, um mehrere Objektklassen und ihre jeweiligen Unterklassen zu verwenden. Dadurch kann ein bestimmtes Objekt im Design auf eine bestimmte Regel angewendet werden, ohne dass alle Objekte auf diese Regel angewendet werden müssen. Die Faustregel lautet also: Verwenden Sie beim Erstellen von Regeln zielgerichtete Abfragen!