DE102008002266B4 - Programmentwicklung-Unterstützungsvorrichtung einer Sicherheitssteuerung - Google Patents

Programmentwicklung-Unterstützungsvorrichtung einer Sicherheitssteuerung Download PDF

Info

Publication number
DE102008002266B4
DE102008002266B4 DE102008002266.7A DE102008002266A DE102008002266B4 DE 102008002266 B4 DE102008002266 B4 DE 102008002266B4 DE 102008002266 A DE102008002266 A DE 102008002266A DE 102008002266 B4 DE102008002266 B4 DE 102008002266B4
Authority
DE
Germany
Prior art keywords
function block
input
mask
arrangement
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102008002266.7A
Other languages
English (en)
Other versions
DE102008002266A1 (de
Inventor
Takehiko Hioka
Keiichi TERANISI
Yoshihiro Demura
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2007154900A external-priority patent/JP4888717B2/ja
Priority claimed from JP2007156216A external-priority patent/JP4433210B2/ja
Priority claimed from JP2007156217A external-priority patent/JP4793588B2/ja
Application filed by Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Publication of DE102008002266A1 publication Critical patent/DE102008002266A1/de
Application granted granted Critical
Publication of DE102008002266B4 publication Critical patent/DE102008002266B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23004Build up program so that safety conditions are met, select most stable states
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23005Expert design system, uses modeling, simulation, to control design process
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23008Computer aided software engineering, program generation, case tools, CASE

Abstract

Unterstützungsvorrichtung (10) zur Programmentwicklung einer Sicherheitssteuerung (1), bei der ein Steuerungsprogramm für eine Sicherheitssteuerung (1) automatisch erzeugt wird durch• eine Reihe von Anwenderoperationen zur Vervollständigung eines Logikschaltungsdiagramms, das einer gewünschten Steuerungsspezifikation entspricht, indem sequentiell ein aus einer Vielzahl von vorab erstellten Funktionsblocktypen ausgewählter Funktionsblocktyp in einem Programmierfeld (201) auf einem Bildschirm (13a) einer Bildanzeige (13) angeordnet wird, und ein notwendiger eindeutiger Parameter für jeden Funktionsblock eingestellt wird, und• Konvertieren von Logikschaltungsdiagrammdaten, die durch die Vervollständigung des Logikschaltungsdiagramms erzeugt wurden, in das Steuerungsprogramm; wobei die Unterstützungsvorrichtung (10) zur Programmentwicklung umfasst:eine Eingabeoperationseinheit (12) zur Ermöglichung der Reihe von Anwenderoperationen; undeine Führungsanzeigeeinheit, die auf dem Programmierfeld angezeigt wird, zur Ermöglichung der Anordnung des Funktionsblockes auf dem Programmierfeld gemäß einer Funktionsblockanordnungsmaske, die jeder Schnittposition von Zeilen und Spalten entsprechend eine blockanordbare Position aufweist und bei der die Seite eines Endes in der Zeilenrichtung als eine Eingabeanschlussseite und die Seite des anderen Endes als eine Ausgabeanschlussseite definiert ist; wobeidie Funktionsblockanordnungsmaske unterteilt ist ineine Eingabeseitenmaske, die auf einer Eingabeseite der Funktionsblockanordnungsmaske angeordnet ist und eine Vielzahl mehrerer Spalten umfasst, wobei jede jeweilige Spalte eingerichtet ist, die Anordnung eines vorbestimmten Funktionsblocktyps, der auf ein Eingabesignal bezogen ist, zu akzeptieren, undeine Ausgabeseitenmaske, die auf einer Ausgabeseite der Funktionsblockanordnungsmaske angeordnet ist und eine Vielzahl mehrerer Spalten umfasst, wobei jede jeweilige Spalte eingerichtet ist, die Anordnung eines vorbestimmten Funktionsblocktyps, der auf ein Ausgabesignal bezogen ist, zu akzeptieren,wobei die Führungsanzeigeeinheit ferner eine Leiteinheit zum Leiten eines jeden Funktionsblockes zu einer vorab definierten Anordnungsspalte gemäß einem vorab definierten Anordnungsvorgang aufweist, so dass ein durch einen Anwender ausgewählter Funktionsblock an der blockanordbaren Position einer entsprechenden Spalte auf einer der -seitenmasken gemäß der Anordnungsspalte und dem Anordnungsvorgang angeordnet wird,wobei der Anordnungsvorgang das sequentielle Anordnen der Funktionsblöcke in der Reihenrichtung der Funktionsblockanordnungsmaske beinhaltet,wobei die Führungseinheit eine Operation verhindert oder eine Warnung hierzu ausgibt, wenn die Operation derart ist, dass der durch den Anwender ausgewählte Funktionsblock auf der jeweiligen Maske nicht gemäß der Anordnungsspalte, die vorab für jeden Typ von Funktionsblock definiert wurde, oder nicht gemäß dem vorab defnierten Anordnungsvorgang angeordnet wird.

Description

  • Hintergrund der Erfindung
  • Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf eine Programmentwicklung-Unterstützungsvorrichtung einer Sicherheitssteuerung, bei der ein Steuerungsprogramm für eine Sicherheitssteuerung durch eine Reihe von Anwendertätigkeiten zur Beschreibung eines Diagramms einer logischen Schaltung auf einem Programmierfeld auf einem Bildschirm einer Bildanzeige, das der gewünschten Steuerungsspezifikation entspricht, automatisch erzeugt wird.
  • Beschreibung des Standes der Technik
  • Die Sicherheitssteuerung umfasst eine Selbstdiagnosefunktion aus Sicherheitsaspekten zusätzlich zu einer Funktion logischer Berechnung und einer Eingabe-/Ausgabesteuerungsfunktion ähnlich zu einer gewöhnlichen programmierbaren Steuerung (SPS), um einen hohen Grad an Sicherheit und Zuverlässigkeit bei ihrer Steuerung zu gewährleisten, und die Sicherheitssteuerung hat ebenfalls eine Funktion (Ausfallsicherungsfunktion), so dass eine Sicherheitssteuerung zwangsdurchgeführt wird, so dass ihre Steuerung nicht zur Gefahr wird, wenn eine Unregelmäßigkeit bei dem Selbstdiagnoseergebnis festgestellt wird.
  • Sicherheit, auf die hierin Bezug genommen wird, ist genauer die standardisierte Sicherheitsnorm. Die Sicherheitsnorm umfasst IEC 61508 und die EN-Norm. In IEC 61508 (International Electro-technical Commission, bezogen auf die Funktionssicherheit programmierbarer elektronischer Systeme) ist die Gefahrenfehlerwahrscheinlichkeit pro Stunde (Wahrscheinlichkeit eines Fehler pro Stunde) definiert und das SIL Niveau (Sicherheitsintegritätsniveau) ist in vier Stufen gemäß der Wahrscheinlichkeit klassifiziert. In dem EN Standard ist die Größe des Risikos einer Maschine bewertet, wobei es rechtsverbindlich ist, Maßnahmen zur Reduzierung des Risikos vorzunehmen, und in dem EN954-1 sind fünf Sicherheitskategorien definiert. Sicherheitssteuerung, Sicherheits-E/A-Terminal und dergleichen auf die hierin Bezug genommen wird, entsprechen einem dieser Sicherheitsstandards.
  • 37 zeigt von einer herkömmlichen Unterstützungsvorrichtung für eine Programmentwicklung (Steuerung eines Sicherheitsnetzwerkes, die durch die Omron Co. aus Japan hergestellt wird) zur Erzeugung eines Steuerungsprogramms für eine Sicherheitsteuerung ein Anzeigebeispiel eines Diagramms einer logischen Schaltung.
  • Die Unterstützungsvorrichtung zur Programmentwicklung (erster Stand der Technik) ist derart aufgebaut, dass ein Steuerungsprogramm einer Sicherheitssteuerung automatisch durch eine Reihe von Anwendertätigkeiten zur Vervollständigung eines Diagramms einer logischen Schaltung, das der gewünschten Steuerungsspezifikation entspricht, erzeugt wird, indem sequenziell ein Typ von Funktionsblock (FB81 bis FB85), ausgewählt aus einer Vielzahl von Funktionsblocktypen, die vorher vorbereitet wurden, in einem Programmierfeld 801 auf einem Bildschirm einer Bildanzeige angeordnet wird und indem ein notwendiger einmaliger Parameter (nicht gezeigt) für jeden Funktionsblock (in diesem Beispiel wird der Parameter automatisch mit einer Ziehoperation zum Drahtzeichnen durch eine Maus eingestellt) eingestellt wird.
  • Die Schaltungsdiagrammdaten (nicht gezeigt), die in Übereinstimmung zu der auf dem Programmierfeld 801 durch den Anwender gezeichneten logischen Schaltung erzeugt wurden, werden einem vorbestimmten Kompilierprozess unterzogen und in eine Einstelldatei konvertiert, mit der die Sicherheitssteuerung eine Entschlüsselung direkt ausführen kann. Die Einstelldatei zur Ausführung, die auf die obige Art und Weise gewonnen wurde, wird auf der Zielsicherheitssteuerung über eine Kommunikation oder über ein tragbares Aufzeichnungsmedium installiert.
  • Gemäß dem ersten Stand der Technik ist ein Anordnungsort für die Funktionsblöcke und die Anschlussanzeigen (hiernach als Schaltungselement bezeichnet) auf dem Programmierfeld 801 nicht bestimmt und folglich kann das gewünschte Schaltungselement an einer beliebigen Position auf dem Programmierfeld 801 angeordnet werden und der Freiheitsgrad der Anordnung des Schaltungselementes ist groß. Um alle gewünschten Schaltungselemente aufzunehmen und solche Schaltungselemente anzuordnen (Layout), so dass die gesamte Schaltungsfunktion auf dem Programmierfeld 801 begrenzter Größe leicht verstanden werden kann, werden ein bestimmtes Verständnis und Qualifikationen im Sinne des Aufbaus benötigt und können folglich nicht anwenderfreundlich für solche Personen sein, die wenig Verständnis und geringe Qualifikationen haben (Bezug genommen wird z.B. auf den Katalog der Omron Co., der unter der URL http://www.fa.omron.co.ip/product/32.html verfügbar ist).
  • 38 zeigt ein Anzeigebeispiel eines Diagramms einer logischen Schaltung einer weiteren herkömmlichen Unterstützungsvorrichtung zur Programmentwicklung (hergestellt von der PILZ Co. aus Deutschland) zur Erzeugung eines Steuerungsprogramms einer Sicherheitssteuerung.
  • Die Unterstützungsvorrichtung zur Programmentwicklung (zweiter Stand der Technik) ist derart aufgebaut, dass ein Steuerprogramm der Sicherheitssteuerung automatisch durch eine Reihe von Anwendertätigkeiten zur Vervollständigung eines Diagramms einer logischen Schaltung, die der gewünschten Steuerungsspezifikation entspricht, erzeugt wird, indem ein Funktionsblocktyp (FB91 bis FB95), ausgewählt aus einer Vielzahl von Funktionsblocktypen, die im Vorhinein vorbereitet wurden, in einem Programmierfeld 901 auf einem Bildschirm einer Bildanzeige angeordnet wird und indem ein notwendiger einmaliger Parameter (nicht gezeigt) für jeden Funktionsblock (in diesem Beispiel wird der Parameter automatisch mit einer Ziehoperation zum Drahtzeichnen durch eine Maus eingestellt) eingestellt wird.
  • Zusätzlich wird in dem zweiten Stand der Technik die Anordnung des Funktionsblocks auf dem Programmierfeld 901 gemäß einer Führung durchgeführt, indem eine Anordnungsmaske 900 des Funktionsblocks auf dem Programmierfeld 901 angezeigt wird, wobei eine Vielzahl von Zeilen (R1, R2, R3, ...) und eine Vielzahl an Spalten (C1, C2, C3, ...) mit der vertikalen Richtung des Bildschirms als Bezugsrichtung definiert sind, wobei ein Ende (linkes Ende) in der Zeilenrichtung (R) als eine Eingabeseite definiert ist, das andere Ende (rechtes Ende) als eine Ausgabeseite definiert ist und mehrere Positionen, an denen der Block anordbar ist (A11 bis A33), sind in Übereinstimmung mit jeder überschneidenden Position der Zeilen (R1, R2, R3, ...) und den Spalten (C1, C2, C3, ...) definiert.
  • Die Schaltungsdiagrammdaten, die in Übereinstimmung mit der auf dem Programmierfeld 901 durch den Anwender gezeichneten logischen Schaltung erzeugt wurden, werden einem vorbestimmten Kompilierprozess unterzogen und in eine Einstellungsdatei konvertiert, mit der die Sicherheitssteuerung ein Entschlüsseln direkt, ähnlich zu dem ersten Stand der Technik, durchführen kann. Die Einstellungsdatei zur Ausführung, die folglich in der obigen Art und Weise gewonnen wurde, wird auf der Zielsicherheitssteuerung durch eine Kommunikation oder über ein tragbares Aufzeichnungsmedium installiert.
  • Gemäß dem zweiten Stand der Technik wird, weil der Anordnungsort des Schaltungselements im Vorhinein auf dem Programmierfeld 901 definiert ist, das gewünschte Schaltungselement ausgewählt. Danach, wenn das relevante Schaltungselement in die Nähe des vorbestimmten Anordnungsortes durch die Ziehoperation der Maus etc. gebracht ist, wird das gezogene Schaltungselement automatisch zu dem vordefinierten Anordnungsort geführt. Daher können selbst diejenigen, die kein Gefühl oder keine Qualifikation für den Entwurf des Layouts haben, eine Vielzahl von ausgewählten Schaltungselementen in dem Programmierfeld 901 anordnen und brauchen sich nicht mit dem Layout der ausgewählten Schaltungselementen wie in dem ersten Stand der Technik beschäftigen (Bezug wird z.B. auf den Katalog der PILZ Co. genommen (erreichbar unter der URL
    http://www.pilz.jp/p_saferelay7.html)).
  • Weiterer Stand der Technik findet sich in den Druckschriften US 2006 / 0 206 860 A1 und DE 101 08 962 A1 .
  • Überblick über die Erfindung
  • Bei dieser Art von Unterstützungsvorrichtung zur Programmentwicklung müssen die notwendigen Funktionsblöcke geeignet am notwendigen Ort auf dem Logikschaltungsdiagramm angeordnet werden, wobei nicht nur die Signallogik zwischen Eingabe und Ausgabe, sondern auch verschiedene Situationen zu berücksichtigen sind, die für die Sicherheitssteuerung bei der Erzeugung des Logikschaltungsdiagramms, das der gewünschten Sicherheitssteuerungsspezifikation entspricht, spezifisch sind.
  • Wenn beispielsweise ein Logikschaitungsdiagramm dahingehend erzeugt wird, dass ein Ausgangssignal mit einem bestimmten Logikwert (Stopp der Gefahrenquelle) von einem oder zwei oder mehr Ausgangsanschlüssen gesendet wird, wenn ein Eingangssignal, das von einem oder zwei oder mehr Eingangsanschlüssen erhalten ist, einen bestimmten Logikwert (Gefahr) angibt, muss der Logikberechnungsfunktionsblock, der der Eingabe-/Ausgabe-Logik entspricht, lediglich zwischen den Eingangs-/Ausgangssäulen angeordnet werden, wenn das Logikschaltungsdiagramm eine normale Steuerung (SPS etc.) nicht der Sicherheitsspezifikation ist.
  • Wenn jedoch das Logikschaltungsdiagramm die Steuerung der Sicherheitsspezifikation ist, kann, selbst wenn ein Eingangssignal, das irgendeine Art von Gefahr angibt, von dem Eingangsanschluss erhalten wird, das relevante Eingangssignal auch vom Ausfall etc. des Eingangsgeräts (Sicherheitsnotschalter, Sicherheitslichtvorhang, Sicherheitsgrenzschalter, etc.), das selbst Gefahr nachweist, hergeleitet sein, weshalb ein solches Eingangssignal nicht unmittelbar aufgefunden und für die notwendige Logikberechnung bereitgestellt werden kann. Daher muss ein Eingangssystemfunktionsblock, der eine geeignete Fehlerdiagnosefunktion etc. für jedes Eingangsgerät enthält, in wenigstens einer Vorstufe des Logikberechnungsfunktionsblocks (z. B. UND-Funktionsblock) angeordnet werden.
  • Selbst wenn ein Eingangssignal, das irgendeine Art von Gefahr angibt, über einen solchen Eingangssystemfunktionsblock erhalten wird, kann ein solches Eingangssignal hergeleitet sein, wenn der Arbeiter zur Einstellung und Wartung einen Gefahrenbereich in Kenntnis des Risikos betritt, weshalb ein solches Eingangssignal nicht unmittelbar abgerufen und für die notwendige Logikberechnung bereitgestellt werden kann. Wenn eine bestimmte Bedingung der Abstimmungs- und Wartungszeit entspricht, kann es erforderlich sein, dass ein Ungültigmachungsfunktionsblock mit einer Funktion des Ungültigmachens des Eingangssignals in wenigstens der Vorstufe des Logikberechnungsfunktionsblock eingerichtet werden muss.
  • Wenn ein Eingangssignal, das eine Art von Gefahr angibt, über einen solchen Eingangssystemfunktionsblock und/oder Ungültigmachungsfunktionsblock erhalten wird, kann es sein, dass ein solches Eingangssignal aus Gründen einer Sicherheitsbestimmung nicht sofort aufgefunden und für die notwendige Logikberechnung bereitgestellt werden kann (insbesondere im Falle eines Eingangssignals aus momentaner Operation, momentaner Wiedergewinnung, Kontaktpunkt), insofern als der Zustand des Ausgangssignals nicht gleichzeitig mit der Wiederherstellung aus dem Gefahr angebenden Zustand in den Sicherheit angebenden Zustand wiederhergestellt werden kann. Daher muss unter Umständen ein Setz-/Rücksetzfunktionsblock mit einer Setzfunktion des Haltens des Gefahrenzustands des Eingangssignals, einer Rücksetzfunktion der Freigabe des Haltens des Gefahrenzustands und einer Funktion des Definierens des Rücksetzzustands in wenigstens der Vorstufe des Logikberechnungsfunktionsblocks eingerichtet sein.
  • Im Hinblick auf die Möglichkeit eines Ausfalls des Ausgabegeräts selbst ist es nicht notwendigerweise angebracht, das Ausgangssignal eines Logikberechnungsausgabebedingungsfunktionsblocks auf das Ausgabegerät bedingungslos zu übertragen. Daher muss ein Externausgabegerätüberwachungsfunktionsblock (z. B. EDM-Funktionsblock), der eine geeignete Fehlerdiagnosefunktion beinhaltet, zumindest in einer Nachstufe des Ausgabebedingungsfunktionsblocks für jedes Ausgabegerät vorgesehen sein.
  • Im Hinblick auf die typische Arbeitsverzögerungszeit eines jeden Ausgabegeräts ist es nicht notwendigerweise angebracht, das Ausgangssignal von einem jeden einer Anzahl von Ausgangsanschlüssen mit der gleichen zeitlichen Lage zu übertragen. Ein Anschlussmodusfunktionsblock mit einer Funktion einer Verzögerung des Einschaltzeitpunkts und/oder des Ausschaltzeitpunkts des Ausgangssignals muss also unter Umständen in wenigstens der Nachstufe des Ausgangsbedingungsfunktionsblocks eingerichtet sein. Daher wird bei der Programmierung der Sicherheitssteuerung, die im Logikschaltungsdiagramm liegt, der Anwender aufgefordert, die Aufgabe durchzuführen, den notwendigen Funktionsblock am notwendigen Ort im Signalweg vom Eingangsanschluss zum Ausgangsanschluss geeignet anzuordnen. Diese Aufgabe wird nach ausreichender Betrachtung von Situationen, die für die oben beschriebene Sicherheitssteuerung spezifisch sind, durchgeführt, was für Anfänger, die mit der Programmierung der Sicherheitssteuerung nicht vertraut sind, nicht einfach ist, so dass notwendige Funktionsblöcke fehlen und Programmierungsfehler, wie der, dass der notwendige Funktionsblock zwar vorhanden, aber an der falschen Stelle angeordnet wird, entstehen können.
  • Beim ersten und beim zweiten Stand der Technik besteht keine strikte Korrelation zwischen dem Ort, an welchem ein jeder Funktionsblock auf dem Programmierungsfeld anzuordnen ist, und der Art von Funktionsblock, die an dem relevanten Ort anzuordnen ist, so dass es schon, wenn ein einziger der Anzahl von Funktionsblöcken, die eigentlich anzuordnen waren, durch einen Irrtum fehlt oder wenn er an der falschen Stelle angeordnet wird, schwierig ist, solche Mängel anhand der Anordnung der einzelnen Funktionsblöcke unmittelbar zu erkennen.
  • Im Stand der Technik ist es daher zum Auffinden des Programmierungsfehlers erforderlich, eine Verifikationsaufgabe des Nachverfolgens des Signalwegs vom Eingangsanschluss zum Ausgangsanschluss der Reihe nach unter Berücksichtigung einer spezifischen Steuersituation durchzuführen, und eine solche Kompliziertheit der Verifikationsaufgabe ist einer der Gründe, die eine größere Verbreitung dieser Art von Sicherheitssteuerung verhindern.
  • Von der Art von Funktionsblock, die beim Programmieren der Sicherheitssteuerung verwendet wird, wird angenommen, dass sie nach und nach die breite Verwendung der Sicherheitssteuerung erhöht, weshalb der Wunsch nach einer Programmentwicklungsunterstützungsvorrichtung der Sicherheitssteuerung besteht, die mit geringerer Wahrscheinlichkeit Programmierungsfehler bewirkt und in der Lage ist, einen Programmierungsfehler, wenn er auftritt, auch unter einer zukünftigen Situation, für die anzunehmen ist, dass zahlreiche Arten von Funktionsblöcken existieren, einfach aufzufinden.
  • Da außerdem das Einstellen eines besonderen Parameters zur Definition der Verbindungsbeziehung zwischen den Funktionsblöcken im ersten und im zweiten Stand der Technik, die oben beschrieben wurden, so eingerichtet ist, dass es über den Zeichenvorgang der Signalleitung, die die relevanten Funktionsblöcke verbindet, durchgeführt wird, wird ein komplizierter Vorgang des Überprüfens der Verdrahtung auf dem vollständigen Logikschaltungsdiagramm und der Eingabe-/Ausgabe-Beziehung auf der Entsprechungstabelle des Sicherheitseingabe/-ausgabe-Geräts erforderlich (siehe 39), wenn versucht wird, die Einstellparameter des Ausgabebedingungsfunktionsblocks im vollständigen Programm unter Stützung auf das Logikschaltungsdiagramm durchzuführen, weshalb die Verifikation mühsam ist.
  • Im Hinblick auf obige Probleme ist es eine Aufgabe der vorliegenden Erfindung, eine Unterstützungsvorrichtung für eine Programmentwicklung einer Sicherheitssteuerung zu schaffen, bei welcher ein Programmierungsfehler, wie ein Anordnen des Funktionsblocks an der falschen Stelle oder falsch in der Reihenfolge, mit geringerer Wahrscheinlichkeit auftritt, und auch dann, wenn ein solcher Programmierungsfehler auftritt, der Programmierungsfehler einfach aufgefunden werden kann, und bei welcher die Parameterverifikation des Ausgabeverbindungsblock im vollständigen Programm erleichtert wird.
  • Die obigen technischen Probleme können mit einer in Patentanspruch 1 definierten Unterstützungsvorrichtung für die Programmentwicklung einer Sicherheitssteuerung gelöst werden. Weitere bevorzugte Ausführungsformen sind Gegenstand der abhängigen Patentansprüche.
  • Die Unterstützungsvorrichtung zur Programmentwicklung der Sicherheitssteuerung hat einen Grundaufbau, der eine Verarbeitungseinheit enthält, die so betrieben wird, dass ein Steuerprogramm für die Sicherheitssteuerung über eine Folge von Benutzerbedienungen zur Vervollständigung eines Logikschaltungsdiagramms, das der gewünschten Steuerungsspezifikation entspricht, durch sequenzielles Anordnen eines Typs von Funktionsblock automatisch erzeugt wird, der aus einer Anzahl von Arten von Funktionsblöcken ausgewählt wird, die vorab in einem Programmierfeld auf einem Bildschirm einer Bildanzeige erstellt worden ist, und ein notwendiger besonderer Parameter für jeden Funktionsblock eingestellt wird.
  • Zusätzlich zu so einem Grundaufbau enthält die Unterstützungsvorrichtung zur Programmentwicklung auf dem Programmierfeld angezeigte Führungsanzeigemittel, um zu ermöglichen, dass der Funktionsblock auf dem Programmierfeld gemäß einer Führung durch einer Funktionsblockanordnungsmaske (Schablone; Vorlage), die mit einer blockanordbaren Position so definiert ist, dass sie Schnittpunktspositionen von Reihen und Spalten entspricht, wobei die eine Endseite in Reihenrichtung als Eingangsanschlussseite und die andere Endseite als Ausgangsanschlussendseite definiert ist.
  • Die Funktionsblockanordnungsmaske ist in eine eingangsseitige Maske, die auf der Eingangsseite positioniert ist und eine Folge von mehreren Spalten enthält, die jeweils die Anordnung einer auf das Eingangssignal bezogenen Art von Funktionsblock akzeptieren, und eine ausgangsseitige Maske unterteilt, die auf der Ausgangsseite positioniert ist und eine Folge von mehreren Spalten enthält, die jeweils die Anordnung einer auf ein Ausgangssignal bezogenen bestimmten Art von Funktionsblock akzeptieren.
  • Gemäß dem Aufbau, der die Führungsanzeigemittel, die wie oben arbeiten, enthält, wird die Einrichtung des Funktionsblocks im Programmierungsfeld zu dem blockanordbaren Ort geleitet, der auf dem Programmierfeld angezeigt wird und so definiert ist, dass er einem der Schnittpunktsorte von Reihen und Spalten entspricht, so dass jeder Funktionsblock unter automatischer Ausrichtung in vertikaler und in horizontaler Richtung angeordnet wird, wodurch der Anwender nicht mit der Anordnung des Funktionsblocks befasst zu werden braucht.
  • Da die gleichen Arten in Spaltenrichtung für jeden Funktionsblock auf der vervollständigten Logikschaltung aufgereiht sind, kann zur Verifikation derer vervollständigten Logikschaltung in Einheiten von Spalten überprüft werden, ob die gleiche Art von Funktionsblöcken aufgereiht sind oder nicht oder ob ein Funktionsblock in einer der Reihen fehlt, kann eine mechanische Prüfaufgabe der Überprüfung, ob die Anordnung des relevanten Funktionsblocks vergessen wurde oder nicht, durchgeführt werden, weshalb die Verifikation der vervollständigten Logikschaltung erleichtert ist.
  • Da die Funktionsblockanordnungsmaske in die eingangsseitige Maske, die auf der Eingangsseite positioniert ist und eine Folge von Reihen enthält, die jeweils die Anordnung einer auf das Eingangssignal bezogenen bestimmten Art von Funktionsblock akzeptieren, und die ausgangsseitige Maske unterteilt ist, die auf der Ausgangsseite positioniert ist und eine Folge von Spalten enthält, die jeweils die Anordnung einer auf das Ausgangssignal bezogenen bestimmten Art von Funktionsblock akzeptieren, handhabt die Folge von Funktionsblöcken, die in den einzelnen Reihen der eingangsseitigen Maske angeordnet sind, ein einzelnes gemeinsames Eingangssignal, und eine Folge von Funktionsblöcken, die in den einzelnen Reihen der ausgangsseitigen Maske angeordnet sind, handhabt ebenfalls ein einzelnes gemeinsames Ausgangssignal, wodurch die Entsprechungsbeziehung zwischen dem einzelnen Eingang/ Ausgang-Signalsystemen in der erzeugten Logikschaltung und den einzelnen Reihen einer jeden Maske klar gemacht ist, weshalb ein Programmierungsfehler der Anordnung des Funktionsblocks eines bestimmten Eingangs- (oder Ausgangs-) Signalsystem in einem anderen Eingangs- (oder Ausgangs-) Signalsystem mit einer geringeren Wahrscheinlichkeit auftritt.
  • Wenn die eingangsseitige Maske und die ausgangsseitige Maske abwechselnd auf dem Programmierfeld in den Führungsanzeigemitteln angezeigt werden, kann die Zuordnung zu einer von eingangsseitiger Logikschaltung und ausgangsseitiger Logikschaltung durchgeführt werden, so dass der Anordnung der Funktionsblöcke der relevanten Seite ausschließliche Aufmerksamkeit geschenkt wird und ein Programmierungsfehler noch unwahrscheinlicher wird.
  • Außerdem geht, wenn die eingangsseitige Maske zuerst und die ausgangsseitige Maske danach auf dem Programmierfeld in den Führungsanzeigemitteln angezeigt wird, der Anwender zur Programmierung, die sich auf die ausgangsseitige Logikschaltung bezieht, weiter, nachdem die Programmierung abgeschlossen ist, die sich auf die eingangsseitige Logikschaltung bezieht, wo das Programmierungsergebnis der eingangsseitigen Logikschaltung für die Programmierung der ausgangsseitigen Logikschaltung erforderlich ist, womit ein Programmierungsfehler weniger wahrscheinlich wird.
  • Bei der Unterstützungsvorrichtung zur Programmentwicklung gemäß der Erfindung haben die Führungsanzeigemittel Leitmittel zum Leiten der einzelnen Funktionsblöcke zu einer vorab definierten Anordnungsspalte gemäß einem vorab definierten Anordnungsvorgang enthalten, so dass der von einem Anwender ausgewählte Funktionsblock an der blockanordbaren Position der entsprechenden Spalte auf jeder Maske gemäß der Anordnungsspalte und dem Anordnungsvorgang, die vorab für jeden Typ definiert worden sind, angeordnet wird.
  • Gemäß einem solchen Aufbau wird, da die Führungsanzeigemittel die oben beschriebenen „Leitmittel zum Leiten“ enthalten, der vom Anwender ausgewählte Funktionsblock nicht nur in der vorab für jeden Typ definierten Anordnungsspalte, sondern auch an der blockanordbaren Position der relevanten Spalte einer jeden Maske gemäß dem vorab definierten Anordnungsvorgang (zeitliche Anordnungsreihenfolge) angeordnet, womit das Auftreten eines Programmierungsfehlers infolge eines Versäumens des Anordnens eines weiteren Funktionsblocks, der beim Anordnen erforderlich ist, unterdrückt werden kann, indem der Anordnungsvorgang so definiert wird, dass die Anordnung eines weiteren Funktionsblocks, auf den beim Anordnen der einzelnen Funktionsblöcke Bezug genommen werden muss, vorher abgeschlossen ist.
  • In diesem Fall können die Leitmittel zum Leiten der einzelnen Funktionsblöcke zur vorgesehenen Anordnungsspalte gemäß der vorgesehenen Anordnungsreihenfolge eine Führungsanzeige sein, die die notwendigen Vorgänge dem Anwender nahebringt.
  • Gemäß einem solchen Aufbau kann jeder Funktionsblock zur vorgesehenen Anordnungsspalte gemäß dem vorgesehenen Anordnungsvorgang durch eine Bedienung durch den Anwender geleitet werden, indem auf die Denkweise des Anwenders über die Führungsanzeige eingewirkt wird.
  • Die Leitmittel zum Leiten der einzelnen Funktionsblöcke zur dafür vorgesehenen Anordnungsspalte gemäß dem vorgesehenen Anordnungsvorgang stellen den Vorgang fest, in dem der durch den Anwender ausgewählte Funktionsblock auf jeder Maske gemäß einer Anordnungsspalte, die von der vorab für jeden Typ definierten Anordnungsspalte verschieden ist, oder ein Anordnungsvorgang, der von dem vorab für jeden Typ definierten Anordnungsvorgang verschieden ist, und verhindern den relevanten Vorgang oder geben eine Warnung aus.
  • Gemäß einem solchen Aufbau kann ein falscher Funktionsblockanordnungsvorgang durch die Verhinderungsmaßnahme oder die Warnung eliminiert werden, so dass jeder Funktionsblock an die vorgesehene Anordnungsspalte gemäß dem vorgesehenen Anordnungsvorgang über den beabsichtigten Vorgang des Anwenders oder zwangsweise geleitet werden kann.
  • Die Leitmittel zum Leiten eines jeden Funktionsblocks zu der vorgesehenen Anordnungsspalte gemäß dem vorgesehenen Anordnungsvorgang weist die Anordnung eines anderen als des vorgesehenen Funktionsblocks in der entsprechenden Spalte zurück.
  • Gemäß einem solchen Verfahren zwangsweiser Zurückweisung kann jeder Funktionsblock zuverlässig an der entsprechenden Spalte auf dem Signalweg in der Reihenrichtung vom Eingangsende zum Ausgangsende unabhängig vom Willen des Anwenders durch Ausüben einer physischen Kraft angeordnet werden.
  • Die Leitmittel zum Leiten der Anordnung eines jeden Funktionsblocks an der entsprechenden Spalte können die Führungsanzeigemethode zusammen mit der Zwangszurückweisungsmethode verwenden.
  • Gemäß einem solchen Aufbau kann ein jeder Funktionsblock zuverlässiger an der entsprechenden Spalte auf dem Signalweg in der Reihenrichtung vom Eingangsende zum Ausgangsende durch Einwirken auf die Denkweise des Anwenders über Sicht und Ausüben physischer Kraft angeordnet werden.
  • Verschiedene Weisen können für die Führungsanzeige vorgesehen sein, um den Anwender nahezubringen, jeden Funktionsblock an der entsprechenden Spalte anzuordnen.
  • Ein erster Aspekt enthält das Anordnen eines Index, der den Namen des an der relevanten Spalte anzuordnenden Funktionsblocks oder den Typennamen, zu dem der Funktionsblock gehört, an den Orten, die den einzelnen Spalten auf der Maske entsprechen, anzeigt.
  • Ein zweiter Aspekt enthält das Vorsehen ein und desselben oder gemeinsamen visuellen Merkmals (z.B. gleiche Farbe, gleiches oder gemeinsames Grundmuster, gleiche oder gemeinsame Marke etc.) bei jeder Spalte auf der Maske und dem Funktionsblock, der an der relevanten Spalte anzuordnen ist.
  • Ein dritter Aspekt enthält das Vorsehen der gleichen Umrissform für den vorgesehenen Anordnungsbereich einer jeden Spalte auf der Maske und für den Funktionsblock, der an der relevanten Spalte anzuordnen ist.
  • Gemäß der oben beschriebenen Führungsanzeigemethode überquert jeder Signalweg, der sich von der Eingangsendenseite zur Ausgangsendenseite längs der Reihenrichtung erstreckt, eine Reihe von Spalten, weshalb das Vergessen eines Anordnens oder ein Anordnungsfehler für den Funktionsblock durch sequenzielles Durchsuchen der Spaltenanzeige, die jeden Signalweg längs desselben schneidet, nach Art einer Check-Liste reduziert werden kann. Auch nach Abschluss der Anordnung der Funktionsblöcke kann in ähnlicher Weise die Spaltenanzeige, die jeden Signalweg längs desselben schneidet, in ähnlicher Weise sequenziell nach Art einer Check-Liste durchsucht werden, um auf einfache Weise ein Vergessen eines Anordnens oder einen Anordnungsfehler für den Funktionsblock zu verifizieren.
  • Verschiedene Arten können vorgesehen werden für die Zwangszurückweisungsfunktion für ein Zwangszurückweisen der Anordnung eines anderen als des für die Anordnung vorgesehenen Funktionsblocks an der relevanten Spalte.
  • Der erste Aspekt enthält, dass dem Anwender allein der Funktionsblock des Typs, der an der relevanten Spalte anordbar ist, als Menü (kleines Fenster, Pull-Down-Menü etc.) für jede Spalte dargeboten wird und die Anordnung des Funktionsblocks an der relevanten Spalte nur zugelassen wird, wenn der Auswahlvorgang durch den Anwender in dem Menü gemacht wird.
  • Der zweite Aspekt enthält das Anordnen einer Gruppe auswählbarer Funktionsblöcke in einem spezifischen Bereich auf einem Bildschirm, wo die Funktionsblöcke durch einen Ziehvorgang mit der Maus zum Programmierfeld bewegt werden können, aber der Funktionsblock, auch wenn der Drop-Vorgang durchgeführt wird, an einer anderen Spalte als der Spalte, in welcher der relevante Funktionsblock angeordnet werden kann, nicht positionsfixiert werden kann.
  • Der dritte Aspekt enthält das Anordnen einer Gruppe auswählbarer Funktionsblöcke in einem spezifischen Bereich auf einem Bildschirm, wo die Anzeige der Funktionsblöcke in Verbindung mit der Spezifikation einer jeden Spalte ausgeführt wird, wobei nur die in der relevanten Spalte anordbaren Funktionsblöcke aktiviert und über einen Drag-and-Drop-Vorgang nur im aktiven Zustand zum Programmierfeld bewegt und an der relevanten Spalte fixiert werden.
  • In diesem Fall kann, wenn die Maske die eine eingangsseitige Maske ist, der vorab definierte Anordnungsvorgang der Anordnungsvorgang zur Anordnung der einzelnen Funktionsblöcke der Reihe nach von der eingangsanschlussseitigennahen Spalte aus sein.
  • Eine solche Konfiguration ist wirksam hinsichtlich einer Unterdrückung eines Programmierungsfehlers, wenn eine Anzahl von Funktionsblöcken hintereinander in jeder Spalte der eingangsseitigen Maske angeordnet wird, um so der Reihe nach ausgehend von den Funktionsblöcken nahe der Eingangsanschlussseite bearbeitet zu werden, um das Verstehen des Arbeitens des Schaltkreises zu erleichtern.
  • Wenn die Maske die ausgangsseitige Maske ist, kann der vorab definierte Anordnungsvorgang der Anordnungsvorgang zur Anordnung der einzelnen Funktionsblöcke der Reihe nach von der Spalte aus, die nahe zur Ausgangsanschlussseite liegt, sein.
  • Eine solche Konfiguration ist wirksam bei der Unterdrückung eines Programmierungsfehlers, wenn eine Anzahl von Funktionsblöcken hintereinander in jeder Spalte der ausgangsseitigen Maske angeordnet wird, um so der Reihe nach ausgehend von den Funktionsblöcken nahe der Ausgangsanschlussseite bearbeitet zu werden, um das Verstehen des Arbeitens des Schaltkreises zu erleichtern.
  • Außerdem ist ein Einstellen auf einer Entsprechungsbeziehung zwischen wenigstens einem Eingangsanschluss und einem Geräteeingangsanschluss am Eingangsanschluss für jeden Funktionsblock erforderlich, wenn jeder Funktionsblock auf der eingangsseitigen Maske angeordnet wird, wobei die eingestellte Entsprechungsbeziehung in einem Speichermedium der Vorrichtung als Eingabegerätetabelle aufgezeichnet wird, wenn das Einstellen auf der eingangsseitigen Maske abgeschlossen ist, wobei ein Einstellen eines Eingangssignals wenigstens als besonderer Parameter an einem Ausgabebedingungsfunktionsblock, welcher einer der Funktionsblöcke ist, erforderlich ist, wenn die einzelnen Funktionsblöcke auf der ausgangsseitigen Maske angeordnet werden, und wobei ferner Eingangssignaleinstellmittel zur Ermöglichung eines Vorgangs des Auswählens eines gewünschten Eingangssignals aus einer menüangezeigten Eingangssignalliste durch Bezugnahme auf die Geräteeingangstabelle, wenn das Einstellen des Eingangssignals vorgenommen wird, eingerichtet sind, so dass jedermann ohne Schwierigkeit nach Abschluss des Programms eine Verifikation durchführen kann, indem er die Sicherheits-Eingabe/Ausgabe-Gerät-Entsprechungstabelle, die normalerweise vor dieser Art von Programmierung erstellt wird, sowie die menüangezeigte Eingangssignalliste überprüft, im Gegensatz zum Beispiel aus dem Stand der Technik, bei dem die Verdrahtung auf dem Logikschaltungsdiagramm zurückverfolgt werden muss, womit die Aufgabe einer getrennten Registrierung der Eingangssignaldaten für die Menüanzeige unnötig wird.
  • Der Auswahlvorgang für das Eingangssignal sowie die Verifizierungsarbeit nach Abschluss des Programms werden weiter vereinfacht, indem die Menüanzeige der Eingangssignalliste durchgeführt wird, indem die Eingangssignalnamen regelmäßig angeordnet werden, die innerhalb des auf dem Bildschirm der Bildanzeige geöffneten Menüfensters einzustellen sind.
  • Es ist darauf hinzuweisen, dass verschiedene andere Arten für die Weise der Menüanzeige der Eingangssignalliste vorgenommen werden können. Wenn beispielsweise die Anzahl von Eingangsanschlüssen auf etwa sechzehn Punkte, zweiunddreißig Punkte oder vierundsechzig Punkte zunimmt, nimmt auch die Anzahl von auszuwählenden Eingangssignalen in Entsprechung zu der erhöhten Anzahl von Eingangsanschlüssen zu, in welchem Fall die Eingangssignale in einer bestimmten Anzahl mehrmals menüangezeigt werden, indem die Eingangssignale in einige Gruppen unterteilt werden.
  • Wenn der Bereich von Eingangssignalen, die dem Zielausgangsbedingungsfunktionsblock zugeordnet sind, in gewissem Maße logisch abgeschätzt werden kann, wenn die Anzahl von Eingangspunkten in großen Anzahlen vorliegt, kann eine AI-Funktion vorgesehen sein, so dass die Menüanzeige ausgeführt wird, indem vorzugsweise die Eingangssignale verschmälert werden, die zu einer Gruppe hoher Wahrscheinlichkeit gehören, oder indem die Eingangssignale eingeschränkt werden, die zu der relevanten Gruppe gehören, womit der Auswahlvorgang wirkungsvoll durchgeführt werden kann.
  • Was die Eingangssignalanzeige in der menüangezeigten Eingangssignalliste anbelangt, kann der Name, das Symbol und dergleichen des Zieleingangsanschlusses zusätzlich zum Namen, dem Symbol und dergleichen, die das Eingangssignal darstellen, verwendet werden, und unter der Bedingung, dass ein zusätzlicher Raum in dem Anzeigebildschirm vorgesehen ist, kann, wenn eine allgemeine Form der Sicherheits-Eingabe/Ausgabe-Gerät-Entsprechungstabelle, die zu vergleichen ist, bekannt ist, die Sicherheits-Eingabe/Ausgabe-Gerät-Entsprechungstabelle in graphischer Form angezeigt werden, indem ein Umkehrmontagevorgang beruhend auf den eingestellten Eingangssignaldaten für jeden Ausgangsbedingungsfunktionsblock und die Sicherheitsausgabegerätdaten, die jedem Ausgangsanschluss zugeordnet sind, um so die Prüfung zu erleichtern, durchgeführt werden.
  • Gemäß der vorliegenden Erfindung wird eine Unterstützungsvorrichtung für die Programmentwicklung einer Sicherheitssteuerung vorgeschlagen, bei welcher ein Programmierungsfehler, wie etwa das Anordnen eines Funktionsblocks an der falschen Stelle oder in der falschen Reihenfolge, mit geringerer Wahrscheinlichkeit auftritt und ein solcher Programmierungsfehler, wenn er auftritt, sich einfach finden lässt und eine Parameterverifizierung des Ausgangsbedingungsfunktionsblock im fertig gestellten Programm erleichtert ist.
  • Figurenliste
    • 1 zeigt eine konzeptionelle Ansicht eines Sicherheitssteuerungssystems, dass eine Sicherheitssteuerung umfasst;
    • 2 zeigt ein Blockdiagramm, das Funktionen der Unterstützungsvorrichtung zur Programmentwicklung konzeptmäßig zeigt;
    • 3 zeigt ein schematisches Blockdiagramm eines Aufbaus der elektrischen Hardware der Unterstützungsvorrichtung zur Programmentwicklung;
    • 4 zeigt ein schematisches Blockdiagramm eines Aufbaus der elektrischen Hardware der Sicherheitssteuerung;
    • 5 zeigt ein Flussdiagramm (Nr. 1) eines Softwareaufbaus der Unterstützungsvorrichtung zur Programmentwicklung (erste Ausführungsform);
    • 6 zeigt ein Flussdiagramm (Nr. 2) eines Softwareaufbaus der Unterstützungsvorrichtung zur Programmentwicklung (erste Ausführungsform);
    • 7 zeigt ein Flussdiagramm (Nr. 3) eines Softwareaufbaus der Unterstützungsvorrichtung zur Programmentwicklung (erste Ausführungsform);
    • 8 zeigt ein detailliertes Flussdiagramm (Prozess, der dem Funktionsblock zur Ungültigmachung entspricht) des Erzeugungsprozesses für die Diagrammdaten der Schaltung der Eingabeseite;
    • 9 zeigt ein detailliertes Flussdiagramm (Prozess, der dem Einstell/Rücksetzfunktionsblock entspricht) des Erzeugungsprozesses für die Diagrammdaten der Schaltung der Eingabeseite;
    • 10 zeigt ein detailliertes Flussdiagramm (Prozess, der dem Anschlussmodusfunktionsblock entspricht) des Erzeugungsprozesses für die Diagrammdaten der Schaltung der Ausgangsseite;
    • 11 zeigt ein detailliertes Flussdiagramm (Prozess, der dem EDM Funktionsblock entspricht) des Erzeugungsprozesses der Diagrammdaten der Schaltung der Ausgangsseite;
    • 12 zeigt ein detailliertes Flussdiagramm (Prozess, der dem Ausgabezustandsfunktionsblock entspricht) des Erzeugungsprozesses der Diagrammdaten der Schaltung der Ausgangsseite;
    • 13 zeigt ein Flussdiagramm (Nr. 1) eines Softwareaufbaus der Unterstützungsvorrichtung zur Programmentwicklung (zweite Ausführungsform);
    • 14 zeigt ein Flussdiagramm (Nr. 2) eines Softwareaufbaus der Unterstützungsvorrichtung zur Programmentwicklung (zweite Ausführungsform);
    • 15 zeigt ein Flussdiagramm (Nr. 1) eines Softwareaufbaus der Unterstützungsvorrichtung zur Programmentwicklung (dritte Ausführungsform);
    • 16 zeigt ein Flussdiagramm (Nr. 2) eines Softwareaufbaus der Unterstützungsvorrichtung zur Programmentwicklung (dritte Ausführungsform);
    • 17 zeigt ein detailliertes Flussdiagramm eines Einstellprozesses des Sicherheitsausgabezustandes;
    • 18 zeigt eine erläuternde Ansicht eines Beispiels der Sicherheitsprogrammmaskedaten (Eingabeseite);
    • 19 zeigt eine erläuternde Ansicht eines Beispiels der Sicherheitsprogrammmaskedaten (Ausgabeseite);
    • 20 zeigt eine erläuternde Ansicht eines Beispiels von Daten (10b) einer logischen Schaltung, die durch einen Anwender erzeugt wurden;
    • 21 zeigt eine erläuternde Ansicht einer die Eingabeausrüstungstabelle;
    • 22 zeigt eine erläuternde Ansicht einer Einstellungstabelle für den Ausgabezustand;
    • 23 zeigt eine erläuternde Ansicht eines Beispiels der Einstellungsparameterdaten (Steuerungsprogramm), die auf die Sicherheitssteuerung heruntergeladen wurden;
    • 24 zeigt einen Bildschirm einer erläuternden Ansicht in einer anfänglichen Phase zu Beginn einer FB Anordnung auf einer Maske für die Eingabeseite;
    • 25 zeigt eine erläuternde Ansicht eines FB-Auswahlmenüfensters;
    • 26 zeigt eine erläuternde Ansicht eines Zustandsauswahlmenüfensters für eine Ungültigmachung der Eingabe;
    • 27 zeigt eine erläuternde Ansicht eines Einstellmenüfensters für einen Rücksetzzustand;
    • 28 zeigt eine erläuternde Ansicht auf einem Bildschirm der Maske für die Eingabeseite, auf der ein Eingabe-FB, ein Invalidierungszustand-FB und ein Rücksetz-FB angeordnet ist;
    • 29 zeigt einen Bildschirm einer beispielhaften Ansicht in einer Anfangsphase zu Beginn einer FB-Anordnungseinstellung auf einer Maske für die Ausgangsseite;
    • 30 zeigt einen Bildschirm einer erläuternden Ansicht verschiedener Menüfenster, die auf eine Schweißüberprüfung bezogen sind;
    • 31 zeigt eine erläuternde Ansicht eines Einstellmenüfensters für den Anschlussmodus;
    • 32 zeigt eine erläuternde Ansicht eines Einstellfensters für den Ausgabezustand;
    • 33 zeigt eine erläuternde Ansicht eines Überprüfungsbildschirmes bei Beendigung der FB-Anordnung auf der Maske für die Eingabeseite;
    • 34 zeigt eine erläuternde Ansicht eines Überprüfungsbildschirmes bei Beendigung der FB-Anordnung auf der Maske für die Ausgabeseite;
    • 35 zeigt eine erläuternde Ansicht eines Bildschirms eines Warnfensters, dass angezeigt wird, wenn die Anordnungsmethode des FB fehlerhaft ist;
    • 36 zeigt eine erläuternde Ansicht eines bevorzugten Anordnungsbeispiels und eine Anordnungsmethode jedes FB;
    • 37 zeigt ein Anzeigebeispiel eines Diagramms einer logischen Schaltung gemäß einer Unterstützungsvorrichtung zur Programmentwicklung (erster Stand der Technik);
    • 38 zeigt ein Anzeigebeispiel eines Diagramms einer logischen Schaltung gemäß einer Unterstützungsvorrichtung zur Programmentwicklung (zweiter Stand der Technik); und
    • 39 zeigt eine erläuternde Ansicht einer Zugehörigkeitstabelle für die Sicherheitseingabe/-ausgabeausrüstung.
  • Ausführliche Beschreibung der bevorzugten Ausführungsformen Geeignete Ausführungsformen der Unterstützungsvorrichtung zur Programmentwicklung einer Sicherheitssteuerung der vorliegenden Erfindung werden im Einzelnen unter Bezug unter die beigefügten Zeichnungen beschrieben werden.
  • 1 zeigt ein konzeptionelles Diagramm, das ein Sicherheitssteuerungssystem zeigt, das die als Zielsetzung der Unterstützungsvorrichtung zur Programmentwicklung gemäß der vorliegenden Erfindung dienende Sicherheitssteuerung umfasst. Das in 1A gezeigte Sicherheitssteuerungssystem ist durch Verbinden einer Sicherheitssteuerung 1 und zweier oder mehrerer Sicherheits-E/A-Anschlüssen 5 über ein Busnetzwerk 2a aufgebaut. In dem in 1 gezeigten Sicherheitssteuerungssystem dient die Sicherheitssteuerung 1 als eine Mastereinheit und der Sicherheits-E/A-Anschluss 5 als eine Slaveeinheit.
  • Eine Eingabeausrüstung 3 und eine Ausgabeausrüstung 4 sind entsprechend mit der Sicherheitssteuerung 1 und dem Sicherheits-E/A-Anschluss 5 verbunden. Die Eingabeausrüstung 3 kann ein Sicherheitsnotstopschalter, ein Sicherheitslichtvorhang, ein Sicherheitsüberlastschalter, ein Schalter für eine Sicherheitstür und dergleichen sein. Die Ausgabeausrüstung 4 kann ein Sicherheitsrelais, ein Sicherheitskontakt und dergleichen sein.
  • Wenn sie mit einem Master-Slave-Sicherheitssteuerungssystem, das in 1A gezeigt ist, verwendet wird, kann die Unterstützungsvorrichtung 10 zur Programmentwicklung der vorliegenden Erfindung mit dem Busnetzwerk 2a, das die Sicherheitssteuerung 1 und jeden Sicherheits-E/A-Anschluss 5 verbindet, verbunden sein. Wenn sie mit einem unabhängigen Steuerungssystem, das in 1B gezeigt ist, andererseits verwendet wird, ist die Unterstützungsvorrichtung 10 zur Programmentwicklung der vorliegenden Erfindung direkt über ein vorbestimmtes Kabel 2b verbunden. Das auf Sicherheit bezogene Steuerungsprogramm, das mit der Unterstützungsvorrichtung 10 zur Programmentwicklung erzeugt wurde, wird darauffolgend in ein von jeder Sicherheitssteuerung 1 ausführbares Format konvertiert und darauffolgend zu jeder Sicherheitssteuerung 1 geschickt.
  • 3 zeigt ein schematisches Blockdiagramm, das einen Aufbau der elektrischen Hardware der Unterstützungsvorrichtung zur Programmentwicklung gemäß der vorliegenden Erfindung zeigt. Wie unter Bezug auf 1 und 3 offensichtlich ist, ist die Unterstützungsvorrichtung zur Programmentwicklung 10 in dem dargestellten Beispiel mit einem Laptop als Hauptelement aufgebaut.
  • Der Hardwareaufbau des Laptops ist durch Verbinden einer CPU 11, einer Eingabefunktionseinheit 12, einer Bildanzeige 13, einem Arbeits-RAM 14, einer Speichervorrichtung 15 und einer Kommunikationseinheit über einen Systembus 17, wie es dem Fachmann bekannt ist, konfiguriert.
  • Die CPU 11 ist mit einem Mikroprozessor als Hauptelement aufgebaut und steuert durchweg den gesamten Laptop. Die Eingabefunktionseinheit 12 ist als Maus, Tastatur und dergleichen als Hauptelement konfiguriert und dient als eine Menschmaschinenschnittstelle, um dem Laptop verschiedene Instruktionen zu übergeben.
  • Die Bildanzeige 13 ist durch eine Flüssigkristallanzeige etc. aufgebaut, wobei ein Programmierfeld 201 gemäß der vorliegenden Erfindung auf einem Bildschirm 13a der Bildanzeige 13 angezeigt wird, wie im Einzelnen unter Bezug auf 24 und dergleichen beschrieben werden wird. Der Arbeits-RAM 14 wird als ein Arbeitsbereich verwendet, wenn die CPU 11 ein Systemprogramm, ein Anwenderprogramm und dergleichen, die hiernach zu beschreiben sind, ausführt.
  • Die Speichervorrichtung 15 ist durch eine Festplatte und dergleichen aufgebaut und umfasst darin einen Ausgabebildspeicher 15a, einen Systemspeicher 15b und einen Programmspeicher 15c. Im Bezug auf die vorliegende Erfindung wird der Ausgabebildspeicher 15a verwendet, verschiedene Bilddaten zu speichern, wenn verschiedene Bilder auf dem Bildschirm 13a der Bildanzeige 13 angezeigt werden, und der Systemspeicher 15b wird verwendet, eine Firmware (die das Betriebssystem umfasst) zur Konfiguration der wesentlichen Funktionen des Laptops zu speichern. Der Programmspeicher 15c wird verwendet, verschiedene Anwendungsprogramme, die auf dem Laptop auszuführen sind, zu speichern.
  • Wie oben beschrieben, ist es wohl bekannt, dass verschiedene Programme und Daten, die in dem Ausgabebildspeicher 15a, dem Systemspeicher 15b und dem Programmspeicher 15c gespeichert sind, auf dem Arbeitsbereich des Arbeits-RAM 14, wenn sie durch die CPU 11 ausgeführt werden, entwickelt und ausgeführt werden.
  • 4 zeigt ein schematisches Blockdiagramm, das einen Aufbau der elektrischen Hardware der Sicherheitssteuerung 1, zeigt. Wie in der Figur gezeigt, umfasst die Sicherheitssteuerung 1 darin eine Kommunikations-I/F-Einheit 101, eine Einheit 102 zur zentralen Verarbeitung, eine Eingabeanschlusseinheit 104a und eine Ausgabeanschlusseinheit 104b.
  • Die Kommunikations-I/F-Einheit 101 ist vorgesehen, eine Schnittstellenfunktion zu realisieren, wenn eine Kommunikation zwischen der Sicherheitssteuerung 1 und dem Netzwerk 2a, 2b durchgeführt wird. Die Zentralverarbeitungseinheit 102 steuert durchweg die gesamte Sicherheitssteuerung 1 und ist mit einem Mikroprozessor, einem ROM, einem RAM und dergleichen als Hauptkörper aufgebaut.
  • Die Eingabeanschlusseinheit 4a umfasst eine Vielzahl von Eingabeanschlüssen (Anschluss 1, Anschluss 2, ... Anschluss n) für Empfangssignale von der Eingabeausrüstung 3. Die Ausgabeanschlusseinheit 4b umfasst eine Vielzahl von Ausgabeanschlüssen (Anschluss 1, Anschluss 2, ... Anschluss n) zur Übertragung von Ausgabesignalen an die Ausgabeausrüstung 4.
  • Eine Diagnoseeinheit 103a für Anschlussabnormalitäten auf der Eingabeseite umfasst einzelne Diagnoseeinheiten, die jedem Eingabeanschluss der Eingabeanschlusseinheit 104 entsprechen. Jede einzelne Diagnoseeinheit ist als eine Mehrzweckdiagnoseeinheit, die einer Vielzahl von Eingabeausrüstungstypen entspricht, konfiguriert, wobei die Diagnoseeinheit mit einem jedem Eingabeausrüstungstyp entsprechenden Parameter eingestellt wird, so dass die Diagnoseeinheit in einer für den relevanten Ausrüstungstyp spezialisierten Form aufgebaut ist. In dem später beschriebenen Programmiertask ist es der Parameter zur Spezialisierung der Anschlussabnormalität-Diagnoseeinheit 103a auf jeden Eingabeausrüstungstyp, der als Parameter des Funktionsblocks des Eingabesystems erscheint.
  • Eine Anschlussabnormalität-Diagnoseeinheit 103b auf der Ausgabeseite umfasst auf ähnliche Art und Weise einzelne Diagnoseeinheiten, die jedem Ausgabeanschluss der Ausgabeanschlusseinheit 104b entsprechen. Jede einzelne Diagnoseeinheit ist als eine Mehrzweckdiagnoseeinheit aufgebaut, die einer Vielzahl von Ausgabeausrüstungstypen entspricht, wobei die Diagnoseeinheit mit einem Parameter eingestellt wird, der jedem Ausgabeausrüstungstyp entspricht, so dass sie als eine dem relevanten Ausgabeausrüstungstyp entsprechende Diagnoseeinheit spezialisiert ist.
  • 2 zeigt ein Blockdiagramm, dass die Funktion der Unterstützungsvorrichtung 10 zur Programmentwicklung konzeptionell zeigt. Wie in der Fig. gezeigt umfassen, wenn die Konzentration auf den Aufbau zur Realisierung der vorliegenden Erfindung gelegt wird, die für die Unterstützungsvorrichtung 10 zur Programmentwicklung notwendigen funktionellen Komponenten eine Ausrüstungstabelle 10a für die Sicherheitseingabe, Diagrammdaten 10b für die logische Schaltung, einen Compiler 10c zur Erzeugung eines Einstellparameters und einen Einstellparameter 10d, der aus den Logikschaltungsdiagrammdaten 10b durch den Compiler 10c konvertiert wurde. Die funktionellen Komponenten werden sowohl unter Bezug auf die in 18 bis 23 gezeigten Diagramme als auch die Flussdiagramme, die in 5 bis 17 gezeigt sind, zur Beschreibung des Betriebs der Unterstützungsvorrichtung zur Programmentwicklung gemäß der vorliegenden Erfindung erläutert werden.
  • Der Betrieb der Unterstützungsvorrichtung zur Programmentwicklung gemäß der vorliegenden Erfindung wird unter Bezug auf die 5 bis 17 erklärt werden. Das Anwendungsprogramm, das in den entsprechenden Flussdiagrammen gezeigt ist, ist in dem Programmspeicher 15c, der unter Bezug auf die 3 oben beschrieben wurde, gespeichert. Der Ablauf, der in den Flussdiagrammen gezeigt ist, wird unter der Steuerung der CPU 11, die der Verarbeitungseinheit entspricht, ausgeführt.
  • 5 bis 17 zeigen ein Flussdiagramm, das die Softwarekonfiguration der Unterstützungsvorrichtung zur Programmentwicklung zeigt.
  • In 5, wenn der Prozess gestartet wird, wird ein Prozess zum Akzeptieren der Anwendertätigkeit zur Einstellung eines Sicherheits-Eingabe/Ausgabe-Anschlusses ausgeführt (Schritt 101). Die Anwendertätigkeit umfasst eine Eingabetätigkeit eines vorbestimmten Schlüssels, eine Mausoperation und dergleichen auf dem Laptop, der die Unterstützungsvorrichtung 10 zur Programmentwicklung bildet. Verschiedene auf den Sicherheits-Eingabe/Ausgabe-Anschluss bezogene Daten werden durch solch eine Anwendertätigkeit eingestellt. Die verschiedenen Daten, die auf den Sicherheits-Eingabe/Ausgabe-Anschluss bezogen sind, die auf solche Art und Weise gewonnen wurden, werden in dem Arbeits-RAM 14 gespeichert (Schritt 102).
  • 24 zeigt einen Bildschirm mit einer erläuternden Ansicht zu einer anfänglichen Stufe zu Beginn der Funktionsblockanordnung (Funktionsblock wird hiernach ebenfalls als „FB“ bezeichnet) auf der Eingabenseitemaske, und 29 zeigt einen Bildschirm mit einer erläuternden Ansicht zu einer anfänglichen Stufe zu Beginn einer FB-Anordnungseinstellung auf der Ausgabeseitenmaske.
  • Wie in 24 gezeigt, wird ein Fenster 200 für einen Assistenten für die Eingabesicherheitslogik auf dem Bildschirm 13a der Bildanzeige 13 des Laptops, der die Unterstützungsvorrichtung 10 zur Programmentwicklung aufbaut, gezeigt. Hier bedeutet „Assistent für die Sicherheitslogik“ einen Sammelbegriff für verschiedene Anwenderunterstützungsfunktionen zur Erzeugung des Logikschaltungsdiagramms, das dem Steuerungsprogramm für die Sicherheitssteuerung entspricht.
  • Das Programmierfeld 201, das eine horizontale lange rechteckige Form aufweist, ist in dem geöffneten Fenster 200 definiert und die Eingabemaske 202 des Hauptelementes der vorliegenden Erfindung ist in dem Programmierfeld 201 angezeigt.
  • Auf der Eingabeseitemaske 202 sind eine Vielzahl von Positionen, auf denen Blöcke anordbar sind, vorgesehen, so dass sie jedem Schnittpunkt von Zeilen (R1, R2, R3, ...), die sich in der horizontalen Richtung des Bildschirm erstrecken, und von Spalten (C1, C2, C3), die sich in der vertikalen Richtung des Bildschirms erstrecken, entsprechen. Information, die sich auf den Eingabeanschluss der relevanten Zeile bezieht, ist in Übereinstimmung zu jeder Zeile (R1, R2, R3, R4, ...) an der linken Seitenkante der Eingabeseitenmaske 202 angezeigt.
  • In diesem Beispiel ist die erste Zeile (R1) zwei Eingabeanschlüssen [IN0/1] zugeordnet, und solche Eingabeanschlüsse sind eingestellt, ein Paar von NC Signalen (normal geschlossen; Ruhekontakt) von dem Notausschalter mit Duplizierungsspezifikationen zu empfangen. Die zweite Zeile (R2) ist zwei Eingabeanschlüssen [IN2/3] zugeordnet und solche Eingabeanschlüsse sind eingestellt, ein Paar von NC-Signalen von dem Sicherheitstürschalter Duplizierungsspezifikation zu empfangen. Die dritte Zeile (R3) ist einem einzigen Eingabeanschluss [IN4] zugeordnet und solch ein Eingabeanschluss ist eingestellt, ein Signal von dem Türschalter mit Nicht-Duplizierungsspezifikation zu empfangen.
  • In Entsprechung zu der Einstellung solcher Eingabeanschlüsse sind die Funktionsblöcke zur Realisierung der Selbstdiagnosefunktion, die sich auf die entsprechenden Anschlüsse bezieht, derart angeordnet, dass sie der Anschlusseinstellung jeder Zeile (R1, R2, R3) in der ersten Spalte (C1) der Eingabeseitenmaske 202 entsprechen.
  • Mit anderen Worten ist ein Funktionsblock (FB11) für den Notausschalter an einer Position, in der ein Block angeordnet werden kann (kleiner Bereich mit horizontaler langer rechteckiger Form) und die der ersten Zeile (R1) der ersten Spalte (C1) entspricht, angeordnet, ein Funktionsblock (FB12) für einen Sicherheitslichtvorhang verdoppelter Ausführung an einer Position, in der ein Funktionsblock angeordnet werden kann und die der zweiten Zeile entspricht, angeordnet, und ein Funktionsblock (FB13) für einen Sicherheitslichtvorhang nicht verdoppelter Ausführung ist an der Position, in der ein Funktionsblock angeordnet werden kann und die der dritten Zeile (R3) entspricht, angeordnet.
  • Zurückkehrend zu Flussdiagramm in 5 werden, nachdem die Prozesse der Schritte 101, 102 ausgeführt sind, die Einstellung des Eingabeanschlusses, der oben beschrieben wurde, und die Anordnung der Funktionsblöcke durchgeführt.
  • Der Funktionsblock zur Ungültigmachung der Eingabe oder der Eingabe/Ausgabe-Zustands-Funktionsblock (FB01) ist ausgestaltet, an der Blockanordnungsposition jeder Zeile der zweiten Spalte (C2) auf der Eingabeseitenmaske 202 angeordnet zu werden, und ähnlich ist der Einstell/Rücksetz-Funktionsblock oder der Eingabe/AusgabeZustandsfunktionsblock (FB01) ausgestaltet, an der Blockanordnungsposition jeder Zeile der dritten Spalte (C3) angeordnet zu werden. Solch eine Ausgestaltung wird verwirklicht, indem der Funktionsblock für jede Spalte aus dem Menüfenster auswählbar ist.
  • Indices 203-1 bis 203-3, die den Inhalt des an der relevanten Spalte anzuordnenden Funktionsblocks anzeigen, sind am oberen Rand der Eingabeseitenmaske 202 in Übereinstimmung mit jeder Spalte (C1, C2, C3) angegebenen. Der Inhalt des Index 203-1, der der ersten Spalte (C1) entspricht, ist „Eingabe“, was den Funktionsblock für das Eingabesystem anzeigt, der Inhalt des Index 203-2, der der zweiten Spalte (C2) entspricht, ist „ungültig machen“, was den Funktionsblock zur Ungültigmachung der Eingabe angibt, und der Inhalt des Indexzeichens 203-3, der der dritten Spalte (C3) entspricht, ist „zurücksetzen“, was den Einstell/Rücksetz-Funktionsblock angibt.
  • Die Eingabeanzeigeinformation, die die gleiche ist, wie die Eingabeanzeigeinformation am linken Seitenrand der Eingabeseitenmaske 202, wird am rechten Seitenrand für jede Spalte (R1, R2, R3, R4, ...) angezeigt. D.h., jede Zeile wird einem einzigen Eingabesignal in Zeileneinheiten auf der Eingabeseitenmaske zugeordnet.
  • Folglich sind gemäß der Eingabeseitenmaske 202, die solch eine Struktur aufweist, die Funktionsblöcke, die dem gleichen Eingabesignal zugeordnet sind, in der gleichen Zeile angeordnet, und die Funktionsblöcke gleichen Typs sind in der gleichen Spalte angeordnet und folglich ist es weniger wahrscheinlich, dass ein Programmierfehler, wie z.B. das Anordnen des auf einem bestimmten Eingabesignalpfad anzuordnenden Funktionsblockes auf einem anderen Eingabesignalpfad oder das Anordnen einer Vielzahl von in einer bestimmten Reihenfolge aneinanderzureihenden Funktionsblöcken in einer anderen Reihenfolge, auftritt.
  • 29 zeigt eine den Bildschirm erläuternde Ansicht zu einer Anfangsstufe zu Beginn der FB-Anordnungseinstellung auf der Ausgabeseitenmaske. Wie in der Figur gezeigt, wird eine Ausgabeseitenmaske 210 in dem Programmierfeld 201 in dem auf dem Bildschirm in diesem Beispiel geöffneten Fenster 200 gezeigt. Auf der Ausgabeseitenmaske 210 sind die Positionen, an denen Blöcke angeordnet werden können, (kleiner Bereich mit horizontal langer rechteckiger Form) in Entsprechung zu jedem Schnittpunkt der Zeilen (R1, R2, R3, R4, ...) und der Spalten (C4, C5, C6) definiert.
  • Die Anschlussinformation, die auf die relevante Zeile bezogen ist, wird in Übereinstimmung mit jeder Zeile (R1, R2, R3, R4, ...) am rechten Seitenrand der Ausgabeseitenmaske 210 angezeigt. In dem dargestellten Beispiel ist die erste Zeile (R1) zwei Ausgabeanschlüssen [OUT0/1], die Sicherheitsspezifikation aufweisen, zugeordnet, und jeder solcher Ausgabeanschluss ist mit zwei Sicherheitsrelais über Kabel verbunden. Die zweite Zeile (R2) ist einem einzigen Ausgabeanschluss [OUT2] zugeordnet, und der Ausgabeanschluss ist mit einem Sicherheitsrelais verbunden. In diesem Beispiel sind die dritte Zeile (R3) und die vierte Zeile (R4) jeweils einem Ausgabeanschluss [OUT3] und [OUT4] zugeordnet, die Verdrahtungszielpunkte der Ausgabeanschlüsse sind jedoch nicht bestimmt.
  • Die vierte Spalte (C4), die an der ersten Stelle der Ausgabeseitenmaske 210 angeordnet ist, ist einem Ausgabezustandsfunktionsblock zugeordnet, die fünfte Spalte (C5) oder die nächste Spalte ist einem Funktionsblock zur Schweißüberprüfung (EDM) zugeordnet und die sechste Spalte (C6) oder die folgende Spalte ist einem Anschlussartfunktionsblock zugeordnet.
  • Um das Obige klarer zu machen, sind Indices 203-4 bis 203-6, die den in der relevanten Spalte anzuordnenden Funktionsblock angeben, am oberen Rand der Ausgabenseitenmaske 210 in Entsprechung zu jeder Spalte (C4, C5, C6) angezeigt.
  • Speziell ist der Inhalt des Index 203-4 „Ausgabezustand“, der den Ausgabezustandsfunktionsblock der Bestimmung, bei welchen logischen Werten des einen oder der zwei oder der mehr Eingabesignale die Ausgabe zu erzeugen ist, angibt. Der Inhalt des Index 203-5 ist „Schweißüberprüfung (EDM)“, der den Schweißüberprüfungs-(EDM-)Funktionsblock zur Durchführung der Schweißüberprüfung des mit dem Ausgabeanschluss verbundenen Sicherheitsrelais angibt. Der Inhalt des Index 203-6 ist „Anschlussmodus“, der den Anschlussmodusfunktionsblock zur Einstellung des Anschlussmodus von Ein-Verzögerung, Aus-Verzögerung und dergleichen angibt.
  • Auf diesem Bildschirm der anfänglichen Stufe ist der Fern-E/A-Funktionsblock (FB61) an der Position, an der der Block positionierbar ist, der ersten Zeile (R1) der sechsten Spalte (C6) angeordnet, und der Fern-E/A-Funktionsblock (FB62) ist an der Position, an der der Block positionierbar ist, der zweiten Zeile (R2) angeordnet.
  • Es ist anzumerken, dass der wesentliche Punkt der ist, dass, ähnlich zu dem Fall der Eingabeseitenmaske, der oben beschrieben wurde, jede Spalte (C4, C5, C6) einem bestimmten Typ von Funktionsblock zugeordnet ist und insbesondere die Spalte (C4), die an der ersten Stelle positioniert ist, dem Ausgabezustandsfunktionsblock auf der Ausgabeseitenmaske zugeordnet ist, und folglich die Funktionsblöcke, die dem mit den erfüllten Ausgabezuständen gewonnenen Ausgabesignal zugeordnet sind, an den blockanordbaren Positionen der Zeile, in der der Ausgabefunktionsblock in wenigstens der Spalte (C4) angeordnet ist, angeordnet.
  • Gemäß solch einer Ausgabeseitenmaske können die Funktionsblöcke, die die dem gleichen Ausgabesignal zugeordneten Prozesse durchführen, in der gleichen Zeile wie die Zeile, in der der Ausgabezustandsfunktionsblock zur Erzeugung des relevanten Ausgabesignals angeordnet ist, angeordnet werden und die Funktionsblöcke des gleichen Typs sind entsprechend in einer spezifischen Spalte angeordnet und folglich ist es unwahrscheinlich, dass ein Programmierfehler, wie z.B. die Anordnung des in einem bestimmten Ausgabesignalpfad anzuordnenden Funktionsblockes auf einem anderen Ausgabesignalpfad oder die Anordnung einer Vielzahl von in einer bestimmten Reihenfolge aufzureihenden Funktionsblöcken in einer anderen Reihenfolge, ähnlich zu der Eingabenseitenmaske, auftritt.
  • Gemäß der Unterstützungsvorrichtung zur Programmentwicklung der vorliegenden Erfindung wird die gesamte Maske, unterteilt in die Eingabeseitenmaske 202 und die Ausgabeseitenmaske 210, wie in 24 und 29 getrennt gezeigt, angezeigt, und folglich ist es unwahrscheinlicher, dass ein Programmierfehler auftritt, verglichen mit einem Fall, in dem die Masken integriert vereinigt sind und angezeigt werden.
  • Zusätzlich kann ein Anordnungsfehler des Funktionsblockes, der durch fehlerhafte Erkennung des Eingabesignalpfades und des Ausgabesignalpfades verursacht wird, zuverlässig verhindert werden, indem nicht nur die Maske in die Eingabeseite und die Ausgabeseite unterteilt wird, sondern auch indem die Eingabeseitenmaske 202 und die Ausgabeseitenmaske 210 auf verschiedenen Bildschirmen alternativ angezeigt werden.
  • In 24 und 29, die oben beschrieben wurden, ist D1 eine Bildlaufleiste zum Blättern des Bildschirmes in vertikaler Richtung, D2 ein „Rückkehr“-Knopf zum Zurückkehren zu dem vorherigen Bildschirm, D3 ein „Nächster“ Knopf zur Verstellung auf den nächsten Bildschirm und D4 ein „Abbrech“-Knopf zum Abbrechen verschiedener Befehle.
  • Wie aus dem Vorhandensein der Bildlaufleiste D1 offensichtlich, kann die Eingabeseitenmaske 202 und die Ausgabeseitenmaske 210 in der vertikalen Richtung um eine beliebige Länge, wenn die benötigten Eingabeanschlüsse ansteigen, auf acht Punkte, sechzehn Punkte, zweiunddreißig Punkte und vierundsechzig Punkte usw. erweitert werden, in welchem Fall eine bestimmte Zeile, die von dem Bildschirm verdeckt ist in das Programmierfeld 200 durch Betätigen der Bildlaufleiste D1 gebracht werden kann.
  • Bei der vorliegenden Erfindung ist der Sicherheitslogikassistent, der oben beschrieben wurde, aufgenommen, um Programmierfehler zu vermeiden, die aus verschiedenen Gründen auf der Eingabeseitenmaske 202 und auf der Ausgabeseitenmaske 210, die oben beschrieben wurden, verursacht wurden. Der Inhalt des Sicherheitslogikassistenten wird im Einzelnen unten unter Bezug auf die Diagramme der 18 bis 23 beschrieben werden.
  • Zurückkehrend zu 5 wird, nachdem das Speichern der Sicherheits-Eingabe/Ausgabe-Anschlusseinstellung beendet ist (Schritt 102), die Anzeige der Eingabeseitenmaske 202, die mit dem Sicherheitslogikassistenten verwendet wird, wie in 24 gezeigt, durchgeführt (Schritt 103). Danach wird ein Erzeugungsprozess der Schaltungsdiagrammdaten für die Eingabeseite durchgeführt, der der Hauptteil der vorliegenden Erfindung ist (Schritt 104). Der Erzeugungsprozess der Schaltungsdiagrammdaten der Eingangsseite wird unter der Unterstützung des Sicherheitslogikassistenten durchgeführt.
  • Wie in 5 gezeigt, bestimmt der Erzeugungsprozess der Schaltungsdiagrammdaten für die Eingabeseite (Schritt 104), ob der FB gemäß der vordefinierten „Anordnungsspalte“ und „Anordnungsprozedur“ angeordnet ist oder nicht (Schritt 104b), jedes Mal, wenn die Anwenderbetätigung zur FB Anordnung auf der Eingabeseitenmaske durchgeführt wird (Schritt 104a), wobei, wenn der FB gemäß der vordefinierten „Anordnungsspalte“ und der „Anordnungsprozedur“ (JA in Schritt 104b) angeordnet wird, der Anordnungsinhalt des relevanten FB gespeichert (registriert) wird (Schritt 104c), die Absicht, die FB Anordnung fortzusetzen, auf der Anwenderseite betätigt wird (Schritt 105) und die nächste Anwendertätigkeit abgewartet wird (Schritt 104a), um den gleichen Prozess zu wiederholen. Wenn bestimmt wird, dass der FB nicht gemäß der vordefinierten „Anordnungsspalte“ und „Anordnungsprozedur“ angeordnet ist (NEIN in Schritt 104b), wird der Anordnungsinhalt eines solchen FB nicht gespeichert (registriert) und der Prozess der Anzeige einer vorbestimmten Warnung auf dem Bildschirm (Schritt 104d) wird wiederholt, bis die Absicht des Anwenders, die FB Anordnung auf der Eingabeseite fortzusetzen, bestätigt wird (Schritt 105).
  • Die vordefinierte „Anordnungsspalte“, die als ein Bestimmungsstandard dient, definiert, welche Spalte auf der Eingabeseitenmaske 202 die einzelnen Funktionsblöcke anordnen soll, und ist in dem Arbeits-RAM 14 etc. als Maskendaten für das Sicherheitsprogramm (Eingabeseite), wie in 18 gezeigt, gespeichert.
  • Wie in 18 gezeigt, sind die Maskendaten für das Sicherheitsprogramm (Eingabeseite) konfiguriert, indem der „Typname“ (Eingabesystemfunktionsblock etc.) des Funktionsblockes, für den zugelassen ist, dass er in der relevanten Spalte gespeichert wird, und die Liste des einzelnen Funktionsblockes, der in dem relevanten „Typnamen“ enthalten ist, in Zuordnung zueinander für jede Spalte (erste Spalte, zweite Spalte, dritte Spalte, ...) in Form einer Tabelle gespeichert wird.
  • Zurückkehrend zu 5, wird die Kombination der „Spalte“, die in der Anwenderbetätigung 104a spezifiziert wurde, und des spezifischen „Funktionsblocknamens“ mit den Maskendaten für das Sicherheitsprogramm (Eingabeseite), das in 17 gezeigt ist, überprüft, um zu bestimmen, ob der FB gemäß der vordefinierten „Anordnungsspalte“ in dem Bestimmungsprozess aus Schritt 104b angeordnet wurde oder nicht.
  • Auf der Eingabeseitenmaske 202, die in 24 gezeigt ist, wird der Pull-down-Knopf (PB2) der ersten Zeile (R1) mit einer Maus gedrückt, wenn es erwünscht ist, den Funktionsblock (FB21) für die logische Operation an der blockanordbaren Position, der zweiten Spalte (C2) der ersten Zeile (R1) beispielsweise anzuordnen. Ein Menüfenster 204 wird dann geöffnet, so dass es die Eingabeseitenmaske 202, wie in 25 gezeigt, überdeckt.
  • Drei Funktionsblöcke sind über drei Stufen auf dem Menüfenster 204 vertikal angezeigt. Die drei Funktionsblöcke sind der Eingabe/Ausgabe-Zustandsfunktionsblock (FB01), der Funktionsblock (FB21) für eine logische Operation ODER und der Funktionsblock (FB22) für eine logische Operation UND und ODER. In diesem Zustand wird, wenn der Funktionsblock (FB21) für die logische Operation ODER durch eine vorbestimmte Operation der Maus und dergleichen ausgewählt wird, der ausgewählte Funktionsblock (FB21) an der blockanordbaren Position, die durch die erste Zeile (R1) und die zweite Spalte (C2) spezifiziert ist, angeordnet.
  • Auf ähnliche Art und Weise wird ein Pull-down-Knopf PB3 der dritten Spalte betätigt, wenn es gewünscht ist, den Einstell/RücksetzFunktionsblock (FB31) an der blockanordbaren Position, die an der dritten Spalte (C3) der ersten Zeile (R1) positioniert ist, anzuordnen. Ein Menüfenster 205 wird darauffolgend, wie in 25B gezeigt, geöffnet.
  • Die auswählbaren Funktionsblöcke werden vertikal über zwei Stufen in dem Menüfenster 205 angezeigt. Die Funktionsblöcke sind der Eingabe/Ausgabe-Zustands-Funktionsblock (FB01) und der Einstell/Rücksetz-Funktionsblock (FB31). In diesem Zustand wird, wenn der Einstell/Rücksetz-Funktionsblock (FB31) durch eine Klickoperation der Maus und dergleichen ausgewählt wird, der ausgewählte Funktionsblock (FB31) an der blockanordbaren Position, die an der dritten Spalte (C3) der ersten Zeile (R1) positioniert ist, angeordnet. Wenn der Zustand zur Ungültigmachung der Eingabe aus dieser Stellung eingestellt wird, wird ein Menüfenster 206, das in 26 gezeigt ist, weiterhin durch eine vorbestimmte Operation der Maus geöffnet.
  • Wie in der Figur gezeigt, sind eine Signalnamen-Spalte zur UND-Bedingungseinstellung und eine Signalnamen-Spalte zur ODER-Bedingungseinstellung in dem Menüfenster 206 angezeigt, und Ankreuzfeldspalten 207, 208 sind an dem Kopf der Signalnamen, die die entsprechenden Spalten den Signalnamen aufbauen, angezeigt.
  • Wenn die ODER-Operation in dem Menüfenster 204, das in 25A gezeigt ist, ausgewählt wird, wird ein Häkchen mit der Klickoperation etc. der Maus innerhalb des ODER-Zustandseinstellungsbereiches des Menüfensters 206, wie in 26A gezeigt, erstellt. Wenn die UND-Operation (nicht gezeigt) in dem Menüfenster 204, das in 25A gezeigt ist, ausgewählt wird, wird ein Häkchen mit der Mausoperation etc. mit Bezug auf das Ankreuzfeld 207 des entsprechenden Eingabesignalnamens innerhalb des UND-Zustandseinstellungsbereiches des Menüfensters 206, das in 26B gezeigt ist, erstellt. Die Auswahl des Funktionsblockes zur Ungültigmachung der Eingabe und die Einstellung des Zustandes zur Ungültigmachung der Eingabe können durch solch eine Operation von jedem leicht durchgeführt werden. Wenn der Rücksetzzustand eingestellt wird, nachdem der Einstell/Rücksetz-Funktionsblock ausgewählt wurde, wird ein Menüfenster 209, wie in 27 gezeigt, geöffnet, um die Einstellung des entsprechenden Rücksetzzustandes durchzuführen. D.h., es wird, wie in 27A gezeigt, eine Rücksetzbedingungsliste angezeigt, wenn ein Pull-down-Menüknopf D7 mit einer Maus in dem Menüfenster 209 betätigt wird, ein optimaler Rücksetzzustand hieraus eingestellt und danach, wie in 27B gezeigt, der OK-Knopf D8 betätigt, um die gewünschte Rücksetzbedingung einzustellen. Ein Abbrechknopf D9 wird beim Abbrechen betätigt, um die Rücksetzbedingung zurückzusetzen.
  • 28 zeigt ein Beispiel der Maske für die Eingabeseite, nachdem die Auswahl des Funktionsblockes und die Einstellung der einzelnen Bedingungen durchgeführt wurde. Wie in der Fig. gezeigt, können der Eingabesystemfunktionsknopf, der Funktionsblock zur Ungültigmachung des Zustandes und der Rücksetzfunktionsblock in eine gewünschte Art und Weise durch eine auswählende und spezifizierende Operation angeordnet werden.
  • Zurückkehrend zu 5 wird eine Bestimmung darüber, ob der Funktionsblock gemäß der vordefinierten „Anordnungsprozedur“ angeordnet ist oder nicht, ebenfalls in dem Erzeugungsprozess 104 für die Schaltungsdiagrammdaten der Eingangsseite, der mit Unterstützung des Sicherheitslogikassistenten durchgeführt wird, gemacht. Hierbei ist die vordefinierte „Anordnungsprozedur“ eine Regel, in der, selbst wenn die Reihenfolge die gleiche ist, die Funktionsblöcke in der Reihenfolge von den zu dem Eingabeanschluss nächstliegenden unter Bezug auf die temporäre Reihenfolge bei der Anordnung für jede Zeile (R1, R2, R3, ...) unter Verwendung des Blockanordnungsbeispieles in 28 im Wege eines Beispieles angeordnet werden müssen.
  • 8 und 9 zeigen ein Beispiel eines Prozesses zur Führung jedes FBs, so dass sie gemäß der vordefinierten „Anordnungsprozedur“ angeordnet werden. Die Bestimmung muss darüber gemacht werden, wie die Funktionsblöcke gegenwärtig auf der Maske für die Eingabeseite angeordnet sind, um die Prozesse auszuführen. Zu diesem Zweck werden die durch den Anwender erzeugten Logikschaltungsdaten (10b) in dem Arbeits-RAM 14, wie in 20 gezeigt, gespeichert.
  • Wie in der Figur gezeigt, ist in den Logikschaltungsdaten (10b) gespeichert, welcher Funktionsblock gegenwärtig an den einzelnen blockanordbaren Positionen, die durch Zeilen und Spalten festgelegt sind, angeordnet ist. Wie nachstehend beschrieben, wird eine Bestimmung darüber gemacht, ob ein Versuch gemacht wird, den Funktionsblock gemäß der vordefinierten „Anordnungsprozedur“ anzuordnen, indem Bezug auf die Logikschaltungsdaten genommen wird.
  • Ein Bestimmungsprozess der „Anordnungsprozedur“ bei Anordnung des Funktionsblockes zur Ungültigmachung ist in dem Flussdiagramm aus 8 gezeigt. Wie in der Figur gezeigt, wird, wenn der durch die Anwendertätigkeit anzuordnende Funktionsblock der Funktionsblock zur Ungültigmachung der Eingabe ist, eine Bestimmung darüber gemacht, ob die Anordnung des Eingabesystemsfunktionsblockes schon an den relevanten Punkt abgeschlossen ist oder nicht, indem Bezug auf die Logikschaltungsdaten (10b), die in 20 für die bei der Anwendertätigkeit (Schritt 1042a) spezifizierte „Zeile“ gezeigt sind, genommen wird.
  • Wenn die Anordnung des Eingabesystemfunktionsblockes schon abgeschlossen ist (JA in Schritt 1042a), wird der Funktionsblock zur Ungültigmachung der Eingabe, dessen Anordnung bei der Anwendertätigkeit gewünscht ist, in dem Speicher als Logikschaltungsdaten, die in 20 gezeigt sind, gespeichert (Schritt 1042a). Im Gegensatz dazu wird, wenn bestimmt wird, dass die Anordnung des Eingabesystemfunktionsblockes zu dem relevanten Zeitpunkt noch nicht abgeschlossen ist (Schritt 1042a), eine vorbestimmte Warnung auf dem Bildschirm angezeigt (Schritt 1042a).
  • 9 zeigt einen Bestimmungsprozess der „Anordnungsprozedur“ in einem Fall, in dem versucht wird, den Einstell/Rücksetzfunktionsblock anzuordnen. Wie in der Figur gezeigt, wird, wenn der Funktionsblock, dessen Anordnung durch die Anwendertätigkeit gewünscht ist, der Einstell/Rücksetzfunktionsblock ist, eine Bestimmung darüber, ob die Anordnung des Eingabesystemfunktionsblockes abgeschlossen ist oder nicht, ähnlich zu dem vorherigen Fall gemacht (Schritt 1042b). Der Prozess schreitet zu Schritt 1043 fort, wenn bestimmt wird, dass die Anordnung des Eingabesystemfunktionsblockes beendet ist (JA in Schritt 1042b), und eine vorbestimmte Warnung wird auf dem Bildschirm angezeigt (Schritt 1042b), wenn bestimmt wird, dass die Anordnung des Eingabesystemfunktionsblockes zu dem relevanten Punkt noch nicht abgeschlossen ist (NEIN in Schritt 1042b).
  • Wenn bestimmt wird, dass die Anordnung des Eingabesystemsfunktionsblockes abgeschlossen ist (JA in Schritt 1042b), wird eine Bestimmung darüber gemacht, ob die Anordnung des Funktionsblockes zur Ungültigmachung der Eingabe abgeschlossen ist oder nicht (Schritt 1043b).
  • Wenn bestimmt wird, dass die Anordnung des Funktionsblockes zur Ungültigmachung der Eingabe bereits abgeschlossen ist (JA in Schritt 1043b), wird der Einstell/Rücksetzfunktionsblock, der durch die Anwendertätigkeit gewünscht ist, an der entsprechenden blockanordbaren Position, wie in 20 gezeigt, gespeichert (registriert) (Schritt 1045b). Wenn die Anordnung des Eingabesystemfunktionsblockes abgeschlossen ist (JA in Schritt 1042b), aber die Anordnung des Funktionsblockes zur Ungültigmachung der Eingabe noch nicht abgeschlossen ist (Schritt 1043b), wird eine vorbestimmte Warnung auf dem Bildschirm angezeigt (Schritt 1046b).
  • Es wird daher in dem Erzeugungsprozess für die Schaltungsdiagrammdaten für die Eingabeseite (Schritt 104), der in 5 gezeigt ist, eine Bestimmung darüber gemacht, ob der Funktionsblock gemäß der vordefinierten „Anordnungsspalte“ und „Anordnungsprozedur“ angeordnet wurde, jedes Mal, wenn der relevante Funktionsblock durch eine Anwendertätigkeit angeordnet wird (Schritt 104a), wobei der Anordnungsinhalt des gewünschten Funktionsblockes in den Logikschaltungsdaten (10b) nur wiedergegeben wird, wenn die „Anordnungsspalte“ und die „Anordnungsprozedur“ beide positiv sind, und die Anordnung des Funktionsblockes wird zurückgewiesen und eine vorbestimmte Warnung auf dem Bildschirm angezeigt, wenn entweder die „Anordnungsspalte“ oder die „Anordnungsprozedur“ nicht als die vordefinierte Spalte oder Prozedur bestimmt wird (NEIN in Schritt 104b).
  • In der Ausführungsform, die oben beschrieben wurde, wird ein Menüverfahren als Mittel zur Zurückweisung des Funktionsblocktyps, mit Ausnahme des vorab bestimmten Funktionsblocktyps, davon in der Spalte eines jeden Musters angeordnet zu werden, verwendet, aber stattdessen, kann eine Reihe auszuwählender Funktionsblöcke an einem Teil des Anzeigebildschirmes angeordnet werden, so dass der Funktionsblock zu jeder Spalte in der Maske durch ein Drag-and-Drop-Verfahren der Maus bewegt werden kann, wobei die Art des Funktionsblockes, der durch das Drag-and-Drop-Verfahren bewegt wurde, und der Typ des Funktionsblockes, der seiner eigenen Zeile zugeordnet ist, auf der Seite jeder Spalte überprüft werden, und wenn die Typen nicht zusammen passen, kann eine ähnliche Zwangszurückweisungsfunktion durch ein solches Entwerfen realisiert werden, dass der Funktionsblock nicht in die relevante Spalte gezogen werden kann, selbst wenn die Ziehoperation durchgeführt wird. In diesem Fall kehrt der Funktionsblock, der bewegt und transportiert wurde, zu der ursprünglichen Anordnungsposition in dem Moment zurück, in dem der Funktionsblock durch die Drag-and-Drop-Operation fallen gelassen wird, und kann nicht zu der Zielspalte befördert werden.
  • Gemäß dem Erzeugungsprozess für die Schaltungsdiagrammdaten für die Eingabeseite, der mit Unterstützung des Sicherheitslogikassistenten durchgeführt wird, wird jeder Funktionsblock genau auf der Eingabeseitenmaske 202 mit einer geeigneten „Anordnungsspalte“ angeordnet.
  • Wenn alle gewünschten Funktionsblöcke auf der Maske für die Eingabeseite 202 angeordnet sind (NEIN in Schritt 105), schreitet der Prozess zu 6 fort und es wird auf eine Anwendertätigkeit (Schritt 106) in Form der Betätigung des „Next“-Knopfes D3 gewartet, um die Prozesse, die mit der Maske für die Ausgabeseite in Beziehung stehen, durchzuführen.
  • In den auf die Maske für die Ausgabeseite bezogenen Prozessen wird zuerst die Maske für die Ausgabeseite 210, die den Sicherheitslogikassistenten umfasst, auf dem Programmierfeld 201 angezeigt (Schritt 107).
  • 29 zeigt ein Beispiel der Maske für die Ausgabeseite 210, die in dem Programmierfeld 210 in dem Fenster 200 angezeigt wird. Wie oben beschrieben, ist die Maske für die Ausgabeseite mit Positionen, an denen ein Block angeordnet werden kann, definiert (Bereich der horizontal langen Form), so dass sie jedem Schnittpunkt der Zeilen (R1, R2, R3, R4, ...) und der Spalten (C4, C5, C6) entsprechen, und ein Fluss des Ausgabesignals von der linken Seite in Richtung der rechten Seite in der Zeilenrichtung ist definiert.
  • Jede Spalte (C4, C5, C6) ist einem Funktionsblock vorbestimmter Art, der mit dem Ausgabesignal in Beziehung steht, zugeordnet. Genauer ist in diesem Beispiel die Spalte C4, die an der ersten Stelle positioniert ist, dem Ausgabezustandsfunktionsblock zugeordnet, die nächste Spalte (C5) dem Funktionsblock zur Schweißüberprüfung (EDM) und die nächste Spalte C6 dem Anschlussmodusfunktionsblock.
  • Zurückkehrend zu 6, wird ein Erzeugungsprozess für Schaltungsdiagrammdaten für die Ausgabeseite (Schritt 108), der mit Unterstützung des Sicherheitslogikassistenten durchgeführt wird, der Anzeige der Maske für die Ausgabeseite folgend ausgeführt (Schritt 107).
  • Der Erzeugungsprozess für Schaltungsdiagrammdaten für die Ausgabeseite (Schritt 108) ist ähnlich dem oben beschriebenen Erzeugungsprozess für Schaltungsdiagrammdaten für die Eingabeseite, und es wird eine Bestimmung gemacht darüber, ob der Funktionsblock gemäß der vordefinierten „Anordnungsspalte“ und „Anordnungsprozedur“ angeordnet wurde (Schritt 108b), jedes Mal, wenn eine Anwendertätigkeit zur Funktionsblockanordnung an der Maske 210 die Ausgabeseite durchgeführt wird (Schritt 108a), wobei, wenn die Bestimmung positiv ist (JA in Schritt 108b), ein Prozess (Schritt 108c) zur Speicherung (Registrierung) des Anordnungsinhaltes des Funktionsblockes, der anzuordnen ist, auf eine solche Art und Weise solange, wie die Funktionsblockanordnung auf der Ausgabeseite fortgeführt wird, wiederholt wird (JA in Schritt 109). Wenn die Bestimmung negativ ist (NEIN in Schritt 108b), wird die Anordnung solch eines Funktionsblockes abgelehnt und eine vorbestimmte Warnung wird auf dem Bildschirm angezeigt.
  • Die Bestimmung darüber, ob der Funktionsblock gemäß der vordefinierten „Anordnungsspalte“ angeordnet wurde oder nicht, wird beruhend auf dem Inhalt der Maskendaten für das Sicherheitsprogramm (Ausgabeseite), das in 19 gezeigt ist, gemacht. D.h., wie in 19 gezeigt, werden die Maskendaten für das Sicherheitsprogramm (Ausgabeseite) aufgebaut, indem, für jede Spalte, der Typname des Funktionsblockes, dem es gestattet ist, in der relevanten Spalte eingeordnet zu werden, und die Liste bestimmter Funktionsblöcke, die in dem Typnamen enthalten sind, in Beziehung zueinander gespeichert werden.
  • In dem dargestellten Beispiel beziehen sich Empfangsdaten (Fern-E/A) von der Mastereinheit des Anschlussmodusfunktionsblockes der dritten Spalte auf die Ausgabe der Daten, die durch die Kommunikationsmastereinheit von den Fern-E/A-Anschluss (Slave-Einheit) empfangen wurden, wenn die Sicherheitssteuerung mit dem Fern-E/A-Anschluss (Slave-Einheit) über die Kommunikationsmastereinheit verbunden ist. Die Ausgabe der Logik bezieht sich auf die Ausgabe des Operationsergebnisses, das durch die Logikoperation innerhalb der Sicherheitssteuerung gewonnen wurde. Eine Hilfsausgabe bezieht sich auf die Hilfsausgabe, die vom Verzweigen der Ausgabe der Sicherheitssteuerung resultiert.
  • Jedes Mal wenn irgendeine Art der Anwendertätigkeit für die Funktionsblockanordnung auf der Maske für die Ausgabeseite festgestellt wird (Schritt 108), werden die „blockanordbare Position“, die durch die Anwendertätigkeit festgelegt ist, und der „Funktionsblockname“ mit den Maskendaten für das Sicherheitsprogramm (Ausgabeseite), die in 19 gezeigt sind, überprüft, um zu bestimmen, ob der anzuordnende Funktionsblock gemäß der vordefinierten Anordnungsspalte angeordnet ist oder nicht.
  • Genauer sei ein Fall der Anordnung des Funktionsblockes für die Schweißüberprüfung (EDM) an der blockanordbaren Position, die durch die Spalte (R1) und die Spalte (C5) festgelegt ist, am Ort der Maske für die Ausgabeseite 210, die in 29 gezeigt ist, angenommen.
  • In solch einem Fall wird zuerst ein Pull-down-Knopf PB5 der Zeile (R1) mit der Maus betätigt. Darauffolgend wird ein Menüfenster 211 geöffnet, so dass es die Maske für die Ausgabeseite 210 überdeckt, wie es in 30A gezeigt ist. Zwei Funktionsblöcke sind vertikal über zwei Stufen in dem Menüfenster 211 angeordnet. D.h., die Funktionsblöcke sind ein Funktionsblock FB 51 für die Verzweigung für die Ausgabeseite und ein EDM-Funktionsblock FB 52. Der Anwender wählt den EDM-Funktionsblock (FB 52) mit der Mausoperation aus. Der ausgewählte Funktionsblock (FB 52) ist an der blockanordbaren Position, die durch die Zeile (R1) und die Spalte (C5) festgelegt ist, angeordnet.
  • Wenn die Rückführung der Schweißüberprüfung (EDM) auf dem EDM-Funktionsblock eingestellt wird (FB 52), wird ein Menüfenster 212, wie in 30B gezeigt, durch eine vorbestimmte Mausoperation geöffnet. Ein Pull-down-Knopf D10, ein OK-Knopf D11 und ein Abbrech-Knopf D12 sind in dem Menüfenster 212 angeordnet. Der Anwender betätigt den Pull-down-Knopf D10 mit der Maus in diesem Zustand, um eine Rückführsignalliste anzuzeigen, daraus ein gewünschtes Rückführsignal auszuwählen, und betätigt den OK-Knopf D11 zur Erstellung der Einstellung der Rückführung für die Schweißüberprüfung (EDM). In dem Beispiel aus 30B wird ein Eingabesignal IN7 ausgewählt und als das Rückführsignal eingestellt.
  • Wenn der duplizierungsverarbeitete Fern-E/A-Funktionsblock an der blockanordbaren Position, die durch die Zeile (R1) und die Spalte (C6) festgelegt ist, angeordnet wird, wird ein Pull-down-Knopf PB6, der auf der rechten Seite der blockanordbaren Position, die durch die Zeile (R1) und die Spalte (C6) festgelegt ist, angeordnet ist, mit der Maus betätigt. Ein vorbestimmtes Menüfenster 213 wird sodann geöffnet, so dass es die Maske 210 für die Ausgabeseite, wie in 31A gezeigt, überlappt.
  • Zwei Funktionsblöcke, die vertikal in zwei Stufen angeordnet sind, werden in dem Menüfenster 213 angezeigt. Die Funktionsblöcke sind in diesem Beispiel der duplizierungsentsprechende Fern-E/A-Funktionsblock (FB 61) und der nicht-duplizierungsentsprechende Logikfunktionsblock (FB 62).
  • Der Anwender wählt den duplizierungsentsprechenden Fern-E/A-Funktionsblock (FB 61) aus dem Menü mit der Operation der Maus aus. Der ausgewählte Funktionsblock (FB 61) wird dann an der blockanordbaren Position, die durch die Zeile (R1) und die Spalte (C6) festgelegt ist, angeordnet.
  • Darüber hinaus wird, wenn der nicht der Verdoppelung entsprechende Logikfunktionsblock (FB 64) an der blockanordbaren Position, die durch die Zeile (R2) und die Spalte (C6) festgelegt ist, angeordnet wird, der Pull-down-Knopf PB 6, der auf der rechten Seite der blockanordbaren Position positioniert ist, mit der Maus betätigt. Ein Menüfenster 240 wird sodann so geöffnet, dass es die Maske 210 für die Ausgangsseite überdeckt, wie dies in 31B gezeigt ist.
  • Drei Funktionsblöcke sind vertikal über drei Stufen in dem Menüfenster 214 angezeigt. Die Funktionsblöcke sind der nicht-duplizierungsentsprechende Fern-E/A-Funktionsblock (FB 63), der nicht-duplizierungsentsprechende Logikfunktionsblock (FB 64) und der Funktionsblock für die Hilfsausgabe (FB 65). Der Anwender wählt dann den nicht-duplizierungsentsprechenden Logikfunktionsblock aus (FB 64). Der ausgewählte Funktionsblock (FB 64) wird dann an der blockanordbaren Position, die durch die Zeile (R2) und die Spalte (C6) festgelegt ist, angeordnet.
  • Ähnlich zu dem Funktionsblock für die Schweißüberprüfung (FB 52) (EDM), der in 30A gezeigt ist, werden das Auswählen und das Einstellen des Ausgabefunktionsblockes durch das Auswählen und Einstellen unter Verwendung des Menüfensters durchgeführt und folglich wird, wenn weiterhin das Einstellen des Ausgabezustandes auf dem Ausgabezustandsfunktionsblockes, der folglich ausgewählt und wie oben eingestellt wurde, durchgeführt wird, eine exzellente Funktion, die Benutzerfreundlichkeit für den Anwender berücksichtigt in der vorliegenden Ausführungsform geliefert.
  • D.h., wie in 32 gezeigt, wird, wenn das Einstellen des Ausgabezustandes für den ausgewählten und eingestellten Funktionsblock für den Ausgabezustand eingestellt wird, ein Ausgabezustandseinstellungsfenster 215 als Antwort auf eine vorbestimmte Operation durch die Maus geöffnet. Der Eingabesignalname, der der Eingabekandidat des UND-Zustandes sein soll, der der Ausgabezustand ist, wird in Reihen in dem Ausgabezustandseinstellungsfenster 215 angezeigt und ein Ankreuzfeld 216 ist an dem Kopf jedes Eingabesignalnamens angeordnet. Die Auswahl des Eingabesignals, das der Ausgabezustand wird, wird durchgeführt, indem einfach ein vorbestimmter Haken unter Verwendung der Maus in das Ankreuzfeld 216 eingesetzt wird. Der OK-Knopf D13 wird mit der Maus betätigt, um die Auswahl zu erstellen, und der Abbrech-Knopf D14 wird mit der Maus betätigt, um die Einstellung abzubrechen.
  • Wie oben beschrieben, wird, wenn diese Art von Programmieranwendung durchgeführt wird, eine Entsprechungstabelle für die Sicherheits-Eingabe/Ausgabe-Ausrüstung, wie in 39 gezeigt, normalerweise vorher erzeugt und die Einstellung des Ausgabezustandes wird unter Rückgriff auf die Entsprechungstabelle für die Sicherheits-Eingabe/Ausgabe-Ausrüstung gemacht.
  • In einem Fall einer konventionellen Unterstützungsvorrichtung zur Programmentwicklung, die in 37 und 38 gezeigt ist, wird der Ausgabezustand durch die Ziehoperation der Verdrahtung, die die Funktionsblöcke verbindet, erstellt. Daher wird eine aufwendige Anwendung zur Überprüfung der Entsprechungstabelle für die Sicherheits-Eingabe/ Ausgabe und des Verdrahtungsdiagramms bei der Verifizierung, ob der Ausgabezustand korrekt eingestellt ist oder nicht, benötigt.
  • In der vorliegenden Erfindung andererseits umfasst der Einstellungsvorgang des Ausgabezustandes, der die logische Beziehung des Eingabesignals und des Ausgabesignals definiert, das Auswählen des entsprechenden Eingabesignalnamens aus der Serie von Eingabesignalnamen, die in dem Menüfenster 215 angezeigt sind, mit der Ankreuzoperation des Ankreuzkastens, der in 32 gezeigt ist. Folglich kann, bei der Einstellung des Ausgabezustandes, das Einstellen des Zielausgabezustandes mit einer einfachen Operation durch einfaches Auswählen des Ankreuzkastens 216 wie in der Entsprechungstabelle für die Sicherheits-Eingabe/Ausgabe-Ausrüstung, die in 39 gezeigt ist, durchgeführt werden.
  • Wenn überprüft wird, ob der Ausgabezustand in dem vervollständigten Programm richtig eingestellt ist, müssen lediglich der ausgewählte Zustand des Ankreuzfeldes in dem Menüfenster 215 und die im Vorhinein erzeugte Entsprechungstabelle für die Eingabe/AusgabeAusrüstung überprüft werden, und die Verkabelung zwischen den Funktionsblöcken braucht nicht zurückverfolgt werden wie in dem Stand-der-Technik-Beispiel, das in 37 und 38 gezeigt ist, wodurch die Überprüfungsaufgabe in kurzer Zeit leicht durchgeführt werden kann.
  • Die Daten in der Eingabeausrüstungstabelle, die in 21 gezeigt ist, werden für die Daten verwendet, die in Beziehung mit dem in dem Menüfenster 215 angezeigten Eingabesignal stehen. Die Eingabeausrüstungstabelle wird durch die Einstelloperation des Eingabeanschlusses eingestellt, d.h. die normale Operation, die durchgeführt wird, um das Signal einzustellen, aus welchem Eingabegerät auf den Eingabeanschluss der Maske 202 für die Eingabeseite, die in 24 gezeigt ist, eingegeben werden soll. Eine spezielle Einstellungsoperation für die Eingabeinformation ist für die Einstellung der Ausgabebedingung unnötig.
  • Wenn der Eingabesignalname durch die Auswahl der Mausoperation des Ankreuzfeldes in dem Menüfenster 215 ausgewählt wird, wird der Einstellungsprozess für den Sicherheitsausgabezustand, der in dem Flussdiagramm aus 17 gezeigt ist, aktiviert. Folglich wird die Ausgabezustandseinstellungstabelle, wie in 22 gezeigt, vervollständigt. Der Sicherheitsausgabezustandseinstellungsprozess, der in 17 gezeigt ist, wird in dem Erzeugungsprozess 108 für die Schaltungsdiagrammdaten für die Ausgabe, der mit Unterstützung des Sicherheitslogikassistenten, der oben beschrieben wurde, durchgeführt wird, ausgeführt.
  • D.h., wie in dem Flussdiagramm aus 17 gezeigt, wird, wenn die Anwendertätigkeit für die Einstellungsauswahl des Sicherheitsausgabezustandes durchgeführt wird (Schritt 1071), die Sicherheitseingabeausrüstung gesucht und aus der Eingabeausrüstungstabelle extrahiert (siehe 21) (Schritt 1072), und eine Liste an Eingabesignalen wird in dem Menüfenster 215, das in 32 gezeigt ist, beruhend auf den extrahierten Eingabeausrüstungsdaten angezeigt. Die Sicherheitseingabeanschlussnummer, der Ausrüstungsname und dergleichen werden in einem Auswahlfeldformat als eine Bildschirmanzeige für die Auswahl des Sicherheitsausgabezustandes angezeigt (Schritt 1073).
  • Wenn die Anwendertätigkeit des Anhakens des Ankreuzfeldes 216 durchgeführt wird, um den entsprechenden Sicherheitsausgabezustand auszuwählen, und das Drücken des OK-Knopfes zur Bestätigung in diesem Zustand durchgeführt wird (Schritt 1074), wird der Sicherheitsausgabezustand, der auf diese Art und Weise ausgewählt wurde, gespeichert (Schritt 1075), wobei der Prozess über eine benötigte Anzahl wiederholt wird (JA in Schritt 1076), und die Ausgabezustandseinstellungstabelle, die in 22 gezeigt ist, wird vervollständigt.
  • 28 zeigt den Zustand der Maske für die Ausgabeseite, die mit dem Anschlussmodusfunktionsblock, dem Ausgabezustandsfunktionsblock und dem Schweißüberprüfungsfunktionsblock angeordnet ist. Wie aus der Fig. ersichtlich ist, kann erkannt werden, dass die ausgewählten Funktionsblöcke (FB 62, FB 65, FB 52, FB 41) jeweils an jeder festgelegten blockanordbaren Position durch den oben beschriebenen Auswahl- und Einstellungsprozess angeordnet werden.
  • Schließlich zeigt 33 eine erläuternde Ansicht eines Überprüfungsbildschirmes bei der Beendigung der Funktionsblockanordnung auf der Maske für die Eingabeseite und 34 eine erläuternde Ansicht eines Überprüfungsbildschirmes bei der Vervollständigung der Funktionsblockanordnung auf der Maske für die Ausgabeseite.
  • Wie aus diesen Figuren ersichtlich ist, sind die notwendigen Funktionsblöcke an den notwendigen Positionen auf der Maske für die Eingabeseite und der Maske für die Ausgabeseite durch Wiederholen des Auswählungs- und Einstellungsablaufes der Funktionsblöcke, die oben beschrieben wurden, entsprechend angeordnet.
  • Wenn ein vorbestimmter Abschließknopf in diesem Zustand betätigt wird, werden das erzeugte Schaltungsdiagramm bestätigt, der Datenkonversionsprozess (Schritt 111-113) und der Erzeugungsprozess für den Downloadparameter (Schritt 114), der vorher unter Bezug auf 7 beschrieben wurde, ausgeführt und das Steuerungsprogramm für die Sicherheitssteuerung letztlich erzeugt.
  • In dem Erzeugungsprozess (Schritt 108) für die Schaltungsdiagrammdaten für die Ausgabeseite, der in dem Flussdiagramm aus 6 gezeigt ist, wird eine Bestimmung darüber durchgeführt, ob der Funktionsblock gemäß der vordefinierten „Anordnungsspalte“ angeordnet ist, oder nicht, wobei der Anordnungsinhalt des Funktionsblockes, dessen Anordnung gewünscht ist, gespeichert (registriert) wird, und die Logikschaltungsdaten (10b), die in 20 gezeigt sind, werden nur erzeugt, wenn bestimmt wird, dass der Funktionsblock gemäß der vordefinierten „Anordnungsspalte“ angeordnet ist (JA in Schritt 108b).
  • Zurückkehrend zu 7 wird, nachdem die Anordnung der notwendigen Funktionsblöcke auf der Maske 210 für die Ausgabeseite abgeschlossen ist, die Anwendertätigkeit, die der Operation des „Weiter“-Knopf D3 entspricht, abgewartet (Schritt 110). Die in 23 gezeigten Logikschaltungsdaten (10b), die in der oben beschriebenen Funktionsblockanordnungsoperation erzeugt wurden, werden daraufhin in ein Datenformat konvertiert, das durch die Sicherheitssteuerung unter Bezug auf alle Funktionsblöcke entschlüsselbar ist (Schritt 111-113). Daher werden die konvertierten Daten gesammelt, um den Downloadparameter zu erzeugen (Steuerungsprogramm für die Sicherheitssteuerung) (Schritt 114).
  • Der Downloadparameter, der auf diese Art und Weise erzeugt wurde, wird auf der Zielsicherheitssteuerung über eine Kommunikation oder über ein tragbares Aufzeichnungsmedium, ähnlich zum Stand der Technik, installiert.
  • Daher existiert gemäß der Unterstützungsvorrichtung zur Programmentwicklung jeder oben beschriebenen Ausführungsform der Signalpfad, der sich auf das gleiche Signal bezieht, in der gleichen Zeile in jeder Maske, weil die gesamte Maske in die Eingabeseitenmaske und die Ausgabeseitenmaske, wie in 36 gezeigt, unterteilt ist.
  • In jeder Spalte (C1-C6) jeder Maske werden die Funktionsblöcke der gleichen Art durch die Operation des Sicherheitslogikassistenten geführt, um angeordnet zu werden. Darüber hinaus werden die Funktionsblöcke der gleichen Art automatisch in der gleichen Spalte durch die Operation des Sicherheitslogikassistenten aufgereiht und folglich, selbst wenn irgendeiner der Funktionsblöcke bei der Anordnung vergessen wurde, wird das Vorhandensein der Funktionsblöcke durch die Spalten überprüft, nachdem das Programm vervollständigt ist, und der relevante Abschnitt wird intensiv überprüft, wenn der Funktionsblock nicht in irgendeiner der Zeilen existiert, so dass das Debugging dieser Art Steuerungsprogramm für eine Sicherheitssteuerung leicht durchgeführt werden kann.
  • Gemäß dem Aufbau solch einer Maske für die Eingabeseite oder für die Ausgabeseite wird ein Programmierfehler in Form fehlerhaften Anordnens des Funktionsblockes, der in dem gleichen Signalpfad anzuordnen ist, in einem anderen Signalpfad, oder Anordnen des Funktionsblockes, der auf dem Eingabesignalpfad angeordnet werden soll, auf dem Ausgabesignalpfad zuverlässig verhindert, indem einfach der Funktionsblock, der dem gleichen Signal in der gleichen Zeile zugeordnet ist, ständig angeordnet wird.
  • Nicht darauf eingeschränkt, die Maske einfach in zwei Masken zu unterteilen, kann die Eingabeseitenmaske dem Anwender vor der Ausgabenseitenmaske dargelegt werden, so dass die Anordnung des Funktionsblockes auf der Eingabenseitenmaske im Stadium des Anordnens des Funktionsblockes auf der Ausgabenseitenmaske bereits abgeschlossen ist, wodurch der Programmierfehler durch den Anwender von vornherein vermieden werden kann.
  • Wie in 32 gezeigt, wird das Einstellen des Ausgabezustandes beruhend auf der Liste der Eingabesignale in dem Ankreuzfeldformat durchgeführt und folglich kann im Gegensatz zu der Unterstützungsvorrichtung zur Programmentwicklung in dem Verkabelungsdiagrammformat des Standes der Technik eine direkte Überprüfung mit der Entsprechungstabelle für die Sicherheits-Eingabe/Ausgabe-Ausrüstung gemacht werden, was zur Vereinfachung der Programmieraufgabe als auch der Programmüberprüfungsaufgabe beiträgt.

Claims (9)

  1. Unterstützungsvorrichtung (10) zur Programmentwicklung einer Sicherheitssteuerung (1), bei der ein Steuerungsprogramm für eine Sicherheitssteuerung (1) automatisch erzeugt wird durch • eine Reihe von Anwenderoperationen zur Vervollständigung eines Logikschaltungsdiagramms, das einer gewünschten Steuerungsspezifikation entspricht, indem sequentiell ein aus einer Vielzahl von vorab erstellten Funktionsblocktypen ausgewählter Funktionsblocktyp in einem Programmierfeld (201) auf einem Bildschirm (13a) einer Bildanzeige (13) angeordnet wird, und ein notwendiger eindeutiger Parameter für jeden Funktionsblock eingestellt wird, und • Konvertieren von Logikschaltungsdiagrammdaten, die durch die Vervollständigung des Logikschaltungsdiagramms erzeugt wurden, in das Steuerungsprogramm; wobei die Unterstützungsvorrichtung (10) zur Programmentwicklung umfasst: eine Eingabeoperationseinheit (12) zur Ermöglichung der Reihe von Anwenderoperationen; und eine Führungsanzeigeeinheit, die auf dem Programmierfeld angezeigt wird, zur Ermöglichung der Anordnung des Funktionsblockes auf dem Programmierfeld gemäß einer Funktionsblockanordnungsmaske, die jeder Schnittposition von Zeilen und Spalten entsprechend eine blockanordbare Position aufweist und bei der die Seite eines Endes in der Zeilenrichtung als eine Eingabeanschlussseite und die Seite des anderen Endes als eine Ausgabeanschlussseite definiert ist; wobei die Funktionsblockanordnungsmaske unterteilt ist in eine Eingabeseitenmaske, die auf einer Eingabeseite der Funktionsblockanordnungsmaske angeordnet ist und eine Vielzahl mehrerer Spalten umfasst, wobei jede jeweilige Spalte eingerichtet ist, die Anordnung eines vorbestimmten Funktionsblocktyps, der auf ein Eingabesignal bezogen ist, zu akzeptieren, und eine Ausgabeseitenmaske, die auf einer Ausgabeseite der Funktionsblockanordnungsmaske angeordnet ist und eine Vielzahl mehrerer Spalten umfasst, wobei jede jeweilige Spalte eingerichtet ist, die Anordnung eines vorbestimmten Funktionsblocktyps, der auf ein Ausgabesignal bezogen ist, zu akzeptieren, wobei die Führungsanzeigeeinheit ferner eine Leiteinheit zum Leiten eines jeden Funktionsblockes zu einer vorab definierten Anordnungsspalte gemäß einem vorab definierten Anordnungsvorgang aufweist, so dass ein durch einen Anwender ausgewählter Funktionsblock an der blockanordbaren Position einer entsprechenden Spalte auf einer der -seitenmasken gemäß der Anordnungsspalte und dem Anordnungsvorgang angeordnet wird, wobei der Anordnungsvorgang das sequentielle Anordnen der Funktionsblöcke in der Reihenrichtung der Funktionsblockanordnungsmaske beinhaltet, wobei die Führungseinheit eine Operation verhindert oder eine Warnung hierzu ausgibt, wenn die Operation derart ist, dass der durch den Anwender ausgewählte Funktionsblock auf der jeweiligen Maske nicht gemäß der Anordnungsspalte, die vorab für jeden Typ von Funktionsblock definiert wurde, oder nicht gemäß dem vorab defnierten Anordnungsvorgang angeordnet wird.
  2. Unterstützungsvorrichtung (10) zur Programmentwicklung gemäß Anspruch 1, wobei die Führungsanzeigeeinheit wechselweise die Eingabeseitenmaske und die Ausgabenseitenmaske auf dem Programmierfeld anzeigt.
  3. Unterstützungsvorrichtung (10) zur Programmentwicklung gemäß Anspruch 2, wobei die Führungsanzeigeeinheit auf den Programmierfeld derart anzeigt, dass die Eingabeseitenmaske zuerst und die Ausgabeseitenmaske danach angezeigt wird.
  4. Unterstützungsvorrichtung (10) zur Programmentwicklung gemäß Anspruch 1, wobei die Leiteinheit eine Führungsanzeige ist, die es dem Anwender gestattet, notwendige Operationen durchzuführen.
  5. Unterstützungsvorrichtung (10) zur Programmentwicklung gemäß Anspruch 1, wobei die Leiteinheit die Anordnung eines Funktionsblocks, der von einem für die Anordnung in der entsprechenden Anordnungsspalte, die vorab für den Typ von Funktionsblock definiert wurde, bestimmten Funktionsblock verschieden ist, zwangsweise zurückweist.
  6. Unterstützungsvorrichtung (10) zur Programmentwicklung gemäß Anspruch 1, wobei der in einem Fall, in dem die Maske die eingangsseitige Maske ist, vorab definierte Anordnungsvorgang darin besteht, die einzelnen Funktionsblöcke der Reihe nach ausgehend von der Spalte nahe der Eingangsanschlussseite anzuordnen.
  7. Unterstützungsvorrichtung (10) zur Programmentwicklung gemäß Anspruch 1, wobei der in einem Fall, in dem die Maske die ausgangsseitige Maske ist, vorab definierte Anordnungsvorgang darin besteht, die einzelnen Funktionsblöcke der Reihe nach ausgehend von der Spalte nahe der Ausgangsanschlussseite anzuordnen.
  8. Unterstützungsvorrichtung (10) zur Programmentwicklung gemäß Anspruch 1, wobei ein Einstellen einer Entsprechungsbeziehung zwischen wenigstens einem Eingangsanschluss und einem Geräteeingangsanschluss zu dem Eingangsanschluss für jeden Funktionsblock erforderlich ist, wenn die einzelnen Funktionsblöcke auf der Eingangsseitenmaske angeordnet werden, wobei die Anordnungsentsprechungsbeziehung in einem Speichermedium (15) der Vorrichtung als Eingangsgerätetabelle aufgezeichnet wird, wenn das Einstellen auf der Eingangsseitenmaskeabgeschlossen ist; ein Einstellen eines Eingangssignals wenigstens als eindeutiger Parameter an einem Ausgangszustandsfunktionsblock, welcher einer der Funktionsblöcke ist, erforderlich ist, wenn die einzelnen Funktionsblöcke auf der Ausgangsseitenmaskeangeordnet werden; und ferner eine Eingangssignaleinstelleinheit zur Ermöglichung eines Vorgangs des Auswählens eines gewünschten Eingangssignals aus einer im Menü angezeigten Eingangssignalliste durch Bezugnahme auf die Eingangsgerätetabelle beim Einstellen des Eingangssignals eingerichtet ist.
  9. Unterstützungsvorrichtung (10) zur Programmentwicklung gemäß Anspruch 8, wobei die Menüanzeige der Eingangssignalliste durch Anordnen von Eingangssignalnamen, die innerhalb eines Menüfensters, das auf dem Bildschirm der Bildanzeige geöffnet wird, einzustellen sind, durchgeführt wird.
DE102008002266.7A 2007-06-12 2008-06-06 Programmentwicklung-Unterstützungsvorrichtung einer Sicherheitssteuerung Active DE102008002266B4 (de)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2007154900A JP4888717B2 (ja) 2007-06-12 2007-06-12 安全コントローラのプログラム開発支援装置
JP2007-154900 2007-06-12
JP2007-156217 2007-06-13
JP2007156216A JP4433210B2 (ja) 2007-06-13 2007-06-13 安全コントローラのプログラム開発支援装置
JP2007-156216 2007-06-13
JP2007156217A JP4793588B2 (ja) 2007-06-13 2007-06-13 安全コントローラのプログラム開発支援装置

Publications (2)

Publication Number Publication Date
DE102008002266A1 DE102008002266A1 (de) 2009-01-22
DE102008002266B4 true DE102008002266B4 (de) 2019-03-28

Family

ID=40149165

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102008002266.7A Active DE102008002266B4 (de) 2007-06-12 2008-06-06 Programmentwicklung-Unterstützungsvorrichtung einer Sicherheitssteuerung

Country Status (3)

Country Link
US (1) US20090024230A1 (de)
CN (1) CN102411331A (de)
DE (1) DE102008002266B4 (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008044018B4 (de) * 2008-11-24 2010-08-19 Beckhoff Automation Gmbh Verfahren zum Bestimmen einer Sicherheitsstufe und Sicherheitsmanager
EP2367083B1 (de) * 2010-03-19 2016-10-05 Sick Ag Vorrichtung zur Erstellung eines Programms für eine speicherprogrammierbare Steuerung, Programmiereinrichtung und Verfahren zur Programmierung einer speicherprogrammierbaren Steuerung
EP2375636A1 (de) * 2010-03-29 2011-10-12 Sick Ag Vorrichtung und Verfahren zum Konfigurieren eines Bussystems
DE112010005515T8 (de) 2010-04-26 2013-06-13 Mitsubishi Electric Corporation Sicherheitsvorrichtung und Fehlerdetektionsverfahren
CN103221956B (zh) 2010-11-19 2017-03-15 三菱电机株式会社 系统构筑辅助工具及系统构筑辅助装置
WO2013014740A1 (ja) * 2011-07-25 2013-01-31 三菱電機株式会社 システム構築支援装置およびシステム構成図作成方法
JP5549665B2 (ja) 2011-12-28 2014-07-16 株式会社デンソー 車両制御装置及びソフトウェア部品
EP2720094B1 (de) * 2012-10-10 2015-05-20 Sick Ag Sicherheitssystem
EP2720098B1 (de) 2012-10-10 2020-04-15 Sick Ag Sicherheitssystem für eine Anlage umfassend einen Testsignalpfad mit Hin- und Rückleitungspfad
CN103607394A (zh) * 2013-11-20 2014-02-26 中国科学院深圳先进技术研究院 生理参数监护仪的ieee11073 phd协议自动转换方法和装置
US10020151B2 (en) * 2013-12-31 2018-07-10 Rockwell Automation Technologies, Inc. Safety relay configuration system with multiple test pulse schemes using graphical interface
US9361073B2 (en) * 2013-12-31 2016-06-07 Rockwell Automation Technologies, Inc. Development environment for a safety relay configuration system
US10152030B2 (en) * 2013-12-31 2018-12-11 Rockwell Automation Technologies, Inc. Safety relay configuration system with safety monitoring and safety output function blocks
US9977407B2 (en) 2013-12-31 2018-05-22 Rockwell Automation Technologies, Inc. Safety relay configuration system for safety mat device using graphical interface
WO2015132971A1 (ja) 2014-03-07 2015-09-11 三菱電機株式会社 プログラミング装置
AT516652B1 (de) 2014-12-12 2017-09-15 Engel Austria Gmbh Formgebungsanlage
CN107430390A (zh) * 2015-03-26 2017-12-01 三菱电机株式会社 系统设计辅助装置、系统设计辅助方法及系统设计辅助程序
JP6458754B2 (ja) * 2016-03-14 2019-01-30 オムロン株式会社 プログラム開発支援装置、プログラム開発支援プログラムおよびプログラム開発支援方法
CN109407610B (zh) * 2018-12-11 2020-06-09 山东省科学院激光研究所 安全控制器和安全控制器的编程方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10108962A1 (de) 2001-02-20 2002-09-12 Pilz Gmbh & Co Verfahren und Vorrichtung zum Programmieren einer Sicherheitssteuerung
US20060206860A1 (en) 1999-05-17 2006-09-14 Invensys Systems, Inc. Process control configuration system with connection validation and configuration

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5506952A (en) * 1994-01-03 1996-04-09 International Business Machines Corporation Method and system for guiding the formation of a correctly structured instruction for data processing systems
US7272815B1 (en) * 1999-05-17 2007-09-18 Invensys Systems, Inc. Methods and apparatus for control configuration with versioning, security, composite blocks, edit selection, object swapping, formulaic values and other aspects
US20040150667A1 (en) * 2003-01-30 2004-08-05 Dove Andrew Philip Performing wireless communication in a graphical program

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060206860A1 (en) 1999-05-17 2006-09-14 Invensys Systems, Inc. Process control configuration system with connection validation and configuration
DE10108962A1 (de) 2001-02-20 2002-09-12 Pilz Gmbh & Co Verfahren und Vorrichtung zum Programmieren einer Sicherheitssteuerung

Also Published As

Publication number Publication date
CN102411331A (zh) 2012-04-11
US20090024230A1 (en) 2009-01-22
DE102008002266A1 (de) 2009-01-22

Similar Documents

Publication Publication Date Title
DE102008002266B4 (de) Programmentwicklung-Unterstützungsvorrichtung einer Sicherheitssteuerung
EP2399174B1 (de) Verfahren und vorrichtung zum erstellen eines anwenderprogrammes für eine sicherheitssteuerung
DE112015005994B4 (de) Softwareerzeugungseinrichtung
EP2367083B1 (de) Vorrichtung zur Erstellung eines Programms für eine speicherprogrammierbare Steuerung, Programmiereinrichtung und Verfahren zur Programmierung einer speicherprogrammierbaren Steuerung
EP2356527B1 (de) Sicherheitssteuerung und verfahren zum steuern einer automatisierten anlage mit einer vielzahl von anlagenhardwarekomponenten
DE112005001012T5 (de) Anwender konfigurierbare Alarme und Alarmverfolgung für Verfahrenssteuersysteme
DE102008060003A1 (de) Verfahren und Vorrichtung zum Erstellen eines Anwenderprogramms für eine Sicherheitssteuerung
DE102009019089A1 (de) Verfahren und Vorrichtung zum Erstellen eines Anwenderprogramms für eine Sicherheitssteuerung
EP0563684A2 (de) Überwachungsverfahren und Beobachtungssystem für einen technischen Prozess
DE102011008941A1 (de) System zur Visualisierung von Statusinformationen von Feldgeräten
DE102017102014B4 (de) Bearbeitungsrobotersystem, in dem eine Bearbeitungsvorrichtung für die Bearbeitung mit einem Roboter verbunden ist
EP2289022B1 (de) Verfahren und vorrichtung zur automatischen ermittlung von steuerelementen in computeranwendungen
DE112019001216T5 (de) Endgerätevorrichtung, Arbeitsmaschinensystem, Informationsverarbeitungsverfahren und Servervorrichtung
EP3296051B1 (de) Verfahren zur steuerung eines schweissgeräts, system umfassend ein schweissgerät sowie computerprogramm
DE112006003647T5 (de) Anlagensteuersystem und Anlaufsperrfaktor-Spezifikationsverfahren
DE112005002111T5 (de) Vereinigungssystem, Systemvereinigungsverfahren und Systemvereinigungsprogramm
EP1362268B1 (de) Funktionalitätsprüfung eines Aggregats einer Druckmaschine
DE102012211902B4 (de) Testgerät und Verfahren zum Protokoll-Testen mit einer Spielkartenmetapher
DE10392448T5 (de) Elektrizitätskraftwerkshauptsteuersystem
DE19983015B4 (de) Peripherievorrichtung zum Überprüfen eines Ablaufprogramms für eine programmierbare Steuereinrichtung
EP1183577B1 (de) Verfahren zur erzeugung eines steuerbausteins und steuerbaustein
EP2901222B1 (de) Verfahren zur unterstützung von bedien- und umstellprozessen
DE10028870A1 (de) Elektronische Wagenprüfkarte
WO2020225311A1 (de) Konfigurationssystem und computerprogrammprodukt zur konfiguration einer zentrale
DE3413330A1 (de) Verfahren zur ueberwachung und lokalisierung eines fehlers der fabrikationszyklen einer automatischen fertigungsstrasse und vorrichtung zu seiner durchfuehrung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R082 Change of representative

Representative=s name: KILIAN KILIAN & PARTNER MBB PATENTANWAELTE, DE

Representative=s name: KILIAN KILIAN & PARTNER, DE

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final