-
Diese Erfindung bezieht sich auf die Überprüfung, daß alle Anschlüsse
eines elektrischen Bauelementes, die in die Löcher einer Leiterplatte
eingesteckt werden sollen, tatsächlich richtig eingesteckt wurden.
-
DE-A-33 46 822 offenbart ein System zur Überprüfung des richtigen
Einsteckens von Anschlüssen eines elektronischen Bauelementes in eine
Leiterplatte. Das System enthält ein photoempfindliches Element für
jeden zu ermittelnden Anschluß. Die Elemente sind angeordnet, um
einen bestimmten Wert anzuzeigen, wenn der entsprechende Anschluß
vorhanden ist.
-
In der GB-PS 2 184 538, die nach dem Prioritätstag der vorliegenden
Erfindung veröffentlicht wurde, wird ein System beschrieben, zum
Erkennen von bis zu 20 Anschlüssen eines DIP-Baulementes, das von einer
Bauelemente-Einsteckmaschine durch die Löcher einer Leiterplatte
eingesteckt wurde unter Verwendung einer entfernt angeordneten Kamera.
Die Kamera hat eine Vielzahl von photoempfindlichen Binärelementen,
die in horizontalen und vertikalen Reihen angeordnet sind, um eine
zweidimensionale Matrix festzulegen. Das System umfaßt die Festlegung
von "Fenstern" innerhalb der Matrix, in dem das Bild eines Anschlusses
erfaßt werden sollte. Beispielsweise sind die "Fenster" Quadrate von 15
x 15 Elementen und ein Bild soll die gesamte Höhe eines Fensters und
eine Breite von etwa sechs Elementen einnehmen. Das System
untersucht jedes Fenster, indem es jede horizontale Reihe nach zwei
aufeinanderfolgenden Elementen, die ein Bild erfassen, untersucht und, wenn
10 aufeinanderfolgende Reihen zwei solche aufeinanderfolgende Elemente
haben, wird angenommen, daß ein Anschluß vorhanden ist. Wo jedoch
mehr Anschlüsse vorhanden sind, so daß die Größe des "Fensters"
verkleinert werden muß, ist dieses System nicht ausreichend genau.
-
Es ist eine Aufgabe der vorliegenden Erfindung, ein verbessertes System
zur Überprüfung der richtigen Einsteckung von Anschlüssen zur
Verfügung zu stellen.
-
Die Erfindung stellt ein System zur Überprüfung der richtigen
Einstekkung der Anschlüsse eines elektronischen Bauelementes, wie eines DIP
in eine Leiterplatte vor der Befestigung der Anschlüsse an die Platte zur
Verfügung, das aufweist:
-
eine Kameraeinrichtung mit einer Vielzahl von photoempfindlichen
Binärelementen, angeordnet in horizontalen und vertikalen Reihen, um
eine zweidimensionale Matrix festzulegen, wobei diese Elemente so
angeordnet sind, daß sie einen Wert ausgeben, wenn der Anschluß
vorhanden ist und das Bild des Anschlusses darauf fällt und daß sie einen
anderen Wert ausgeben, wenn das genannte Bild darauf nicht vorhanden
ist, und
-
Einrichtungen, die so angeordnet sind, um festzustellen, ob jeder der
Bauelementeanschlüsse vorhanden ist durch Untersuchen einer Menge von
diskreten Fenstern der photoempfindlichen Elemente, wobei je ein
Fenster mit jedem Anschluß verknüpft ist, wovon jeder Anschluß eine
Vielzahl von aufeinanderfolgenden horizontalen Reihen der Elemente und
eine Vielzahl von aufeinanderfolgenden vertikalen Reihen der Elemente
hat, wobei die genannte Festlegeeinrichtung derart angeordnete
Einrichtungen aufweist, um festzustellen, ob eine der Reihen der
photoempfindlichen Elemente innerhalb eines Fensters oder einer Kombination
einer ausgewählten Anzahl der vertikalen Reihen von photoempfindlichen
Elementen innerhalb eines Fensters eine vorher festgelegte Anzahl von
aufeinanderfolgenden Elementen aufweist, die einen Wert haben, der
anzeigt, daß ein Anschluß vorhanden ist.
-
In einem System gemäß Anspruch 1 können Bilder von Anschlüssen, die
nur Teile von angrenzenden vertikalen Reihen in einem "Fenster"
einnehmen, erfaßt werden.
-
Eine bevorzugte Ansführungsform der Erfindung ist unten beschrieben
mit Bezug auf die begleitende Zeichnung.
-
In der Zeichnung zeigen:
-
Fig. 1 eine perspektivische Ansicht einer Kamera, die auf die
Unterseite einer Leiterplatte in einer Bauelemente-Einsteckmaschine
gerichtet ist;
-
Fig. 2 eine Vorderansicht der Kamera, die auf die Unterseite der
Leiterplatte gerichtet ist;
-
Fig. 3 eine Nahansicht eines Bauelementes, das Anschlüsse hat, die
nach unten durch die Leiterplatte reichen;
-
Fig. 4 ein Blockdiagramm eines Systems, das mit der Kamera und
verschiedenen anderen Elementen einer
Bauelemente-Einsteckmaschine in Verbindung steht;
-
Fig. 5 das Bildfeld der Kamera, das von dem System nach Fig. 4
analysiert werden soll;
-
Fig. 6A & 6B den Gesamtbetrieb eines zweiten Zentralprozessors, der im
System nach Fig. 4 verwendet wird, der die Bildanalyse ausfürt;
-
Fig. 7A bis 7F den Betrieb des zweiten Zentralprozessors bei der Ausführung
eines Betriebsmodus-Programms; und
-
Fig. 8 einen Bitmuster-Maskenvergleich, der innerhalb des
Betriebsmodus-Programms von Fig. 7A bis 7F ausgeführt wird.
-
Bezugnehmend auf Fig. 1 wird ein elektrisches Bauelement 10 von einem
Paar Fingergreifern 12 und 14 gehalten, die Teil eines Einsteckkopf-
Mechanismus in einer Bauelemente-Einsteckmaschine sind. Die
Bauelemente-Anschlüsse werden teilweise in die passenden Löcher in der
Leiterplatte 16 eingesteckt, und ein Drückerelement 18 wird sich nach
unten bewegen, um die Anschlüsse in die Löcher der Leiterplatte
vollständig einzustecken (ein Paar Säulen 20 und 22 wird die Leiterplatte
stützen, wenn das Drückerelement 18 das Bauelement 10 aufsetzt).
-
Die Lichtquelle 26 ist auf der gegenüberliegenden Seite des Schneide-
und Klammermechanismus 28 und unmittelbar unter dem Stütztisch 29
(Fig. 2) für die Leiterplatte angeordnet. Die Anordnung der Lichtquelle
26 bezüglich der Anschlüsse des Bauelements erlaubt die Projektion eines
passend beleuchteten Bildes auf die Linse der Kamera 24.
-
Die Elektronik in der Kamera 24 schließt vorzugsweise diskrete
lichtempfindliche Elemente ein, wobei jedes ein Pixel von Informationen
erzeugt, das eine Auflösung von etwa 6/1000 Inch (1 Inch = 2,54 cm)
aufweist (eine minimale Breite eines eingesteckten Anschlusses, der nur
18/100() Inch betragen darf).
-
Das Bauelement darf bis zu 40 Anschlüsse aufweisen, wobei 20
Anschlüsse von jeder Längsseite des Bauelements sich nach unten
erstrekken. Die von der Kamera 24 abgewandte lange Seite des Bauelements
wird so gesehen, daß sie den Bauelementeanschluß 30 aufweist, der sich
davon nach unten erstreckt, wohingegen die lange Vorderseite des
Bauelements so geseben wird, daß sie den Bauelemente-Anschluß 31
aufweist, der sich davon nach unten erstreckt. Bezugnehmend auf Fig, 2
soll angemerkt werden, daß der Abstand der Anschlüsse 30 und 31 von
der Kamera geringfügig variieren wird in Abhängigkeit von der Breite
des Bauelementes.
-
Gemäß der hier verwendeten Verfahrensweise zum Zählen von
Anschlüssen wird Anschluß 30 der erste zu zählende Anschluß sein, wohingegen
Anschluß 31 der zweite sein wird. Der dritte zu zählende Anschluß
wird der Anschluß sein, der entlang der Rückseite des Bauelementes am
Anschluß 30 angrenzt, wohingegen der vierte zu zählende Anschluß der
Anschluß sein wird, der entlang der Vorderseite des Bauelements am
Anschluß 31 angrenzt. Aufeinanderfolgende Anschlußzählungen sind in
Fig. 3 mit den "LC"-Bezugsnummern angezeigt.
-
Bezugnehmend auf Fig. 4 werden darin zwei separate Computersysteme
dargestellt bezüglich bestimmter vorher beschriebener Elemente von Fig.
1. Insbesondere ist ein Maschinensteuersystem 32 dargestellt bezüglich
bestimmter Elemente der Bauelemente-Einsteckmaschine beschrieben in
Fig. 1, wohingegen ein Bildanalysesystem 34 dargestellt ist bezüglich der
Kamera 24. Jedes System weist eine Zentralprozessoreinheit auf, wie
CPU 36 für das Maschinensteuersystem und CPU 38 für das
Bildanalysesystem. Diese Zentralprozessoreinheiten sind vorzugsweise Intel 8080
Mikroprozessoren, die über eine Schnittstelle mit Direktadressierspeichern
40 und 42 über Intel Multibusschalttechnik 44 und 46 angeschlossen sind.
Die Zentralprozessoreinheiten 36 und 38 kommunizieren miteinander
über eine Mehrfachleitungs-Datenbank 48. Bezugnehmend auf das
Bildanalysesystem 34 adressieren die Zentralprozessoreinheiten 36 und 38
eine Kameraschnittstelleneinheit (CIU) 50 über den Multibus 46. Die
CIU 50 ist vorzugsweise eine Standardschnittstelle für eine
ladungsgekoppelte Vorrichtungsart einer monolithischen Kamera. Solche
Vorrichtungen sind erhältlich von verschiedenen Analog- bis
Digitalproduktherstellern, zum Beispiel Data Cube Inc. in Peabody, Massachusetts. Eine
bestimmte Kameraschnittstelleneinheit von Data Cube, die benutzt werden
kann, ist eine VG-132. Die Kamera 24 mit ladungsgekoppelten
Bausteinen ist mit der Kameraschnittstelleneinheit 50 über eine Leitung 52
verbunden, die eine Standard-RS-170-Leitung ist. Nach Erhalt einer
Zulassung vom Zentralprozessor 38 wird die Kameraschnittstelleneinheit
50 automatisch fortfahren, um nach einem Synchronisationssignal von der
Kamera auf der Leitung 52 zu suchen. Die CIU wird danach
binärcodierte Informationen speichern, die eine Matrix von einer Anzahl 384
horizontaler x 242 vertikaler Pixel festlegt. Diesbezüglich wird die
Kameraschnittstelleneinheit ein analoges Signal lesen, daß das
Spannungsniveau von jedem Pixel darstellt. Die Kameraschnittstelleneinheit 50
wird willkürlich einen Binärwert zuweisen zu dem dann gelesenen Signal,
basierend auf einem vorbestimmten Schwellenwert, der jenen, welches als
hell (binär 0) angesehen werden soll, von jenem teilt, das als dunkel
(binär 1) angesehen werden soll. Die sich ergebenden Pixel-Bits werden
in einem internen Speicher der Kameraschnittstelleneinheit 50 gespeichert
zur späteren Benutzung durch die Zentralprozessoreinheit 38. Die CIU
50 ist mit einer RS-170-Ausgangsleitung 54 mit einem Monitor 56
verbunden.
-
Bezugnehmend auf Fig. 5 wird ein X-, Y-Koordinatensystem aufgestellt,
das den Ort eines jeden Pixels innerhalb der vorgenannten Matrix von
384 x 242 Pixeln festlegt.
-
Die Anordnung der Adresse innerhalb der CIU 50 für jedes gespeicherte
Pixel-Bit, das einem Pixel entspricht, das sich an einer der vier Ecken
der Matrix von Pixeln befindet, ist auch in Fig 5 gezeigt. Demgemäß
sind die Anordnungen der Adressen für adressierbare 8-Bit-Bytes von
Informationen, die in einem Direktadressierspeicher in der CIU 50
gespeichert sind, angezeigt. Das erste 8-Bit-Byte mit einer
CIU-Speicheradresse von 0 enthält als sein höchstwertiges Bit das Pixel-Bit
entsprechend dem Pixel, das sich bei X = 0 und bei Y = 241 befindet. Da
es 384 Pixel-Bits in einer Reihe gibt, wird es 48 Bytes von
Informationen in einer gegebenen Reihe geben. Die Speicheradresse von 47 wird
damit das letzte adressierbare Byte in der Reihe Y = 241 festlegen, und
das niedrigstwertige Bit dieses adressierbaren Bytes wird dem Pixel-Bit
für das Pixel entsprechen, das die Koordinatenposition von X = 383 und
Y = 241 einnimmt. In einer ähnlichen Weise wird das adressierbare
Byte, das das Pixel-Bit für das Pixel, das sich bei X = 0 und Y = 0
befindet, enthält, eine Speicheradresse von 11568 aufweisen, wohingegen
die CIU-Speicheradresse für X = 383 und Y = 0 11615 sein wird. Es
soll vom obigen bemerkt werden, daß eine Adresse berechnet werden
kann für das erste Byte von Informationen innerhalb einer gegebenen
Reihe von Bits, die durch die Y-Koordinate festgelegt ist, auf folgende
Weise: Speicheradresse = 48 (241-Y).
-
Eine Menge von Fenstern bezeichnet W&sub1; bis W&sub4;&sub0; ist in Fig. 5 dargestellt
bezüglich dem X-, Y-Koordinatensystem. Es kann erkannt werden, daß
jedes Fenster eine bestimmte Xi-, Yi-Koordinate aufweist, die die linke
Ecke des Fensters festlegt. Der Ort von jedem Fenster, wie festgelegt
durch seine entsprechende Xi-, Yi-Koordinate, sollte mit einem Anschluß
der maximalen Größe von Bauelement 10 nach Fig. 3 übereinstimmen.
Demgemäß sollte ein Teil von jedem der Anschlüsse mit
Anschlußnummer LC&sub1; bis LC&sub4;&sub0; in Fig. 3 innerhalb eines entsprechenden Fensters Wi
erscheinen.
-
Wie vorher besprochen worden ist, wird jedes Fenster Wi eine
Koordinate Xi, Yi für die linke Ecke aufweisen. Diese Koordinaten sind
anfänglich in einer Tabelle von Koordinatenwerten festgelegt als eine
Menge von Koordinaten für jede entsprechende Fensterindexnummer.
Die anfänglichen Koordinaten sind derart, daß die Fenster relativ zur
Mitte der Sichtweite der Kameralinse in Abständen verteilt sind, so daß
eine Kamera, die entlang der Mittellinie von Fig 2 befestigt ist, ein Bild
der Anschlüsse, die innerhalb der Fenster fallen, erzeugen sollte.
-
Jedes Fenster mit seinen bestimmten Koordinatenwerten ist vorzugsweise
acht Pixel-Orte breit und 8 Pixel-Orte hoch. Die Lage des Anschlusses
sollte von oben bis unten des Fensters reichen. Die Breite des
Anschlusses von 18/1000 sollte drei dunkle Pixel entlang der horizontalen
Fensterbreite erzeugen. Es soll jedoch angemerkt werden, daß die
Kanten der Anschlüsse für die Kamera grau erscheinen können aufgrund
der weißen Hintergrundbeleuchtung. Dies kann zu weniger als drei
dunklen Pixeln führen, die sich entlang einer gegebenen horizontalen
Breite eines Fensters befinden. Die CIU 50 kann daher nur ein Pixel-
Bit als eine binäre 1 codiert haben, um ein echtes dunkles Pixel
anzuzeigen, das von der Kamera 24 erzeugt worden ist. Die gespeicherten
Pixel-Bbits für einen gegebenen Anschluß für ein gegebenes Fenster
können daher aus einer dünnen Anschlußbild von oben bis unten
bestehen, wobei sie möglicherweise nur ein richtig codiertes Binär-Eins-Pixel-
Bit über die Breite pro Anschlußbreite enthält. Bezugnehmend auf das
Bildanalysesystem 34 in Fig. 4 kann erkannt werden, daß die
Zentralprozessoreinheit 38 über einen Bus 58 mit einem Terminal 60
kommuniziert. Der Bus 58 ist vorzugsweise ein Dreileitungsbus, der normale
acht Bit ASCII codierte Kommunikationen mit der
Zentralprozessoreinheit 38 erlaubt.
-
Bezugnehmend auf das Maschinenkontrollsystem 32 addressiert die
Zentralprozessoreinheit 36 eine bestimmte Eingangs-/Ausgangsfunktion einer
Eingangs-/Ausgangsschaltung (I/O) 62 über den Multibus 44. Auf diese
Weise überwacht und/oder steuert die Zentralprozessoreinheit 36
bestimmte Funktionen der Bauelemente-Einsteckmaschine.
-
Die erste zu überwachende Maschinensteuerfuktion ist jene eines
Schalters 64, der umschaltet, wenn das Drückerelement 18 sich in seine
untere Position gegen das Bauelement 10 bewegt. Ein
druckempfindlicher Schalter 66 stellt auch ein Signal an die I/O-Schaltung 62 zur
Verfügung. Demgemäß überwacht der druckempfindliche Schalter 66 den
Druck in einer pneumatischen Leitung 68, die mit dem pneumatischen
Treiber für das Drückerelement 18 verbunden ist. Es kann erkannt
werden, daß die Eingangs-/Ausgangsschaltung 62 auch mit einem Schalter
70 verbunden ist, der umschaltet, wenn die Greifer 12 und 14 sich in
die untere Position bewegen, um das Bauelement 10 bezüglich der Platte
16 zu positionieren. Es kann auch erkannt werden, daß die Eingangs-
/Ausgangsschaltung 62 mit einem Schalter 71 verbunden ist, der
umschaltet, wenn der Schneide- und Klammermechanismus 28 sich aufwärts
an die Stelle bewegt hat, um die Anschlüsse zu schneiden und zu
klammern.
-
Die I/O-Schaltung 62 ist auch mit verschiedenen magnetgesteuerten
Ventilen verbunden, die die pneumatischen Drücke an den verschiedenen
Maschinenelementen steuern. Demgemäß stellt eine Leitung 72 ein
Steuersignal an ein magnetgesteuertes Ventil zur Verfügung, das mit dem
pneumatischen System für das Drückerelement 18 verbunden ist. Eine
Treiberleitung 74 stellt ein Steuersignal an ein magnetgesteuertes Ventil
zur Verfügung, das mit dem pneumatischen System für den Bauelemente-
Einsteckkopf verbunden ist, der die Greifer 12 und 14 einschließt. Eine
Leitung 76 stellt ein Befehlssignal an ein magnetgesteuertes Ventil zur
Verfügung, das mit einem pneumatischen Treiber für die Stützen 20 und
22 verbunden ist. Schließlich wird ein Befehl über eine Leitung 78 an
ein magnetgesteuertes Ventil ausgegeben, das mit dem pneumatischen
Treiber zum Anheben des Schneide- und Klammermechanismus 28
verbunden ist.
-
Bezugnehmend auf Fig. 6A ist ein Flußdiagramm der anfänglichen
Schritte des Bildanalyseprozessors dargestellt. Der Prozeß beginnt mit
den Schritten 300 bis 304, in denen bestimmte Informationen anfänglich
in den Speicher 42 gelesen werden. In der bevorzugten Ausführungsform
jedoch wird diese Information von einem Nur-Lese-Speicher gewonnen,
der mit der CPU 38 verbunden ist. Dieser Speicher wird lediglich
adressiert, und die Informationen werden danach über den Multibus 46
zum Speicher 42 übertragen.
-
Schritt 300 bezieht sich auf das Zugreifen und Speichern von einer
Fensterkorrelationstabelle (eine Kreuzkorrelation zwischen
Anschlußnummer und Fensterindexwert). Schritt 302 bezieht sich auf das Lesen eines
Schwellenwertes von der CIU 50. Dieser legt fest, welcher analoge
Spannungspegel von der Kamera 24 benutzt werden soll als
Übergangspunkt zwischen einer hellen und einer dunklen Bildbedeutung. Höher
als der Schwellenwert wird von der CIU 50 als hell oder binär 0
interpretiert werden.
-
Schritt 304 beinhaltet das Einlesen einer "M"-Maskentabelle in den
Speicher. Diese Tabelle besteht aus einer Anzahl von acht Bitmasken, die
nacheinander an bestimmte Bitfolgen von Informationen angelegt werden
sollen in einer Weise, die im Detail im nachfolgenden beschrieben
werden wird.
-
Im folgenden Schritt 308, der in Fig. 6B erscheint, erwartet der
Zentralprozessor 38 eine Bildbestätigungskommunikation von der CPU 36 über
den Bus 48. Wenn eine Bildbestätigung erhalten ist, verfolgt der
Zentralprozessor 38 den "JA"-Pfad zu einem Schritt 310 und liest die Breite
und Anschlußinformationen, die das Bauelement identifizieren, dessen
Anschlüsse eingesteckt worden sind. Der Zentralprozessor 38 speichert
danach die Anschlußinformationen als einen numerischen Wert in der
Software-Variablen "ANSCHLÜSSE GESAMT" in Schritt 312. Der
Zentralprozessor liest ebenso die Tabelle von Xi-, Yi-Koordinatenwerten für
die identifizierte Breite des Bauelements in einem Schritt 314. Die
Tabelle von Xi, Yi-Koordinaten werden die Koordinatenwerte für jedes
Fenster Wi sein. Der Zentralprozessor 38 schreitet nun zu Schritt 316
fort und übergibt an ein Betriebsmodusprogramm.
-
Bezugnehmend nochmals auf Schritt 308 erwartet im Fall, daß eine
Bildbestätigung nicht erhalten ist, die Zentralprozessoreinheit 38 lediglich
eine Tastatureingabe vom Terminal 60 in einem Schritt 318. In dem
Fall, daß eine Tastatureingabe gemacht ist, übergibt die
Zentralprozessoreinheit 38 an ein Diagnoseprogramm in einem Schritt 320.
-
Nach irgendwelchen Einstellungen, die an den Fenstern von Fig. 5
notwendig sein können, wird die Zentralprozessoreinheit 38 durch den
Wiedereintrittspunkt A zurückkehren und eine Bildbestätigung in Schritt
308 erwarten. Die Zentralprozessoreinheit 38 wird dann an ein
Betriebsprogramm übergeben.
-
Bezugnehmend auf Fig. 7A beginnt das Betriebsmodusprogramm mit
einem Schritt 400, worin der Schwellenwert (anfänglich gespeichert in der
Softwarereferenz "T" in Schritt 304) an die CIU 50 übermittelt wird.
Jede so charakterisierte Pixel-Spannung wird gespeichert entweder als
eine binäre 1 (dunkel) oder binäre 0 (hell) in Schritt 402. Die
Zentralprozessoreinheit 38 schreitet zu einem Schritt 404 fort und erwartet den
Abschluß dieser Speicherung. Dies wird an die Zentralprozessoreinheit
38 durch ein Statussignal von der CIU 50 angezeigt werden. Zu diesem
Zeitpunkt wird es eine vollständige Speicherung der gesamten Matrix von
384 x 242 Pixel-Bits in einem Direktadressierspeicher innerhalb der CIU
50 geben. Diese Pixel-Bits werden im CIU-Speicher als adressierbare
Bytes gespeichert, gemaß dem Adressierungsschema, das vorher bezuglich
Fig. 5 erklärt wurde. Nach der Speicherung des binärcodierten Bildes
in Pixel-Bit-Form, schreitet die Zentralprozessoreinheit 38 zu Schritt 406
fort und setzt die Fensterindexvariable "I" gleich 1. Die
Zentralprozessoreinheit 38 schreitet dann zu Schritt 407 fort und setzt die
"ANSCHLUSSNUMMER"-Variable gleich 1. Die Zentralprozessoreinheit 38
schreitet jetzt zu einem Schritt 408 fort und setzt einen Fensterreihen-
Matrixindex "J" gleich 1. Es soll bemerkt werden, daß dieser Index
immer gleich 1 gesetzt werden wird, wenn die Zentralprozessoreinheit
zum Schritt 408 über einen Rückkehrpunkt B zurückkehrt. Die
Zentralprozessoreinheit 38 schreitet von Schritt 408 zu einem Schritt 410 fort
und erhält die Xi- und Yi-Koordinaten für den momentanen Wert der
Fensterindexvariablen "I". Da diese Variable anfänglich dem Schritt 408
gleich 1 gesetzt ist, wird der erste Durchlauf durch Schritt 410 dazu
führen, daß die Koordinaten X&sub1; und Y&sub1; erhalten werdend. Diese
Koordinaten werden in Schritt 412 gespeichert. Die Zentralprozessoreinheit
38 schreitet nun zu einem Schritt 414 fort und berechnet eine
"BASISADRESSE" unter Verwendung des Koordinatenwertes von Yi (das erste
adressierbare Byte in irgendeiner gegebenen Y-Reihe in Fig. 5). Die
Zentralprozessoreinheit 38 schreitet nun zu einem Schritt 416 fort und
dividiert den Xi-Koordinatenwert durch 8 und sichert sowohl den
Dividenden "D" als auch den Rest "R" dieser Divisionsoperation. In Schritt
417 ist ein Fensterreihen-Matrixindex "K" gleich 1 gesetzt. Der Dividend
"D" wird danach zur "BASISADRESSE" addiert und als eine
"MOMENTANE ADRESSE" in Schritt 418 gesichert. Die Zentralprozessoreinheit
38 schreitet nun zu Schritt 420 fort und liest das adressierbare Byte von
Informationen von der au 50 wie von der momentanen Adresse
festgelegt. Dieses Byte von Informationen wird als "Byte 1" gesichert. Die
Zentralprozessoreinheit 38 schreitet nun zu Schritt 422 in Fig. 7B fort
und erhöht den Wert der momentanen Adresse um 1. Das adressierbare
Byte in der CIU, das durch die nun erhöhte Adresse festgelegt ist, wird
als "Byte 2" gespeichert. Es soll anerkannt werden, daß die Schritte 418
bis 422 zwei Bytes von Informationen im CIU-Speicher angeordnet
haben, die die Pixel-Bits für die unterste Reihe von Pixeln im ersten
Fenster W&sub1; enthalten. Es verbleibt daher, die besonderen acht Pixel-Bits
von den Bytes, die als Byte 1 und Byte 2 identifiziert sind, zu isolieren.
Das Herausholen der bedeutsamen Pixelebits von diesen zwei Bytes
beginnt mit Schritt 424, worin die Bits von Byte 1 beginnend mit
Bitposition 7-R herausgeholt werden. Dieses ignoriert in effektiver Weise
irgendwelche Bits in Byte 1, die kein Pixel-Bit innerhalb des Fensters
sind. Jedes herausgeholte Bit wird als besonderes Bit in einer
Fensterbitmatrix Bjk gespeichert. Im besonderen wird das erste
herauszuholende Bit in Schritt 424 als ein Bit B&sub1;&sub1; gespeichert werden, wohingegen
das zweite herausgeholte Bit als ein Bit B&sub1;&sub2; gespeichert werden wird.
Dieses wird andauern bis das Bit von Byte 1 entsprechend Bitposition 0
als ein Bit in der Fensterbitmatrix gespeichert ist. Es soll bemerkt
werden, daß, wenn "R" gleich Null ist, dann alle acht Bit von Byte 1 als
eine Reihe von Bits in der Fensterbitmatrix gespeichert worden sein
werden. In diesem Fall wird die Zentralprozessoreinheit 38 durch Schritt
426 zu Schritt 428 schreiten und eine neue Basisadresse für die nächste
Reihe von Bits berechnen. Die Zentralprozessoreinheit 38 wird
andernfalls zu einem Schritt 430 fortschreiten und die Bits aus Byte 2
herausholen, die bei Bitposition 7 beginnen und bis Bitposition 8-R reichen.
Die damit herausgeholten Bits werden als die letzten verbleibenden Bits
in der besonderen Reihe von Bits der Fensterbitmatrix gespeichert, die
gerade gebildet wird. Mit anderen Worten, wird das letzte Bit, das von
Byte 2 herauszuholen ist, Bit B&sub1;&sub8; in der Fensterbitmatrix werden. Die
Zentralprozessoreinheit 38 wird nun zu Schritt 428 fortschreiten und eine
neue Basisadresse für die nächste Reihe von Pixel-Bits berechnen, die
nach besonderen Fensterbits untersucht werden sollen. Die
Zentralprozessoreinheit 38 wird dann zu Schritt 432 fortschreiten und den
Fenstermatrix-Reihenindex "J" um 1 erhöhen. Dies wird den nächsten
herausgeholten Bits von Byte 1 und 2 ermöglichen, in Reihe 2 der
Fensterbitmatrix gespeichert zu werden. Dies tritt ein, wenn der
Zentralprozessor 38 durch Schritt 434 zurück durch den Wiedereintrittspunkt C
zu Schritt 418 in Fig. 7A fortschreitet und nochmals die entsprechenden
Adressen für die Bytes 1 und 2 in den Schritten 420, 422 berechnet und
danach die entsprechenden Fensterbits in den Schritten 424, 426 und 430
herausholt. Die entsprechende Reihe von Bits innerhalb der
Fensterbitmatrix Bjk ist durch die nochmalige Iteration dieser Schritte bis zu und
einschließlich der Bildung der Reihe 8 gebildet. An dieser Stelle
schreitet der Zentralprozessor 38 durch Schritt 434 zu Schritt 436 fort.
-
Bezugnehmend auf Schritt 436 wird die Fensterbitmatrix gedreht, so daß
jede vorher gebildete Spalte von Fensterbits eine entsprechend numerierte
Reihe in einer gedrehten Fensterbitmatrix wird. Auf diese Weise wird
die erste Spalte von Bits der vorher gebildeten Fensterbitmatrix die erste
Reihe in der gedrehten Matrix werden, wohingegen die achte Spalte die
achte Reihe werden wird. Der neue gedrehte Spalten- oder Reihenindex
ist "L". Der Index "L" ist in Schritt 438 gleich 8 gesetzt und die acht
transponierten Bits, die die Reihe acht der gedrehten Fensterbitmatrix
ausmachen, werden in Schritt 440 geholt. Der Zentralprozessor 38
schreitet nun zu Schritt 442 fort, worin die acht transponierten Bits
nacheinander mit Bitmustermasken verglichen werden, die in einer "M"-
Maskentabelle von Fig. 8 dargestellt sind. Bezugnehmend auf Fig. 8 soll
bemerkt werden, daß jede der Bitmustermasken ein Bitmuster festlegt,
das wenigstens sechs aufeinanderfolgene Binär-Eins-Bits aufweist. Im
Falle, daß die geholten Bits sich mit irgendeiner dieser Masken
vergleichen lassen, wird der Zentralprozessor zu einem Schritt 444 in Fig.
7D fortschreiten und setzt ein Testkennzeichen "Fj" gleich 1, um
anzuzeigen, daß wenigstens eine gedrehte Spalte der Fensterbits von der
Fensterbitmatrix Bjk gefunden worden ist, die wenigstens sechs
aufeinanderfolgende Binär-Eins-Bits aufweist Da das Testkennzeichen "Fi" selbst
mit dem Fensterindex "I" indexiert ist, wird das besondere
Testkennzeichen spezifisch zum dann zur Untersuchung stehenden Fenster sein.
Nochmals bezugnehmend auf Schritt 442 im Falle, daß die besonderen
geholten Bits von Schritt 440 keine sechs aufeinanderfolgenden Binär-
Eins-Bits enthalten, wird der Zentralprozessor 38 dann zu einem Schritt
446 fortschreiten und den Index "L" erniedrigen. Dieser durch die
Schritte 440, 442 und 446 festgelegte Vorgang wird nochmals wiederholt
werden aufgrund von Schritt 448. Die nächste gedrehte Spalte von
Fensterbits, angezeigt durch das neue "L" wird geholt und mit den "M"
Masken verglichen werden. Diese nochmalige Iteration wird fortgesetzt
werden bis entweder eine gedrehte Spalte gefunden ist, die sechs
aufeinanderfolgende Binär-Eins-Bits aufweist oder alle acht gedrehten Spalten
untersucht worden sind. Im letzteren Fall wird der "L" Index bis Null
erniedrigt worden sein, was den Zentralprozessor veranlaßt, durch Schritt
448 zu Schritt 450 fortzuschreiten, worin der Index "L" wieder gleich 8
gesetzt wird. Der Zentralprozessor holt jetzt sowohl die gedrehte Spalte
von Fensterbits, die durch "L" in einem Schritt 452 identifiziert sind, als
auch die nächste gedrehte Spalte von Fensterbits, die durch "L-1" in
einem Schritt 454 identifiziert sind. Diese beiden aufeinanderfolgend
geholten gedrehten Spalten von acht Bits werden nun in einem Schritt
456 einer logischen ODER-Operation unterworfen. Die resultierenden
acht Bits werden nun in einem Schritt 458 mit jeder der
Bitmustermasken in der "M"-Maskentabelle von Fig. 8 verglichen. Im Falle, daß die
resultierenden 8 Bits sechs aufeinanderfolgende Binär-Eins-Bits enthalten,
schreitet dann die Zentralprozessoreinheit sofort aus Schritt 458 zu
Schritt 444 in Fig. 7D über deren Wiedereintrittspunkt D fort. Dies
zeigt an, daß wenigstens zwei aufeinanderfolgende Spalten der
Fensterbitmatrix Bjk zusammengesetzt werden können, um eine kontinuierliche
Reihe von sechs aufeinanderfolgenden Binär-Eins-Bits zu zeigen. Mit
anderen Worten, wenn ein Binär-Eins-Bit von einer Bitposition in einer
Spalte der Fensterbitmatrix Bjk fehlt, aber an der entsprechenden
Bitposition der unmittelbar angrenzenden Spalte gefunden wird, wird die
logische ODER-Operatioan von Schritt 456 dann ein Binär-Eins-Bit in der
resultierenden 8-Bit-Reihe erzeugt haben, die mit den "M" Masken in
Fig. 8 verglichen wird. Dies wird eine "GUT" Bedingung darstellen, die
durch das Testkennzeichen "Fi" in Schritt 444 angezeigt wird. Nochmals
bezugnehmend auf Schritt 458 in Fig. 7E, wenn die resultierenden acht
Bit die in Schritt 456 gebildet wurden, keine kontinuierliche Reihe von
wenigstens sechs aufeinanderfolgenden Binär-Eins-Bit anzeigen, wird der
Index "L" dann in Schritt 460 erniedrigt und der Vorgang in den
Schritten 452, 454, 456 und 458 wird nochmals in einem Schritt 462 und
Wiedereintritt E wiederholt. Dieses tritt so lange auf, bis entweder
sechs aufeinanderfolgende Binär-Eins-Bits in zwei verknüpften
angrenzenden Spalten der Fensterbitmatrix gefunden sind oder der Index "L" auf
1 erniedrigt worden ist. Im letzteren Falle schreitet der Zentralprozessor
38 durch Schritt 462 zu einem Schritt 464 fort, und setzt das
Testkennzeichen "Fi" gleich Null, um eine "SCHLECHT" Bedingung anzuzeigen.
-
Es soll bemerkt werden, daß ungeachtet, ob das Testkennzeichen "Fi" in
Schritt 464 gleich Null gesetzt ist oder in Schritt 444 gleich Eins gesetzt
ist, die Zentralprozessoreinheit 38 immer von beiden Schritten zu einem
Schritt 466 in Fig. 7F fortschreiten wird.
-
Bezugnehmend auf Schritt 466 in Fig. 7F vergleicht die
Zentralprozessoreinheit 38 den momentanen Wert von "ANSCHLUSSNUMMER" mit
dem Wert von "ANSCHLÜSSE GESAMT". Diesbezüglich wird man sich
erinnern, daß "ANSCHLÜSSE GESAMT" in einem Schritt 312 als die
Anzahl von Anschlüssen für das Bauelement festgelegt ist, das gerade
eingesteckt wird. Man wird sich ebenso erinnern, daß die Software-
Variable "ANSCHLUSSNUMMER" anfänglich in einem Schritt 407 gleich
1 gesetzt ist. Da die meisten Bauelemente mehrere Anschlüsse haben
werden, wird der Zentralprozessor fortschreiten, um
"ANSCHLUSSNUMMER" in einem Schritt 468 zu erhöhen. Die erhöhte
"ANSCHLUSSNUMMER" aus Schritt 468 wird nun in einem Schritt 470 benutzt
werden, um das nächste Fenster festzulegen, das auf das Vorhandensein
oder Nichtvorhandensein eines Anschlusses untersucht werden soll.
Diesbezüglich wird der Zentralprozessor 38 zur Fensterkorrelationstabelle
schreiten und den Wert von "I" für die erhöhte
"ANSCHLUSSNUMMER" aus Schritt 468 lesen. Der Zentralprozessor 38 wird nun über
Rückkehrpunkt B zur Fig. 7A fortschreiten und den Fensterreihenindex
"J" in Schritt 408 gleich Eins initialisieren. Der Zentralprozessor wird
dann fortschreiten, um zu der Tabelle von Xi-, Yi-Koordinaten zu gehen,
und die Koordinaten für "I" ermitteln. Diese Koordinaten werden in
Schritt 412 gesichert und die "BASISADRESSE" für die Yi-Koordinate
wird in Schritt 414 berechnet. Die Xi-Koordinate wird in Schritt 416
durch 8 dividiert werden, und sowohl der Dividend "D" als auch der
Rest "R" werden gespeichert werden. Die zwei Bytes innerhalb der Xi-
Reihe werden dann identifiziert werden, und die acht Fensterbits
innerhalb dieser beiden Bytes werden herausgeholt werden und gleich der
ersten Reihe der neu angelegten Fensterbitmatrix Bjk gesetzt werden.
Nach dem Anlegen jeder Reihe der Fensterbitmatrix werden die Spalten
gedreht werden und auf sechs aufeinanderfolgende Binär-Eins-Bit in
irgendeiner Spalte oder in den resultierenden acht Bits untersucht werden,
die durch das Verknüpfen zweier angrenzender Spalten durch die
logische ODER-Operation von Schritt 456 gebildet werden. Das
Testkennzeichen "Fi" für das besondere gerade untersuchte Fenster wird entweder
in Schritt 444 gleich Eins gesetzt werden oder in Schritt 464 gleich Null
gesetzt werden, vor der Rückkehr zu Schritt 466 in Fig. 8F. Die
Zentralprozessoreinheit 38 wird durch die obigen Schritte fortfahren bis in
Schritt 466 die "ANSCHLUSSNUMMER" gleich "ANSCHLÜSSE
GESAMT" ist. Zu diesem Zeitpunkt wird der Zentralprozessor 38 zu
einem Schritt 472 in Fig. 8F fortschreiten und nochmals die
Software-Variable "ANSCHLUßNUMMER" gleich 1 setzen. Der Zentralprozessor 38
schreitet dann fort, um in einem Schritt 474 "I" gleich 1 zu setzen, und
erhält das besondere "Fi", das dem Wert von "I" in Schritt 476
entspricht. Der Wert des so erhaltenen "Fi" wird in einem Schritt 478 auf
eine Ausfallbedingung überprüft. Im Falle, daß das gerade untersuchte
"Fi" einen Wert von 0 aufweist, wird der Zentralprozessor 38 sofort an
einen Schritt 480 übergeben und ein "SCHLECHT"-Signal an den
Zentralprozessor 36 übermitteln. Auf der anderen Seite, wenn ein gegebenes "Fi"
gleich 1 ist, wird der Zentralprozessor zu einem Schritt 482 fortschreiten
und überprüfen, ob "ANSCHLUSSNUMMER" gleich "ANSCHLÜSSE
GESAMT" ist. Im Falle, daß die "ANSCHLUSSNUMMER" weniger als
"ANSCHLÜSSE GESAMT" verbleibt, wird der Zentralprozessor
fortschreiten, um die "ANSCHLUSSNUMMER" in einem Schritt 484 zu
erhöhen, und wird in Schritt 486 den momentanen Wert von "I" für die
erhöhte "ANSCHLUSSNUMMER" lesen. Das "Fi", das dem so erhöhten
Wert von "I" entspricht, wird im Schritt 476 erhalten werden und auf
Ausfall in Schritt 478 analysiert werden. Dies wird so lange auftreten,
bis zu der Zeit, wenn ein besonderes "Fi" gleich 0 ist oder bis die
"ANSCHLUSSNUMMER" gleich "ANSCHLÜSSE GESAMT" ist. Im
letzteren Falle wird der Zentralprozessor 38 von Schritt 482 an einen
Schritt 488 übergeben und eine "GUT" Meldung an den Zentralprozessor
36 senden.