-
Erfindungsgebiet
-
Die vorliegende Erfindung betrifft eine Sequenzprogramm-Erzeugungsvorrichtung.
-
Hintergrund der Erfindung
-
Im Allgemeinen wird ein Sequenzprogramm durch das graphische Anordnen ausbildender Elemente bzw. Teile eines Programms an einem Editorbildschirm unter Verwendung eines Programmeditors erzeugt. Ein Leiterprogramm, wobei es sich um ein derartiges Sequenzprogramm handelt, ist insbesondere durch Schaltungsblöcke konfiguriert. Die Schaltungsblöcke werden durch Anordnen von Schaltungselementen bzw. Schaltungsteilen (wie zum Beispiel Kontakten, Spulen, Anweisungen und funktionalen Blöcken) als die diesbezüglichen ausbildenden Elemente bzw. Teile an dem Editorbildschirm des Programmeditors erzeugt.
-
Zum Zeitpunkt des Editierens eines Leiterprogramms durch einen Programmeditor wird bei Bestimmung eines Suchobjekts eine Suche nach einem ähnlichen bzw. vergleichbaren Element bzw. Teil aus einem Menü ausgewählt, und es können dann Programmteile bzw. Programmelemente, die ähnlich bzw. vergleichbar zu dem Suchobjekt sind, an einem Suchanzeigebildschirm angezeigt werden. Wenn ein Nutzer ein beabsichtigtes Programmelement aus den angezeigten Suchresultaten auswählt und das ausgewählte Programmelement an einen Editor zieht und ablegt, werden die Programmelemente an dem Leiterprogramm angeordnet.
-
JP H05-61 509 A offenbart eine Technik, bei der eine Schaltung identifiziert wird, die Bedingungen und alle Schaltungselemente erfüllt, die in der gleichen Schaltung bestimmt sind, und die identifizierte Schaltung wird angezeigt.
-
US 2004/0 210 867 A1 beschreibt eine Sequenzprogrammänderungsvorrichtung zum einfachen Ersetzen von doppelten Signalnamen. Die Vorrichtung erkennt doppelte Signalnamen in einem verwendeten Sequenz-Programm und zeigt Positionen, die mit den Signalnamen verwendet werden, in der Form einer Liste an. Umzuschreibende Namen werden aus den Duplikaten ausgewählt und überprüft. Neue Signalnamen werden direkt eingegeben, und eine Signalnamen-Umschreibeanweisung wird eingegeben. Alternativ werden ein Suchbereich und eine Art der zuweisbaren Signalnamen bestimmt, indem Start- und Endadresse eingestellt werden. Wenn ein Ausführungsbefehl eingegeben wird, werden Signalnamen der bezeichneten Art automatisch extrahiert und als neue Namen eingegeben. Die anschließende Eingabe einer Signalnamen-Umschreibeanweisung ersetzt automatisch doppelte Signalnamen in den dafür vorgesehenen Stellen mit neu eingegebenen Signalnamen.
-
JP 2003-084 813 A offenbart ferner eine Kontaktplan-Bearbeitungsvorrichtung, mit der unter Verwendung einer Suchbedingung nach einer geeigneten Schaltung gesucht werden kann.
-
Zusammenfassung
-
Technisches Problem
-
In der herkömmlichen Technik wird jedoch eine Suche nicht durchgeführt, während berücksichtigt wird, ob die Schaltung eine logische oder graphische Ähnlichkeit aufweist. Es gibt daher einen Fall, bei dem, obwohl alle bestimmten Schaltungselemente und Bedingungen erfüllt sind, eine Schaltung als ein Suchresultat angezeigt wird, das logisch oder graphisch vollständig unterschiedlich ist. Eine Schaltung, die logisch oder graphisch ähnlich ist, bei der jedoch nicht alle bestimmten Schaltungselemente und Bedingungen erfüllt sind, wird andererseits nicht als Suchresultat angezeigt. Auf diese Art und Weise ist es in der herkömmlichen Technik schwierig, eine effektive Programmierumgebung unter verschiedenen Bedingungen bereitzustellen.
-
Die vorliegende Erfindung wurde angesichts der obigen Probleme erzielt und eine Aufgabe der vorliegenden Erfindung besteht in der Bereitstellung einer Sequenzprogramm-Erzeugungsvorrichtung, die nach einem Programmelement bzw. Programmteil unter Berücksichtigung logischer oder graphischer Ähnlichkeiten suchen kann.
-
Lösung des Problems
-
Zur Lösung der oben stehenden Probleme und zum Erfüllen der Aufgabe ist die vorliegende Erfindung eine Sequenzprogramm-Erzeugungsvorrichtung, die durch eine graphische Anordnung ausbildender Elemente eines Programms an einem Editorbildschirm ein Sequenzprogramm erzeugt, wobei die Sequenzprogramm-Erzeugungsvorrichtung umfasst: eine Suchobjektschaltungs-Bestimmungseinheit, die eine Suchobjektschaltung bestimmt; eine Suchbereichs-Bestimmungseinheit, die einen Suchbereich zum Suchen nach einer Schaltung bestimmt, die ähnlich zu der Suchobjektschaltung ist; eine Suchindex-Bestimmungseinheit, die zumindest eines von einer graphischen Ähnlichkeit zu der Suchobjektschaltung, einer logischen Ähnlichkeit zu der Suchobjektschaltung und einer Objektnamenähnlichkeit in Bezug auf die Suchobjektschaltung als einen Index in einem Prozess zum Berechnen einer Ähnlichkeit mit der Suchobjektschaltung bestimmt; eine Ähnlichkeitsberechnungseinheit, die eine Ähnlichkeit zu der Suchobjektschaltung, bestimmt durch die Suchobjektschaltung-Bestimmungseinheit, auf Grundlage des durch die Suchindex-Bestimmungseinheit bestimmten Indexes berechnet, für jede Schaltung, die in dem Suchbereich enthalten ist, der durch die Suchbereich-Bestimmungseinheit bestimmt wurde; eine Suchzielelement-Bestimmungseinheit, die bestimmt, ob die Ähnlichkeit gleich zu oder größer als ein vorbestimmter Schwellenwert ist, für jede Schaltung, für die die Ähnlichkeitsberechnungseinheit die Ähnlichkeit berechnet hat; und eine Suchresultat-Anzeigebildschirm-Anzeigeeinheit, die an einem Suchresultat-Anzeigebildschirm eine Schaltung anzeigt, deren Ähnlichkeit als gleich zu oder größer als der vorbestimmte Schwellenwert durch die Suchzielelement-Bestimmungseinheit bestimmt wurde.
-
Vorteilhafte Effekte der Erfindung
-
Die Sequenzprogramm-Erzeugungsvorrichtung gemäß der vorliegenden Erfindung weist einen Effekt auf, wonach es möglich ist, eine Suche nach einem Programmelement bzw. einem Programmteil unter Berücksichtigung logischer oder graphischer Ähnlichkeiten durchzuführen.
-
Kurze Beschreibung der Zeichnungen
-
1 ist ein Diagramm zur Darstellung der Konfiguration einer Sequenzprogramm-Erzeugungsvorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung.
-
2 ist ein Blockdiagramm der funktionalen Konfiguration eines Programmeditors.
-
3 ist ein Diagramm zur Darstellung eines Beispiels einer Suchobjektsschaltung.
-
4 ist ein Diagramm zur Darstellung eines Beispiels einer Suchzielschaltung.
-
5 ist ein Diagramm zur Darstellung eines weiteren Beispiels einer Suchzielschaltung.
-
6 ist ein Flussdiagramm zur Darstellung des Arbeitsablaufs eines Ähnlichen-Element-Suchprozesses, der durchgeführt wird durch die Sequenzprogramm-Erzeugungsvorrichtung gemäß der Ausführungsform.
-
7 ist ein Diagramm zur Darstellung eines Beispiels eines Bildschirms, der an einer Anzeigeeinheit während des Ähnlichen-Element-Suchprozesses angezeigt wird.
-
8 ist ein Diagramm zur Darstellung eines Beispiels eines Ähnlichen-Element-Suchbildschirms.
-
9 ist ein Diagramm zur Darstellung eines Beispiels eines Suchresultat-Anzeigebildschirms.
-
10 ist ein Flussdiagramm zur Darstellung des Ablaufs eines Prozesses einer Suche nach einem ähnlichen Element und einer Suchresultatanzeige der Sequenzprogramm-Erzeugungsvorrichtung gemäß der Ausführungsform.
-
Beschreibung der Ausführungsformen
-
Beispielhafte Ausführungsformen einer Sequenzprogramm-Erzeugungsvorrichtung gemäß der vorliegenden Erfindung werden im Folgenden detailliert mit Bezug auf die Zeichnungen erläutert. Die vorliegende Erfindung ist nicht auf die Ausführungsformen beschränkt.
-
Ausführungsform
-
1 ist ein Diagramm zur Darstellung der Konfiguration einer Sequenzprogramm-Erzeugungsvorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung. Eine Sequenzprogramm-Erzeugungsvorrichtung 100 gemäß der vorliegenden Ausführungsform ist derart konfiguriert, dass ein Computer 10 mit einer CPU (engl. Central Processing Unit) 11, einem ROM (engl. Read Only Memory) 12, einem RAM (engl. Random Access Memory) 13, einer Kommunikationseinheit 14, einer Eingabeeinheit 15, einer Speichereinheit 16 und einer Anzeigeeinheit 17 eine Software ausführt, und einen Programmeditor 20 an der CPU 11 ausbildet. Die CPU 11 führt ein Programm aus, das in dem ROM 12 oder der Speichereinheit 16 gespeichert ist, während der RAM 13 als ein Arbeitsbereich verwendet wird. Die Kommunikationseinheit 14 ist eine Kommunikationsschnittstelle zum Übertragen und Empfangen von Daten an und von einer externen Vorrichtung, und wird zum Zeitpunkt der Übertragung eines erzeugten Sequenzprogramms und zum Schreiben des Sequenzprogramms in einer PLC verwendet. Die Eingabeeinheit 15 ist eine Nutzerschnittstelle, wie zum Beispiel eine Tastatur und eine Zeigevorrichtung. Die Speichereinheit 16 ist eine Speichervorrichtung, die eine Information nicht flüchtig speichert, und eine HDD (engl. Hard Disc Drive), ein Halbleiterspeicher oder dergleichen kann als die Speichereinheit 16 angewendet werden. Die Anzeigeeinheit 17 ist eine Vorrichtung, die einen Bildschirm verschiedener Typen (einen Editorbildschirm, einen Suchresultat-Anzeigebildschirm und dergleichen) anzeigt, während das Sequenzprogramm erzeugt wird, und ein LCD (engl. Liquid Crystal Display), eine organische EL-(engl. Electro-Luminescence)Anzeige oder dergleichen als die Anzeigeeinheit 17 angewendet werden.
-
2 ist ein Blockdiagramm der funktionalen Konfiguration eines Programmeditors. Der Programmeditor 20 enthält eine Editor-Basisprogrammeinheit 21 und eine Ähnliches-Element-Suchverarbeitungseinheit 22. Die Ähnliches-Element-Suchverarbeitungseinheit 22 enthält eine Suchobjekt-Eingabebildschirm-Anzeigeeinheit 221, eine Suchobjektschaltungs-Bestimmungseinheit 222, eine Suchbereichs-Bestimmungseinheit 223, eine Suchindex-Bestimmungseinheit 224, eine Ähnlichkeitsberechnungseinheit 225, eine Suchzielelement-Bestimmungseinheit 226, eine Suchresultat-Listenerzeugungseinheit 227 und eine Suchresultat-Anzeigebildschirm-Anzeigeeinheit 228. Jede der funktionalen Einheiten (die Editor-Basisbetriebseinheit 21 und die Ähnliches-Element-Suchverarbeitungseinheit 22) des Programmeditors 20 wird an der CPU 11 durch eine Softwareverarbeitung realisiert. Die Editor-Basisbetriebseinheit 21 weist die gleiche Funktion auf wie die eines allgemeinen Programmeditors und zeigt einen Editorbildschirm an der Anzeigeeinheit 17 an. In dem an der Anzeigeeinheit 17 angezeigten Editorbildschirm werden Schaltungselemente durch einen Betrieb an der Eingabeeinheit 15 graphisch angeordnet, wodurch das Sequenzprogramm erzeugt wird.
-
Die Suchobjekt-Eingabebildschirm-Anzeigeeinheit 221 zeigt einen Suchobjekt-Eingabebildschirm an der Anzeigeeinheit 17 an. Vergleichbar zu einem normalen Editorbildschirm ist der Suchobjekt-Eingabebildschirm ein Bildschirm, an dem Schaltungselemente an dem Gitter angeordnet werden können, und eine Schaltung, die durch Schaltungselemente konfiguriert ist, die durch Operationen bzw. einen Betrieb, der durch einen Nutzer an der Eingabeeinheit 15 durchgeführt wird, an dem Gitter angeordnet sind, ist eine Suchobjektsschaltung. Die „Schaltung” ist in dieser Beschreibung zumindest ein Teil eines Programms und enthält zumindest ein Schaltungselement. Die Schaltung muss kein zusammengefügtes Element bzw. Teil sein, das eine Bedeutung aufweist, wie ein Programmelement. Das Programmelement selbst kann jedoch als die Suchobjektsschaltung verwendet werden. Die Suchobjektschaltungs-Bestimmungseinheit 222 bestimmt als die Suchobjektsschaltung ein Element bzw. Teil eines Sequenzprogramms 211, das erzeugt wird, und das bereits an dem Editorbildschirm angeordnet ist, ein existierendes Programmelement 161, das in der Speichereinheit 16 gespeichert ist, und eine in dem Suchobjekt-Eingabebildschirm editierte Schaltung, die an der Anzeigeeinheit 17, durch die Suchobjekt-Eingabebildschirm-Anzeigeeinheit 221 bewirkt, angezeigt wird. Die Suchbereichs-Bestimmungseinheit 223 bestimmt, ob deren Suche eine Suche von den existierenden Programmelementen 161 ist, die in der Speichereinheit 16 gespeichert sind, oder eine Suche von einem Programm, das erzeugt wird (das unter Erzeugung stehende Sequenzprogramm 211, das durch die Editor-Basisbetriebseinheit 21 gehalten wird).
-
Die Suchindex-Bestimmungseinheit 224 bestimmt einen zu verwendenden Index (eine graphische Ähnlichkeit, eine logische Konfigurationsähnlichkeit (eine logische Ähnlichkeit) und eine Begriffsähnlichkeit) zum Zeitpunkt der Suche eines Suchbereichs nach einer Schaltung, die gleichartig bzw. ähnlich zu der Suchobjektsschaltung ist.
-
Definitionen der graphischen Ähnlichkeit, der logischen Ähnlichkeit und der Begriffsähnlichkeit werden später beschrieben. Die Suchindex-Bestimmungseinheit 224 kann auch eine Vielzahl von Indices bestimmen. Die Ähnlichkeitsberechnungseinheit 225 berechnet die Ähnlichkeit zu der Suchobjektsschaltung bezüglich des Suchbereichs (die Programmelemente 161, gespeichert in der Speichereinheit 16, oder dem unter Erzeugung stehenden Sequenzprogramm 211, gehalten durch die Editor-Basisbetriebseinheit 221), der durch die Suchbereichs-Bestimmungseinheit 223 bestimmt wird. Wenn eine Vielzahl von Suchindices durch die Suchindexbestimmungseinheit 224 bestimmt werden, summiert die Ähnlichkeitsberechnungseinheit 225 die Ähnlichkeiten gemäß der Indices, um die Ähnlichkeit des Suchzielelements zu berechnen.
-
Die Suchzielelement-Bestimmungseinheit 226 bestimmt, ob die Ähnlichkeit zu der Suchobjektsschaltung gleich oder größer als ein vorbestimmter Schwellenwert ist, und extrahiert Schaltungen, die Ähnlichkeiten aufweisen, die gleich zu oder größer als der vorbestimmte Schwellenwert sind. Wenn bestimmt wird, dass eine Suche der existierenden Programmelemente 161 durchgeführt wird, die in der Speichereinheit 16 als ein Suchbereich gespeichert sind, erzeugt die Suchresultatlisten-Erzeugungseinheit 227 eine Liste von Programmelementen, die die Schaltungen enthält, die durch die Suchzielelement-Bestimmungseinheit 126 extrahiert wurden. Die Suchresultat-Anzeigebildschirm-Anzeigeeinheit 228 bewirkt, dass die Anzeigeeinheit 17 eine Liste der Programmelemente, die durch die Suchresultatlisten-Erzeugungseinheit 227 erzeugt wurde, als ein Suchresultat-Anzeigebildschirm anzeigt.
-
Der Suchindex wird im Folgenden erläutert. Die graphische Ähnlichkeit (engl. similarity) ist eine Ähnlichkeit, die erhalten wird durch eine Quantifizierung einer graphischen Anordnung unter Schaltungselementen (diesbezügliche relative räumliche Beziehungen zwischen oben, unten, links und rechts), einer Verbindungsbeziehung (dem Vorhandensein oder Fehlen einer direkten Verbindung), eines Abstands (der Anzahl von Schaltungselementen dazwischen) und dergleichen. Die logische Ähnlichkeit ist eine Ähnlichkeit, die erhalten wird durch Quantifizieren der Reihenfolge des Auftretens von Anweisungen, Labels, Vorrichtungsadressen und dergleichen, die in dem Schaltungselement enthalten sind, und der gleiche Wert wird für Schaltungen durch eine Normalisierung logisch erhalten. Die Begriffsähnlichkeit ist eine Ähnlichkeit, die erhalten wird durch Quantifizieren der Anzahl (Rate) von Begriffen (engl. keywords), die unter Begriffen übereinstimmen, die in einer Suchobjektsschaltung registriert sind, und Begriffen, die in einer Suchzielschaltung registriert sind.
-
Ein Verfahren zum Berechnen einer graphischen Ähnlichkeit und einer logischen Ähnlichkeit durch die Ähnlichkeitsberechnungseinheit 225 wird hier erläutert. 3 ist ein Diagramm zur Darstellung eines Beispiels einer Suchobjektsschaltung. 4 ist ein Diagramm zur Darstellung eines Beispiels einer Suchzielschaltung. Zuerst wird ein Prozess zum Berechnen einer graphischen Ähnlichkeit zwischen einer Suchobjektsschaltung 30 und einer Suchzielschaltung 40 durch die Ähnlichkeitsberechnungseinheit 225 erläutert.
-
Die Suchobjektsschaltung 30 enthält, als diesbezügliche Elemente, zwei A-Kontakte (Elemente A und B), einen B-Kontakt (ein Element C), und zwei Spulen (Elemente D und E), an der rechten Seite eines A-Kontakts (das Element A) ist ein anderer A-Kontakt (das Element B) angeordnet. An der unteren Seite des A-Kontakts (das Element B), an dessen linker Seite ein anderer A-Kontakt (das Element A) angeordnet ist, ist der B-Kontakt (das Element C) angeordnet. An der unteren Seite einer Spule (das Element D) ist ferner eine andere Spule (das Element E) angeordnet. Als ein Modus einer direkten Verbindung durch eine Drahtverbindung sind ferner die Elemente A und B verbunden. Ferner sind die Elemente A und C verbunden, sind die Elemente B und D verbunden, sind die Elemente B und E verbunden, sind die Elemente C und D verbunden, und sind die Elemente C und E verbunden.
-
Die Suchzielschaltung 40 enthält, als diesbezügliche Elemente, drei A-Kontakte (die Elemente A und B und ein Element F), einen B-Kontakt (das Element C), und zwei Spulen (die Elemente D und E). An der rechten Seite von einem A-Kontakt (das Element F) ist ein anderer A-Kontakt (das Element A) angeordnet. An der rechten Seite des A-Kontakts (das Element A), an dessen linker Seite ein anderer A-Kontakt (das Element F) angeordnet ist, ist noch ein weiterer A-Kontakt (das Element B) angeordnet. An der unteren Seite des A-Kontakts (das Element B), an deren linken Seite die zwei A-Kontakte (die Elemente F und A) angeordnet sind, ist der B-Kontakt (das Element C) angeordnet. An der unteren Seite einer Spule (das Element D) ist ferner eine andere Spule (das Element E) angeordnet. Als ein Modus einer direkten Verbindung durch eine Drahtverbindung sind ferner die Elemente A und B verbunden. Ferner sind die Elemente A und C verbunden, sind die Elemente B und D verbunden. Sind die Elemente B und E verbunden. Sind die Elemente C und D verbunden, sind die Elemente C und E verbunden, und sind die Elemente F und A verbunden.
-
Alle fünf Elemente (die Elemente A, B, C, D und E) der Suchobjektsschaltung 30 stimmen mit den sechs Elementen (den Elementen A, B, C, D, E und F) der Suchzielschaltung 40 überein. Die Ähnlichkeitsberechnungseinheit 225 berechnet daher die Ähnlichkeit in Bezug auf das Vorhandensein dieser Elemente zu 5/6.
-
Alle räumlichen Beziehungen (das Element B ist an der rechten Seite des Elements A, das Element C ist an der unteren Seite des Elements B, und das Element E ist an der unteren Seite des Elements D) zwischen benachbarten Elementen der Suchobjektsschaltung 30 stimmen mit den räumlichen Beziehungen (das Element A ist an der rechten Seite des Elements F, das Element B ist an der rechten Seite des Elements A, das Element C ist an der unteren Seite des Elements B, und das Element E ist an der unteren Seite des Elements D) zwischen benachbarten Elementen der Suchzielschaltung 40 überein. Die Ähnlichkeitsberechnungseinheit 225 berechnet daher die Ähnlichkeit (engl. similarity) in Bezug auf die räumlichen Beziehungen zwischen diesen benachbarten Elementen als 3/4.
-
Alle Beziehungen (das Element A und das Element B, das Element A und das Element C, das Element B und das Element D, das Element D und das Element E, das Element C und das Element D, und das Element C und das Element E) einer direkten Verbindung durch eine Drahtverbindung in der Suchobjektsschaltung 30 stimmen mit den Beziehungen (das Element A und das Element B, das Element A und das Element C, das Element B und das Element D, das Element B und das Element E, das Element C und das Element D, das Element C und das Element E, und das Element F und das Element A) einer direkten Verbindung durch eine Drahtverbindung in der Suchzielschaltung 40 überein. Die Ähnlichkeitsberechnungseinheit 225 berechnet daher die Ähnlichkeit in Bezug auf die Beziehung einer direkten Verbindung durch eine Drahtverbindung als 6/7.
-
Die Ähnlichkeitsberechnungseinheit 225 multipliziert diese Ähnlichkeit in Bezug auf das Vorhandensein von Elementen, die Ähnlichkeit in Bezug auf die räumlichen Beziehungen zwischen benachbarten Elementen und die Ähnlichkeit in Bezug auf eine Beziehung einer direkten Verbindung durch eine Drahtverbindung, und berechnet die gesamte graphische Ähnlichkeit. In dem obigen Beispiel ergibt sich 5/6 × 3/4 × 6/7 = 15/28 ≈ 0,54, so dass die graphische Ähnlichkeit zwischen der Suchobjektsschaltung 30 und der Suchzielschaltung 40 zu 0,54 berechnet wird.
-
Das obige Beispiel ist ein Beispiel eines Verfahrens zum Berechnen einer graphischen Ähnlichkeit, und eine Referenz (zum Beispiel eine Abstandsdifferenz zwischen jeweiligen Schaltungselementen), die sich von dem obigen Beispiel unterscheidet, kann zum Berechnen der graphischen Ähnlichkeit (engl. similarity) verwendet werden.
-
Im Folgenden wird ein Prozess zum Berechnen einer logischen Ähnlichkeit zwischen der Suchobjektsschaltung 30 und der Suchzielschaltung 40 durch die Ähnlichkeitsberechnungseinheit 225 erläutert. 5 ist ein Diagramm zur Darstellung eines weiteren Beispiels einer Suchzielschaltung. Eine Suchzielschaltung 50 enthält, als diesbezügliche Elemente, zwei A-Kontakte (Elemente A und B), einen B-Kontakt (ein Elemente C) und zwei Spulen (Elemente D und E). An der rechten Seite von einem A-Kontakt (das Element B), ist ein anderer A-Kontakt (das Element A) angeordnet, an der unteren Seite des A-Kontakts (das Element B), an dessen rechter Seite ein anderen A-Kontakt (das Element A) angeordnet ist, ist ferner der B-Kontakt (das Element C) angeordnet. An der unteren Seite einer Spule (das Element D) ist ferner eine weitere Spule (das Element E) angeordnet. Als ein Modus einer direkten Verbindung durch eine Drahtverbindung sind ferner die Elemente B und A verbunden, sind die Elemente D und A verbunden, sind die Elemente A und D verbunden, und sind die Elemente A und E verbunden.
-
Die Reihenfolge des Auftretens jeweiliger Schaltungselemente in der Suchzielschaltung 50 ist BCADE. Die Reihenfolge eines Auftretens jeweiliger Schaltungselemente in der Suchobjektsschaltung 30 ist andererseits ABCDE. Die Reihenfolge des Auftretens von zwei Schaltungselementen (D und E) von fünf Schaltungselementen stimmt miteinander überein, und die logische Ähnlichkeit wird daher zu 2/5 = 0,40 berechnet, wenn der Vergleich einfach durchgeführt wird. Es wird vermerkt, dass die Ähnlichkeitsberechnungseinheit 225 eine Funktion zum Normalisieren einer Schaltung aufweist. Selbst dann, wenn in der Suchzielschaltung 50 die Reihenfolge des Elements A und des parallelen Teils der Elemente B und C umgekehrt wird, sind die Suchzielschaltungen 50 bevor und nach der Umkehr der Reihenfolge logisch äquivalent zueinander. Die Ähnlichkeitsberechnungseinheit 225 kehrt daher die Reihenfolge des Elements A und des parallelen Teils der Elemente B und C um, um eine logische Ähnlichkeit zu berechnen. Die Reihenfolge des Auftretens von Schaltungselementen in der Schaltung, in der die Reihenfolge des Elements A und des parallelen Teils der Elemente B und C umgekehrt ist, ist ABCDE, und die Reihenfolge stimmt mit der Reihenfolge des Auftretens der Schaltungselement in der Suchobjektschaltung 30 überein. Wenn folglich ein Normalisierungsprozess durchgeführt wird, wird die logische Ähnlichkeit zu 5/5 = 1,0 berechnet.
-
Im Folgenden wird der Betrieb der Sequenzprogramm-Erzeugungsvorrichtung gemäß der vorliegenden Ausführungsform erläutert. 6 ist ein Flussdiagramm zur Darstellung des Ablaufs eines Ähnliches-Element-Suchprozesses, der durchgeführt wird, durch die Sequenzprogramm-Erzeugungsvorrichtung gemäß der vorliegenden Ausführungsform. 7 ist ein Diagramm zur Darstellung des Beispiels von einem Bildschirm, der während des Ähnliches-Element-Suchprozesses an einer Anzeigeeinheit angezeigt wird. Zuerst führt ein Nutzer einen Betrieb an der Eingabeeinheit 15 durch und bestimmt eine Suchobjektsschaltung (Schritt S101). Wenn zu diesem Zeitpunkt ein Element oder Teil eines unter Erzeugung stehenden Programms als der Suchobjekt angesehen wird, wird das Element bzw. der Teil des erzeugten Programms ausgewählt und an einem Editorbildschirm bestimmt. Wie in 7 gezeigt, wird zum Beispiel, zumindest ein Teil eines Leiterprogramms, das an einem gitterartigen Editorbildschirm 80 angezeigt wird, durch den Betrieb an der Eingabeeinheit 15 ausgewählt. In 7 wird ein Teil, das durch den Betrieb an der Eingabeeinheit 15 ausgewählt wird, durch eine Schraffur gezeigt. Wenn ferner das Programmelement bzw. der Programmabschnitt, der in der Speichereinheit 16 gespeichert ist, als die Suchobjektsschaltung angesehen wird, wird ein Programmelement bzw. ein Programmabschnitt, das vergleichbar zu dem Zielprogrammabschnitt ist, durch den Betrieb an der Eingabeeinheit 15 aus der Liste von Programmelementen ausgewählt, die in der Vergangenheit erzeugt wurden. Wenn ferner die Schaltung, die in dem Suchobjekts-Eingabebildschirm editiert wird, der durch die Suchobjekt-Eingabebildschirm-Anzeigeeinheit 221 bewirkt an der Anzeigeeinheit 17 angezeigt wird, wird ein Betrieb zum Editieren der Suchobjektsschaltung in dem Suchobjekt-Eingabebildschirm an der Eingabeeinheit 15 durchgeführt.
-
Als nächstes führt der Nutzer einen Betrieb an der Eingabeeinheit 15 durch (wie in 7 gezeigt, wählt zum Beispiel von einem Menü 51 „Ähnliches-Element-Suche” aus), und bewirkt, dass die Anzeigeeinheit 17 einen Ähnliches-Element-Suchbildschirm anzeigt (Schritt S102). 8 ist ein Diagramm zur Darstellung eines Beispiels eines Ähnliches-Element-Suchbildschirms. Ein Ähnliches-Element-Suchbildschirm 60 enthält ein Suchbereichs-Bestimmungsfeld 61 und ein Suchindex-Bestimmungsfeld 62. Durch den Betrieb an der Eingabeeinheit 15 bestimmt der Nutzer danach einen Suchbereich in dem Suchbereichs-Bestimmungsfeld 61 an dem Ähnliches-Element-Suchbildschirm 60 (Schritt S103). Durch den Betrieb an der Eingabeeinheit 15 bestimmt der Nutzer ferner einen Suchindex in dem Suchindex-Bestimmungsfeld 62 an dem Ähnliches-Element-Suchbildschirm 60 (S104). Nachdem der Suchindex bestimmt ist, führt die Ähnliches-Element-Suchbearbeitungseinheit 22, während der Nutzer einen Betrieb an der Eingabeeinheit 15 durchführt und eine Suchausführungsschaltfläche 63 an dem Ähnliches-Element-Suchbildschirm 60 betätigt, eine Suche nach einem Ähnlichen Element durch (Schritt S105) und bewirkt, dass die Anzeigeeinheit 17 ein Suchresultat anzeigt (Schritt S106), und der Prozess wird beendet. 9 ist ein Diagramm zur Darstellung eines Beispiels eines Suchresultat-Anzeigebildschirms, und ist ein Bildschirmbeispiel für einen Fall, wenn bestimmt ist, dass eine Suche nach existierenden Programmelementen bzw. Programmteilen 161, die in der Speichereinheit 16 gespeichert sind, als Suchbereich durchgeführt wird. An einem Suchresultat-Anzeigebildschirm 70 wird eine Liste 71 von Programmelementen bzw. Programmteilen angezeigt, die Schaltungen enthalten, deren Ähnlichkeiten (engl. similarities) zu der Suchobjektsschaltung gleich zu oder größer als ein Schwellenwert sind. Es ist möglich, zusätzlich Anzeigewerte von Ähnlichkeiten der Schaltungen, die in den Programmabschnitten enthalten sind, an dem Suchresultat-Anzeigebildschirm 70 anzuzeigen. Durch die zusätzliche Anzeige der Ähnlichkeiten an dem Suchresultat-Anzeigebildschirm 70 kann der Nutzer die angezeigten Ähnlichkeiten als eine Referenz zum Bestimmen verwenden, ob die Programmelemente bzw. Programmteile des Suchresultats verwendet werden.
-
10 ist ein Flussdiagramm zur Darstellung des Ablaufs eines Prozesses einer Suche nach einem Ähnlichen Element bzw. einem Ähnlichen Teil und einer Suchresultatanzeige der Sequenzprogramm-Erzeugungsvorrichtung gemäß der vorliegenden Ausführungsform. Das in 10 gezeigte Flussdiagramm zeigt Details der Prozesse bei den Schritten S105 und S106 von 6. Die Suchresultat-Listenerzeugungseinheit 227 initialisiert eine Suchresultatliste (Schritt S201). Danach führt die Ähnliches-Element-Suchverarbeitungseinheit 22 einen Loop-Prozess, der im Folgenden beschrieben wird, an allen Suchzielschaltungen durch.
-
Die Ähnlichkeitsberechnungseinheit 225 berechnet eine Ähnlichkeit für eine Suchobjektsschaltung für eine Suchzielschaltung unter Verwendung eines Suchindexes, der durch die Suchindex-Bestimmungseinheit 224 bestimmt ist (Schritt S202). Die Suchzielelement-Bestimmungseinheit 226 bestimmt, ob die durch die Ähnlichkeitsberechnungseinheit 225 berechnete Ähnlichkeit gleich zu oder größer als ein Schwellenwert ist (Schritt S203). Wenn die Ähnlichkeit gleich zu oder größer als der Schwellenwert ist (JA im Schritt S203), benachrichtigt die Suchzielelement-Bestimmungseinheit 226 die Suchresultat-Listenerzeugungseinheit 227 über die Suchzielschaltung. Die Suchresultat-Listenerzeugungseinheit 227 fügt ein Programmelement bzw. ein Programmteil, das in der Suchzielschaltung enthalten ist, der Suchresultatliste hinzu (Schritt S204). Wenn die Ähnlichkeit geringer als der Schwellenwert ist (NEIN im Schritt S203), wird keine Verarbeitung durchgeführt.
-
Wenn der Loop-Prozess bezüglich aller Suchzielschaltungen beendet ist, bewirkt die Suchresultat-Anzeigebildschirm-Anzeigeeinheit 228, dass die Anzeigeeinheit 17 die Suchresultatliste anzeigt (Schritt S205). In diesem Fall werden die Programmelemente bzw. Programmteile, die in der Suchresultatliste enthalten sind, in der Reihenfolge (in der abfallenden Reihenfolge) der Ähnlichkeiten der Suchzielelemente bzw. Suchzielteile angezeigt. Wenn in diesem Fall, wenn die Suchbedingungen (der Suchbereich und der Suchindex) zusammen mit der Suchresultatliste angezeigt werden, und wenn gewünschte Suchresultate nicht erhalten werden, kann ein Nutzer leicht bestimmen, ob die Suchbedingungen geeignet waren.
-
Während ein Leiterprogramm in der obigen Ausführungsform als Beispiel genommen wurde, ist die vorliegende Erfindung auch in einem Fall anwendbar, bei dem ein Sequenzprogramm durch andere Programmiersprachen, wie zum Beispiel ST (engl. Structured Text) oder FBD (engl. Function Block Diagram) erzeugt wird. Für den Fall von ST reicht es aus, dass logische Ähnlichkeiten und Begriffsähnlichkeiten als ein Index bestimmt werden können, während graphische Ähnlichkeiten als ein Suchindex nicht bestimmt werden können.
-
Gemäß der vorliegenden Ausführungsform werden Schaltungsähnlichkeiten auf Grundlage der Struktur eines Programms und von Tendenzen verwendeter Elemente bzw. Teile oder dergleichen mechanisch berechnet. Es ist daher möglich, nach einem Programmelement bzw. einem Programmteil zu suchen, deren Verwendung erwünscht ist, ohne komplizierte Suchobjekte zu bestimmen. Da es möglich ist, nach einem Programmelement bzw. einem Programmteil zu suchen, während berücksichtigt wird, ob das Programmelement eine graphische oder logische Ähnlichkeit aufweist, kann daher eine effektive Programmierumgebung unter verschiedenen Bedingungen bereitgestellt werden.
-
Industrielle Anwendbarkeit
-
Wie oben erläutert, ist die Sequenzprogramm-Erzeugungsvorrichtung gemäß der vorliegenden Erfindung in einem Merkmal nützlich, das es leicht ist, Programmelemente bzw. Programmteile zu verwenden, die sich in einem graphischen oder logischen Sinne partiell voneinander unterscheiden, in Abhängigkeit von den diesbezüglichen Typen oder Spezifikationen.
-
Bezugszeichenliste
-
- 10
- Computer
- 11
- CPU
- 12
- ROM
- 13
- RAM
- 14
- Kommunikationseinheit
- 15
- Eingabeeinheit
- 16
- Speichereinheit
- 17
- Anzeigeeinheit
- 20
- Programmeditor
- 21
- Editor-Basisbetriebseinheit
- 22
- Ähnliches-Element-Suchverarbeitungseinheit
- 30
- Suchobjektsschaltung
- 40, 50
- Suchzielschaltung
- 51
- Menü
- 60
- Ähnliches-Element-Suchbildschirm
- 61
- Suchbereichs-Bestimmungsfeld
- 62
- Suchindex-Bestimmungsfeld
- 63
- Suchausführungsschaltfläche
- 70
- Suchresultat-Anzeigebildschirm
- 71
- Liste von Programmelementen
- 80
- Editorbildschirm
- 100
- Sequenzprogramm-Erzeugungsvorrichtung
- 161
- Programmelement
- 211
- unter Erzeugung stehendes Sequenzprogramm
- 221
- Suchobjekt-Eingabebildschirm-Anzeigeeinheit
- 222
- Suchobjektschaltungs-Bestimmungseinheit
- 223
- Suchbereichs-Bestimmungseinheit
- 224
- Suchindex-Bestimmungseinheit
- 225
- Ähnlichkeits-Berechnungseinheit
- 226
- Suchzielelement-Bestimmungseinheit
- 227
- Suchresultatlisten-Erzeugungseinheit
- 228
- Suchresultat-Anzeigebildschirm-Anzeigeeinheit