DE102020117970A1 - Verfahren und Programmiereinrichtung zum Importieren einer Programmbibliothek - Google Patents

Verfahren und Programmiereinrichtung zum Importieren einer Programmbibliothek Download PDF

Info

Publication number
DE102020117970A1
DE102020117970A1 DE102020117970.7A DE102020117970A DE102020117970A1 DE 102020117970 A1 DE102020117970 A1 DE 102020117970A1 DE 102020117970 A DE102020117970 A DE 102020117970A DE 102020117970 A1 DE102020117970 A1 DE 102020117970A1
Authority
DE
Germany
Prior art keywords
project
library
version
programming
program
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.)
Pending
Application number
DE102020117970.7A
Other languages
English (en)
Inventor
Philipp Brune
Konrad Baran
Tobias Wilker
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.)
Phoenix Contact GmbH and Co KG
Original Assignee
Phoenix Contact GmbH and Co KG
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
Application filed by Phoenix Contact GmbH and Co KG filed Critical Phoenix Contact GmbH and Co KG
Priority to DE102020117970.7A priority Critical patent/DE102020117970A1/de
Publication of DE102020117970A1 publication Critical patent/DE102020117970A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44536Selecting among different versions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Programmable Controllers (AREA)

Abstract

Die Erfindung betrifft ein Verfahren und eine Programmiereinrichtung zum Importieren einer Programmbibliothek, insbesondere IEC-61131-Bibliothek, in ein Programmierprojekt zur Erstellung eines Programms für eine Steuerungseinrichtung, insbesondere in der Fabrikautomation, Prozessindustrie und im Maschinenbau. Dabei ermöglicht die Erfindung insbesondere ein inkrementelles Importieren.

Description

  • Die Erfindung betrifft allgemein Steuerungseinrichtungen in der Fabrikautomation, Prozessindustrie und im Maschinenbau, sowie die Programmierung solcher Steuerungseinrichtungen. Insbesondere betrifft die Erfindung ein Verfahren und eine Programmiereinrichtung zum Importieren einer, Programmbibliothek in ein Programmierprojekt zur Erstellung eines Programms für eine Steuerungseinrichtung.
  • Eine Programmbibliothek (kurz Bibliothek; englisch library, kurz lib) bezeichnet in der Programmierung allgemein eine Sammlung von Unterprogrammen bzw. -routinen, die Lösungswege für thematisch zusammengehörende Problemstellungen anbieten. Bibliotheken sind im Unterschied zu Programmen keine eigenständig lauffähigen Einheiten, sondern sie enthalten Hilfsmodule, die von Programmen angefordert werden können.
  • Zur Programmierung von Steuerungseinrichtungen in der Fabrikautomation, Prozessindustrie und im Maschinenbau werden deren Steuerungsprogramme in vielen Fällen in Programmiersprachen erstellt bzw. geschrieben, die die Erstellung verschiedener Elemente wie Funktionen, Funktionsblöcke bzw. -bausteine und Programme ermöglichen, welche in Bibliotheken zusammengefasst sein können, wobei die erstellten und/oder in Bibliotheken zusammengefassten Elemente wiederum in unterschiedlichen Programmierprojekten verwendet werden können. Verschiedene Bibliotheken können zum Beispiel an einem bestimmten, insbesondere zentralen und/oder allgemeinen Bibliothekenablageort bereitstehen, also zum Beispiel auf einer Festplatte gespeichert sein. Ferner können die Bibliotheken unterschiedliche Formate haben, also zum Beispiel in Form vieler verschiedener Dateien oder einer einzigen Datei etc. vorliegen. Für diese und weitere Programmiersprachen, nachfolgend allgemein als „Programmiersprachen von Speicherprogrammierbaren Steuerungen“ bezeichnet, gibt es derzeit, d.h. zum Prioritätstag vorliegender Anmeldung, weltweit eine einzig gültige Norm, die EN 61131. Sie basiert auf der internationalen Norm IEC 61131 und wird deshalb synonym dazu verwendet. Zu den dort definierten Programmiersprachen von Speicherprogrammierbaren Steuerungen zählen z.B. Funktionsbausteinsprachen (englisch: function block diagram), Ablaufsprachen (englisch: sequntial function chart) oder srukturierter Text (englisch: structured text), erstellt bzw. geschrieben. Die mittels einer Programmiersprache von Speicherprogrammierbaren Steuerungen erstellten und/oder in einer solchen Bibliothek zusammengefassten Elemente können hierbei ferner auch von einer anderen Programmiersprache von Speicherprogrammierbaren Steuerungen genutzt werden. Solche, mittels einer Programmiersprache von Speicherprogrammierbaren Steuerungen erstellten Elemente werden im Rahmen der Erfindung nachfolgend auch als IEC-61131-Elemente und die mittels einer Programmiersprache von Speicherprogrammierbaren Steuerungen zusammengestellten Bibliotheken dementsprechend auch als IEC-61131-Bibliotheken bezeichnet.
  • Es wird jedoch betont, dass die Erfindung nachfolgend zwar am Beispiel von IEC-61131 -Bibliotheken beschrieben wird, jedoch nicht auf IEC-61131 Bibliotheken begrenzt ist, sondern im Wesentlichen für alle Arten von Bibliotheken eingesetzt und angewendet werden kann, wie zum Beispiel auch für HMI-Bibliotheken (human machin interface; Mensch-Maschine-Schnittstelle).
  • Ein Nutzer, der mittels einer Programmiereinrichtung an einem Programmierprojekt zur Erstellung eines Steuerungsprogramms für eine Steuerungseinrichtung arbeitet, kann eine IEC-61131-Bibliothek (oder auch mehrere) mit all ihren Elementen von dem Bibliothekenablageort in sein Programmierprojekt importieren, d.h. laden und einbinden, und dann dort verwenden. Der Nutzer wird innerhalb des Projekts verschiedene Änderungen am Steuerungsprogramm vornehmen. Bei Bedarf wird er auch an der importierten Bibliothek Änderungen vornehmen, wobei es sich dabei um projektinterne Änderungen handelt.
  • Ein Funktionsbaustein kann zum Beispiel aus vielen Dateien bestehen, etwa einer Variablentabelle und beliebig vielen Codeblättern. Dabei kann eine vom Nutzer vorgenommene Änderung, wie das Ändern eines Variablennamens, Änderungen in mehreren Dateien bedeuten.
  • Damit das Steuerungsprogramm dann durch die Steuerungseinrichtung ausgeführt werden kann, muss es mit all seinen Bestandteilen, einschließlich der Bibliothek(en), noch kompiliert, das heißt in ausführbaren Maschinencode umgewandelt werden. Üblicherweise kann die Programmiereinrichtung auch zum Kompilieren des Steuerungsprogramms eingerichtet sein. Die Programmiereinrichtung kann als Hard- und/oder Software ausgebildet sein, zum Beispiel als stationärer oder mobiler Computer oder als Teil der Steuerungseinrichtung, insbesondere als Laptop- oder Tabletcomputer.
  • Die IEC-61131-Bibliothek kann sich aber auch außerhalb dieses Programmierprojekts an dem Bibliothekenablageort geändert haben, zum Beispiel durch Maßnahmen eines anderen Nutzers oder des ursprünglichen Anbieters der Bibliothek.
  • Wenn nun der Nutzer die projektextern geänderte IEC-61131-Bibliothek in seinem Programmierprojekt verwenden möchte, müsste er diese erneut von dem Bibliothekenablageort in sein Projekt importieren. Hierbei können sich gleich mehrere Nachteile ergeben.
  • Wenn IEC-61131-Bibliotheken eine bestimmte Größe erreichen, braucht das erneute Importieren der Bibliothek eine beachtliche Menge Zeit. So wird zum Beispiel das Laden von 1000 Dateien - für den Fall, dass jedes Element der Bibliothek einer Datei entspricht - vom Bibliothekenablageort und Einbinden dieser Dateien in das Programmierprojekt wahrscheinlich länger dauern, als der Nutzer bereit ist, zu warten. Dabei sind in der Regel bei projektexternen Änderungen, die zwischenzeitlich von anderen Nutzern an der Bibliothek vorgenommen wurden, meist nur kleine Teile der Bibliothek tatsächlich verändert.
  • Ferner können beim erneuten Importieren der projektextern geänderten IEC-61131-Bibliothek von den Bibliothekenablageort in das Programmierprojekt des Nutzers die projektinternen Änderungen des Nutzers verloren gehen.
  • Außerdem müsste die Bibliothek mit all ihren Elementen erneut kompiliert werden, was nochmals sehr lange dauern kann.
  • Zwar sind heute Möglichkeiten für ein inkrementelles Kompilieren bekannt, um lediglich geänderte Teile erneut kompilieren zu müssen und somit die für das Kompilieren nötige Zeit entsprechend zu reduzieren. Dafür ist es allerdings notwendig, dass die einzelnen Änderungen genau bekannt sind, um entscheiden zu können, was neu kompiliert werden muss.
  • Innerhalb eines Programmierprojekts gibt es in der Regel eine entsprechende Historie über die vorgenommenen Änderungen. Für die an Bibliothekenablageorten bereitstehenden IEC-61131-Bibliotheken existieren in der Praxis aber oftmals keine oder zumindest keine vollständigen bzw. zuverlässigen Aufzeichnungen darüber, wann welche Änderungen vorgenommen wurden.
  • Eine Aufgabe der vorliegenden Erfindung ist daher, die Zeit zu reduzieren, welche erforderlich ist für das erneute Importieren einer Programmbibliothek, insbesondere IEC-61131-Bibliothek, mit projektextern getätigten Änderungen von einem Bibliothekenablageort in ein Programmierprojekt.
  • Eine Lösung hierfür sollte dabei unabhängig von dem Format der IEC-61131-Bibliothek sein, da diese in unterschiedlichen Formaten vorliegen bzw. am Bibliothekenablageort gespeichert sein kann.
  • Eine andere, in zweckmäßiger Ausgestaltung zu lösende Aufgabe liegt darin, die Zeit zu reduzieren, welche erforderlich ist für das Kompilieren einer von einem Bibliothekenablageort erneut in ein Programmierprojekt importierten Programmbibliothek, insbesondere IEC-61131-Bibliothek, mit projektextern getätigten Änderungen.
  • Eine andere, in zweckmäßiger Ausgestaltung zu lösende Aufgabe ist, dass durch das erneute Importieren einer Programmbibliothek, insbesondere IEC-61131-Bibliothek, mit projektextern getätigten Änderungen von einem Bibliothekenablageort in ein Programmierprojekt zuvor bereits getätigte projektinterne Änderungen nicht verloren gehen.
  • Erfindungsgemäß wird ein Verfahren mit den Merkmalen des unabhängigen Patentanspruchs 1 sowie eine Programmiereinrichtung mit den Merkmalen des unabhängigen Patentanspruchs 6 vorgeschlagen. Dabei gelten die zu dem erfindungsgemäßen Verfahren angegebenen Merkmale und Vorteile sinngemäß auch für die erfindungsgemäße Programmiereinrichtung.
  • Weitere vorteilhafte Ausgestaltungen der Erfindung sind in den jeweiligen abhängigen Patentansprüchen angegeben.
  • Vorgeschlagen wird demnach ein Verfahren zum Importieren einer Programmbibliothek von einem Bibliothekenablageort in ein Programmierprojekt zur Erstellung eines Programms für eine Steuerungseinrichtung,
    wobei die Programmbibliothek bereits zu wenigstens einem früheren Zeitpunkt in das Programmierprojekt importiert wurde und nun in dem Programmierprojekt in einer aktuellen projektinternen Fassung vorliegt, die die seit dem zuletzt erfolgten früheren Import gegebenenfalls erfolgten projektinternen Änderungen enthält, die in einer Historie protokolliert sind,
    und wobei die Programmbibliothek nunmehr erneut zu importieren ist und am Bibliothekenablageort in einer aktuellen projektexternen Fassung vorliegt, die die seit dem zuletzt erfolgten früheren Import in das Programmierprojekt gegebenenfalls erfolgten projektexternen Änderungen enthält, die nicht protokolliert sind,
    umfassend die Schritte:
    1. a) Laden der Programmbibliothek in der aktuellen projektinternen Fassung (1: Nutzer) aus dem Programmierprojekt in einen Arbeitsspeicher,
    2. b) Erkennen, dass die Programmbibliothek am Bibliothekenablageort seit dem zuletzt erfolgten früheren Import in das Programmierprojekt projektextern geändert wurde, daraufhin
    3. c) Laden der Programmbibliothek in der aktuellen projektexternen Fassung (1: Extern) von dem Bibliothekenablageort in den Arbeitsspeicher,
    4. d) Laden der Programmbibliothek in der zuletzt importierten Fassung (1: Basis) aus dem Programmierprojekt in den Arbeitsspeicher,
    5. e) Vergleichen der im Arbeitsspeicher befindlichen Fassung der Programmbibliothek, welche der zuletzt vom Bibliothekenablageort importierten Fassung entspricht (1: Basis) mit der ebenfalls im Arbeitsspeicher befindlichen aktuellen projektexternen Fassung der Programmbibliothek (1: Extern) und basierend darauf
    6. f) Ermitteln eines Sets der seit dem zuletzt erfolgten früheren Import erfolgten projektexternen Änderungen (1: B),
    7. g) Vergleichen des Sets der seit dem zuletzt erfolgten früheren Import erfolgten projektinternen Änderungen (1: A) und des Sets der seit dem zuletzt erfolgten früheren Import erfolgten projektexternen Änderungen (1: B) und basierend darauf
    8. h) Prüfen für jede im Set der projektexternen Änderungen (1: A) enthaltene Änderung, ob sie im Widerspruch steht zu einer im Set der projektinternen Änderungen enthaltenen Änderung, und
      • - - wenn kein Widerspruch vorliegt, Importieren der Änderung aus dem Set der projektexternen Änderungen in das Programmierprojekt (1: B*),
      • - - wenn ein Widerspruch vorliegt, Verwerfen der widersprüchlichen Änderung aus dem Set der projektexternen Änderungen oder Importieren der widersprüchlichen Änderung aus dem Set der projektexternen Änderungen zusammen mit einer Invertierung der widersprüchlichen Änderung aus dem Set der projektinternen Änderungen in das Programmierprojekt (1: B*).
  • Gemäß einer bevorzugten Ausführungsform ist die Programmbibliothek eine IEC-61131-Bibliothek und das Programm ein mittels einer Programmiersprache von Speicherprogrammierbaren Steuerungen erstelltes Steuerungsprogramm für die Steuerungseinrichtung.
  • Gemäß einer anderen Ausführungsform ist die Programmbibliothek eine HMI-Bibliothek und das Programm ein Programm zur Bereitstellung einer Mensch-Maschine-Schnittstelle für die Steuerungseinrichtung.
  • In einer weiteren Ausführungsform ist vorgesehen, dass die im Schritt d) in den Arbeitsspeicher geladene Programmbibliothek in der zuletzt importierten Fassung seit dem zuletzt erfolgten früheren Import, insbesondere als Kopie, in dem Programmierprojekt vorliegt.
  • In einer weiteren Ausführungsform ist vorgesehen, dass die im Schritt d) in den Arbeitsspeicher geladene Programmbibliothek in der zuletzt importierten Fassung vor dem Laden erst erzeugt wird, durch
    • - Prüfen anhand der Historie des Programmierprojekts, ob in der aktuellen projektinternen Fassung der Programmbibliothek projektinterne Änderungen enthalten sind, die seit dem zuletzt erfolgten früheren Import erfolgten, und
    • - - bei negativem Prüfungsergebnis, entspricht die im Arbeitsspeicher befindliche aktuelle projektinterne Fassung der Programmbibliothek noch der zuletzt vom Bibliothekenablageort importierten Fassung,
    • - - bei positivem Prüfergebnis, Anwenden eines invertierten Sets der seit dem zuletzt erfolgten früheren Import erfolgten projektinternen Änderungen (1: A') auf eine Kopie der im Arbeitsspeicher befindlichen aktuellen projektinternen Fassung der Programmbibliothek (1: Nutzer), um im Arbeitsspeicher die Fassung der Programmbibliothek zu erhalten, welche der zuletzt vom Bibliothekenablageort importierten Fassung entspricht.
  • Die vorliegende Erfindung bietet viele Vorteile. Vor allem ist es nun nicht mehr erforderlich eine Programmbibliothek, insbesondere IEC-61131-Bibliothek, erneut in Gänze vom Bibliothekenablageort in ein Programmierprojekt zu importieren, um dort neben den projektinternen Änderungen auch die projektexternen Änderungen der Programmbibliothek verfügbar zu haben. Vielmehr ist nun ein inkrementelles Importieren, also ein gezieltes Importieren der projektexternen Änderungen der Programmbibliothek möglich. Dadurch verkürzt sich die für das Importieren erforderliche Zeit erheblich.
  • Des Weiteren ist nun auch ein inkrementelles Kompilieren, der importierten projektexternen Änderungen der Programmbibliothek, insbesondere IEC-61131-Bibliothek, möglich, wodurch sich auch die für das Kompilieren erforderliche Zeit erheblich reduziert.
  • Als Vorteil kann auch gelten, dass für den Bibliothekenablageort das Führen und Pflegen einer Änderungshistorie am Bibliothekenablageort, d.h. eines Verzeichnisses aller dort abgelegten Bibliotheken mit ihren Fassungen und den enthaltenen Änderungen, nicht erforderlich ist. Denn die an einer Programmbibliothek erfolgten projektexternen Änderungen werden durch die Erfindung unmittelbar beim Importieren der Programmbibliothek in ein Programmierprojekt ermittelt (vgl. Schritte e) und f)). Dies gibt dem Nutzer eine größere Freiheit bei der Wahl des Bibliothekenablageortes.
  • Außerdem kann die Programmbibliothek in unterschiedlichen Formaten vorliegen bzw. am Bibliothekenablageort gespeichert sein, beispielsweise als ein Archive, als einzelne Dateien oder als eine Datenbank. Denn in einer bevorzugten Ausführung funktioniert die Erfindung unabhängig vom vom Speicherformat, da die Daten der Bibliothek beim Laden in den Arbeitsspeicher abstrahiert werden und alle weiteren Schritte (vgl. Schritte e) bis h)) anhand dieser abstrahierten Form der Bibliothek erfolgen und somit auf Basis der dem Nutzer bekannten Strukturen wie ProgramOrganizationUnits, Arbeitsblätter, HMI Seiten etc.. In dieser abstrahierten Form gibt es also zum Beispiel ein abstraktes Objekt „ProgramOrganizationUnit“, das mehrere Code-Arbeitsblätter und Variablen-Arbeitsblätter sowie diverse Metadaten enthält. Dabei sieht dieses Objekt für den Nutzer identisch aus, egal ob die Daten für das Objekt, also die Inhalte der Code- und Variablen-Arbeitsblätter sowie Metadaten, aus einem Archiv (einer Datei), aus vielen Dateien oder aus Datenblobs einer Datenbank kommen.
  • Zudem gehen durch den Import der projektexternen Änderungen die projektinternen Änderungen nicht mehr verloren, denn im Falle eines Konfliktes, d.h. eines Widerspruchs zwischen projektinternen und projektexternen Änderungen, kann der Nutzer entscheiden bzw. bestimmen, welche der in Widerspruch zueinander stehen Änderungen weiterbestehen oder verworfen werden sollen.
  • Von Vorteil ist ferner, dass im Schritt a) zum Erkennen, dass die Programmbibliothek am Bibliothekenablageort seit dem zuletzt erfolgten früheren Import in das Programmierprojekt projektextern geändert wurde, ein im Wesentlichen beliebiges zweckmäßiges Mittel zum Einsatz kommen kann. Denkbar sind hier beispielsweise das Beobachten bzw. zyklische Prüfen der Programmbibliothek am Bibliothekenablageort insbesondere hinsichtlich Zeitstempel, Dateigrößen und/oder Prüfsummen.
  • Zweckmäßiger Weise kann im Schritt e) das Vergleichen der im Arbeitsspeicher befindlichen Fassung der Programmbibliothek, insbesondere IEC-61131-Bibliothek, welche der zuletzt vom Bibliothekenablageort importierten Fassung entspricht (1: Basis) mit der ebenfalls im Arbeitsspeicher befindlichen aktuellen projektexternen Fassung der Programmbibliothek (1: Extern) mit Hilfe eines Standardvergleichsalgorithmus erfolgen, wie zum Beispiel eines sogenannten tree differencing algorithm oder einem heuristischen Algorithmus.
  • Vorgeschlagen wird außerdem eine Programmiereinrichtung zur Durchführung des erfindungsgemäßen Verfahrens zum Importieren einer Programmbibliothek von einem Bibliothekenablageort in ein Programmierprojekt zur Erstellung eines Programms für eine Steuerungseinrichtung,
    wobei die Programmbibliothek bereits zu wenigstens einem früheren Zeitpunkt in das Programmierprojekt importiert wurde und nun in dem Programmierprojekt in einer aktuellen projektinternen Fassung vorliegt, die die seit dem zuletzt erfolgten früheren Import gegebenenfalls erfolgten projektinternen Änderungen enthält, die in einer Historie protokolliert sind,
    und wobei die Programmbibliothek nunmehr erneut zu importieren ist und am Bibliothekenablageort in einer aktuellen projektexternen Fassung vorliegt, die die seit dem zuletzt erfolgten früheren Import in das Programmierprojekt gegebenenfalls erfolgten projektexternen Änderungen enthält, die nicht protokolliert sind, umfassend Hardware- und/oder Softwaremittel zum:
    1. a) Laden der Programmbibliothek in der aktuellen projektinternen Fassung (1: Nutzer) aus dem Programmierprojekt in einen von der Programmiereinrichtung umfassten oder zumindest nutzbaren Arbeitsspeicher,
    2. b) Erkennen, dass die Programmbibliothek am Bibliothekenablageort seit dem zuletzt erfolgten früheren Import in das Programmierproj ekt proj ektextern geändert wurde, daraufhin
    3. c) Laden der Programmbibliothek in der aktuellen projektexternen Fassung (1: Extern) von dem Bibliothekenablageort in den Arbeitsspeicher,
    4. d) Laden der Programmbibliothek in der zuletzt importierten Fassung (1: Basis) aus dem Programmierprojekt in den Arbeitsspeicher,
    5. e) Vergleichen der im Arbeitsspeicher befindlichen Fassung der Programmbibliothek, welche der zuletzt vom Bibliothekenablageort importierten Fassung entspricht (1: Basis) mit der ebenfalls im Arbeitsspeicher befindlichen aktuellen projektexternen Fassung der Programmbibliothek (1: Extern) und basierend darauf
    6. f) Ermitteln eines Sets der seit dem zuletzt erfolgten früheren Import erfolgten projektexternen Änderungen (1: B),
    7. g) Vergleichen des Sets der seit dem zuletzt erfolgten früheren Import erfolgten projektinternen Änderungen (1: A) und des Sets der seit dem zuletzt erfolgten früheren Import erfolgten projektexternen Änderungen (1: B) und basierend darauf
    8. h) Prüfen für jede im Set der projektexternen Änderungen (1: A) enthaltene Änderung, ob sie im Widerspruch steht zu einer im Set der projektinternen Änderungen enthaltenen Änderung, und
      • - - wenn kein Widerspruch vorliegt, Importieren der Änderung aus dem Set der projektexternen Änderungen in das Programmierprojekt (1: B*),
      • - - wenn ein Widerspruch vorliegt, Verwerfen der widersprüchlichen Änderung aus dem Set der projektexternen Änderungen oder Importieren der widersprüchlichen Änderung aus dem Set der projektexternen Änderungen zusammen mit einer Invertierung der widersprüchlichen Änderung aus dem Set der projektinternen Änderungen in das Programmierprojekt (1: B*).
  • Gemäß einer bevorzugten Ausführungsform ist die Programmbibliothek eine IEC-61131-Bibliothek und das Programm ein mittels einer Programmiersprache von Speicherprogrammierbaren Steuerungen erstelltes Steuerungsprogramm für die Steuerungseinrichtung.
  • Gemäß einer anderen bevorzugten Ausführungsform ist die Programmbibliothek eine HMI-Bibliothek und das Programm ein Programm zur Bereitstellung einer Mensch-Maschine-Schnittstelle für die Steuerungseinrichtung.
  • In einer weiteren Ausführungsform ist vorgesehen, dass die im Schritt d) in den Arbeitsspeicher geladene Programmbibliothek in der zuletzt importierten Fassung seit dem zuletzt erfolgten früheren Import, insbesondere als Kopie, in dem Programmierprojektvorliegt.
  • In einer weiteren Ausführungsform ist vorgesehen, dass die im Schritt d) in den Arbeitsspeicher geladene Programmbibliothek in der zuletzt importierten Fassung vor dem Laden erst erzeugt wird, durch
    • - Prüfen anhand der Historie des Programmierprojekts, ob in der aktuellen projektinternen Fassung der Programmbibliothek projektinterne Änderungen enthalten sind, die seit dem zuletzt erfolgten früheren Import erfolgten, und
    • - - bei negativem Prüfungsergebnis, entspricht die im Arbeitsspeicher befindliche aktuelle projektinterne Fassung der Programmbibliothek noch der zuletzt vom Bibliothekenablageort importierten Fassung,
    • - - bei positivem Prüfergebnis, Anwenden eines invertierten Sets der seit dem zuletzt erfolgten früheren Import erfolgten projektinternen Änderungen (1: A') auf eine Kopie der im Arbeitsspeicher befindlichen aktuellen projektinternen Fassung der Programmbibliothek (1: Nutzer), um im Arbeitsspeicher die Fassung der Programmbibliothek zu erhalten, welche der zuletzt vom Bibliothekenablageort importierten Fassung entspricht.
  • Diese und weitere Merkmale und Vorteile der vorliegenden Erfindung ergeben sich auch aus dem Ausführungsbeispiel, welches nachfolgend unter Bezugnahme auf die beiliegenden Zeichnungen näher erläutert wird. Es zeigt dabei
    • 1 eine schematische Darstellung des Verfahrens im Allgemeinen;
    • 2 eine schematische Darstellung des Verfahrens anhand einer einfachen Bibliothek.
  • 1 stellt in schematischer Darstellung allgemein ein Verfahren gemäß der Erfindung zum Importieren einer IEC-61131-Bibliothek von einem Bibliothekenablageort in ein Programmierprojekt zur Erstellung eines Steuerungsprogramms für eine Steuerungseinrichtung mittels einer Programmiersprache von Speicherprogrammierbaren Steuerungen dar. Es sei hierbei angenommen, dass die IEC-61131-Bibliothek bereits zu wenigstens einem früheren Zeitpunkt in das mit Nutzer bezeichnete Programmierprojekt importiert wurde, welches mit dem mit A gekennzeichneten Pfeil angedeutet ist, und nun in dem mit Nutzer gekennzeichneten Programmierprojekt in einer aktuellen projektinternen Fassung vorliegt, die die seit dem zuletzt erfolgten früheren Import gegebenenfalls erfolgten projektinternen Änderungen enthält, die in einer Historie protokolliert sind. Ferner sei angenommen, dass die IEC-61131-Bibliothek nunmehr erneut zu importieren ist und am Bibliothekenablageort in einer aktuellen projektexternen Fassung vorliegt, die die seit dem zuletzt erfolgten früheren Import in das Programmierprojekt gegebenenfalls erfolgten projektexternen Änderungen enthält, die insbesondere nicht protokolliert sind.
  • Nachdem zu Beginn des Verfahrens die IEC-61131-Bibliothek in der aktuellen projektinternen Fassung (1: Nutzer) aus dem Programmierprojekt in den Arbeitsspeicher geladen wurde, insbesondere in einen Arbeitsspeicher einer erfindungsgemäßen Programmiereinrichtung (nicht dargestellt), wird nunmehr erkannt, dass die IEC-61131-Bibliothek am Bibliothekenablageort seit dem zuletzt erfolgten früheren Import in das Programmierprojekt projektextern geändert wurde, und daraufhin die IEC-61131-Bibliothek in der aktuellen projektexternen Fassung (1: Extern) von dem Bibliothekenablageort in den Arbeitsspeicher geladen..
  • Es wird dann die Programmbibliothek in der zuletzt importierten Fassung (1: Basis) aus dem Programmierprojekt in den Arbeitsspeicher geladen. Diese Fassung wurde zuvor derart erzeugt, dass anhand der Historie des Programmierprojekts geprüft wird, ob in der aktuellen projektinternen Fassung der IEC-61131-Bibliothek projektinterne Änderungen enthalten sind, die seit dem zuletzt erfolgten früheren Import erfolgt sind. Bei negativem Prüfungsergebnis entspricht die im Arbeitsspeicher befindliche aktuelle projektinterne Fassung der IEC-61131-Bibliothek folglich noch der zuletzt vom Bibliothekenablageort importierten Fassung,
  • Bei positivem Prüfergebnis wird ein invertiertes Set der seit dem zuletzt erfolgten früheren Import erfolgten projektinternen Änderungen (1: A') auf eine Kopie der im Arbeitsspeicher befindlichen aktuellen projektinternen Fassung der IEC-61131-Bibliothek (1: Nutzer) angewandt, um im Arbeitsspeicher die Fassung der IEC-61131-Bibliothek zu erhalten, welche der zuletzt vom Bibliothekenablageort importierten Fassung entspricht. Alternativ zu diesem Erzeugen kann die in den Arbeitsspeicher geladene Programmbibliothek in der zuletzt importierten Fassung seit dem zuletzt erfolgten früheren Import, insbesondere als Kopie, in dem Programmierprojekt bereits vorgelegen haben.
  • Daraufhin wird die im Arbeitsspeicher befindliche Fassung der IEC-61131-Bibliothek, welche der zuletzt vom Bibliothekenablageort importierten Fassung entspricht (1: Basis) mit der ebenfalls im Arbeitsspeicher befindlichen aktuellen projektexternen Fassung der IEC-61131-Bibliothek (1: Extern) verglichen und es kann darauf basierend ein Set der seit dem zuletzt erfolgten früheren Import erfolgten projektexternen Änderungen (1: B) ermittelt werden.
  • Anschließend werden das Set der seit dem zuletzt erfolgten früheren Import erfolgten projektinternen Änderungen (1: A) und das Set der seit dem zuletzt erfolgten früheren Import erfolgten projektexternen Änderungen (1: B) miteinander verglichen und basierend darauf wird für jede im Set der projektexternen Änderungen (1: A) enthaltene Änderung geprüft, ob sie im Widerspruch steht zu einer im Set der proj ektinternen Änderungen enthaltenen Änderung.
  • Wenn kein Widerspruch vorliegt, kann die Änderung aus dem Set der projektexternen Änderungen in das Programmierprojekt (1: B*) importiert werden.
  • Wenn ein Widerspruch vorliegt, wird die widersprüchliche Änderung aus dem Set der projektexternen Änderungen verworfen oder die widersprüchliche Änderung aus dem Set der projektexternen Änderungen importiert zusammen mit einer Invertierung der widersprüchlichen Änderung aus dem Set der projektinternen Änderungen in das Programmierprojekt (1: B*).
  • Gemäß 2 steht an einem Bibliothekenablageort, der aus Gründen der Übersichtlichkeit nicht näher dargestellt ist, eine mittels einer Programmiersprache von Speicherprogrammierbaren Steuerungen zusammengestellte IEC-61131-Bibliothek (Basis) bereit, umfassend wenigstens ein IEC-6113-Element, im dargestellten Beispiel einen Funktionsbaustein und eine Funktion, wobei hier die IEC-61131-Bibliothek, im dargestellten Beispiel insbesondere die Funktion in einer Version 0 vorliegt.
  • Hat ein Nutzer mit einer Programmiereinrichtung, gleichermaßen aus Gründen der Übersichtlichkeit nicht näher dargestellt, diese Bibliothek erstmals in ein spezifisches Programmierprojekt importiert und eine projektinterne Änderung an der Funktion vorgenommen (A), z.B. indem er den Inhalt dieser Funktion änderte, liegt diese projektintern nun beispielsweise in Version 2 vor.
  • Später wird am Bibliothekenablageort bemerkt, insbesondere mit hierfür entsprechend eingerichteten Hardware- und/oder Softwaremittel der Programmiereinrichtung, dass die Bibliothek auch projektextern geändert wurde (B). Allerdings ist am Bibliothekenablageort keine Historie verfügbar, aus der die projektexternen Änderungen (B) hervorgehen. Erfindungsgemäß wird daher die Bibliothek in der aktuellen projektexternen Fassung (Extern) in den Arbeitsspeicher der Programmiereinrichtung geladen, insbesondere mit hierfür entsprechend eingerichteten Hardware- und/oder Softwaremittel der Programmiereinrichtung. Ferner wird die Bibliothek in der aktuellen projektinternen Fassung (Nutzer) in den Arbeitsspeicher der Programmiereinrichtung geladen, insbesondere mit hierfür entsprechend eingerichteten Hardware- und/oder Softwaremittel der Programmiereinrichtung. Eine Prüfung der Historie des Programmierprojekts, insbesondere mit hierfür entsprechend eingerichteten Hardware- und/oder Softwaremittel der Programmiereinrichtung, kann somit ergeben, dass im Set der projektinternen Änderungen z.B. nur die eine die Funktion betreffende Änderung enthält. In diesem Fall wird, insbesondere mit hierfür entsprechend eingerichteten Hardware- und/oder Softwaremittel der Programmiereinrichtung, die Invertierung dieses Set projektinterner Änderungen (A') auf eine Kopie der im Arbeitsspeicher befindlichen aktuellen projektinternen Fassung der Bibliothek (Nutzer) angewendet, um die Fassung der Bibliothek zu erhalten, welche der zuletzt importierten Fassung (Basis) entspricht.
  • Anschließend wird, insbesondere mit hierfür entsprechend eingerichteten Hardware- und/oder Softwaremittel der Programmiereinrichtung, die im Arbeitsspeicher befindliche aktuelle projektexterne Fassung (Extern) verglichen mit der im Arbeitsspeicher befindlichen Fassung, welche der zuletzt importierten Fassung (Basis) entspricht, um ein Set der seit dem letzten Import erfolgten projektexternen Änderungen (B) zu ermitteln. In diesem Beispiel beinhaltet das Set zwei Änderungen, nämlich eine Änderung des Inhalts der Funktion (Version 1) und ein hinzugefügtes neues Programm.
  • Die Funktion ist als Änderung sowohl in dem Set projektinterner Änderungen (A) von dem Nutzer, als auch in dem Set projektexterner Änderungen (B) vorhanden. Allgemein ist also dasselbe IEC-6113-Element als Änderung sowohl in dem Set projektinterner Änderungen (A) von dem Nutzer, als auch in dem Set projektexterner Änderungen (B) vorhanden Das bedeutet, dass es einen Konflikt gibt. Der Nutzer erhält nun die Wahlmöglichkeit, insbesondere mit hierfür entsprechend eingerichteten Hardware- und/oder Softwaremittel der Programmiereinrichtung, ob er seine projektintern geänderte Fassung dieses IEC-6113-Elements, d.h. im dargestellten Beispiel seine projektintern geänderte Fassung der Funktion (Version 2), behalten möchte oder stattdessen die projektextern geänderte Fassung dieses IEC-6113-Elements, d.h. im dargestellten Beispiel die projektextern geänderte Fassung der Funktion (Version 1), verwenden will.
  • In diesem Fall entscheidet sich der Nutzer beispielsweise, seine Fassung des IEC-6113-Elements zu behalten. Dadurch wird die Änderung dieses IEC-6113-Elements aus dem Set der projektexternen Änderungen verworfen. Aus dem Set projektexterner Änderungen bleibt noch das Hinzufügen des weiteren IEC-6113-Elements, d.h. im dargestellten Beispiels des neuen Programms übrig. Da diesbezüglich kein Konflikt vorliegt, kann diese Änderung (B*) in das Programmierprojekt importiert werden und führt damit zu neuen projektinternen Fassung (Ergebnis) der IEC-61131-Bibliothek, welche projektinternen und die die projektexternen Änderungen vereint. Da diese Änderung online, d.h. „während der Laufzeit des Programms“, eingepflegt werden kann und das Führen und Pflegen einer Änderungshistorie am Bibliothekenablageort, d.h. eines Verzeichnisses aller dort abgelegten Bibliotheken mit ihren Fassungen und den enthaltenen Änderungen nicht bedarf, reduziert sich die insgesamt notwendige Zeit für die Durchführung einer solchen Änderung wesentlich.
  • Hätte der Nutzer stattdessen entschieden, die projektexterne Fassung der Funktion zu übernehmen, hätte die Änderung der Funktion aus dem Set projektexterner Änderungen in das Programmierprojekt importiert werden müssen sowie eine Invertierung der Änderung der Funktion aus dem Set projektinterner Änderungen. Dadurch wäre dann die Änderung der Funktion aus dem Set der projektinternen Änderungen verworfen bzw. gelöscht worden.
  • Da die einzige importierte Änderung an der Bibliothek das Hinzufügen eines Programms ist, muss anschließend der Compiler der Programmiereinrichtung auch nur dieses zusätzliche Programm kompilieren und kann den Rest unverändert lassen.

Claims (10)

  1. Verfahren zum Importieren einer Programmbibliothek von einem Bibliothekenablageort in ein Programmierprojekt zur Erstellung eines Programms für eine Steuerungseinrichtung, wobei die Programmbibliothek bereits zu wenigstens einem früheren Zeitpunkt in das Programmierprojekt importiert wurde und nun in dem Programmierprojekt in einer aktuellen projektinternen Fassung vorliegt, die die seit dem zuletzt erfolgten früheren Import gegebenenfalls erfolgten projektinternen Änderungen enthält, die in einer Historie protokolliert sind, und wobei die Programmbibliothek nunmehr erneut zu importieren ist und am Bibliothekenablageort in einer aktuellen projektexternen Fassung vorliegt, die die seit dem zuletzt erfolgten früheren Import in das Programmierprojekt gegebenenfalls erfolgten projektexternen Änderungen enthält, die nicht protokolliert sind, umfassend die Schritte: a) Laden der Programmbibliothek in der aktuellen projektinternen Fassung (1: Nutzer) aus dem Programmierprojekt in einen Arbeitsspeicher, b) Erkennen, dass die Programmbibliothek am Bibliothekenablageort seit dem zuletzt erfolgten früheren Import in das Programmierprojekt projektextern geändert wurde, daraufhin c) Laden der Programmbibliothek in der aktuellen projektexternen Fassung (1: Extern) von dem Bibliothekenablageort in einen Arbeitsspeicher, d) Laden der Programmbibliothek in der zuletzt importierten Fassung (1: Basis) aus dem Programmierprojekt in den Arbeitsspeicher, e) Vergleichen der im Arbeitsspeicher befindlichen Fassung der Programmbibliothek, welche der zuletzt vom Bibliothekenablageort importierten Fassung entspricht (1: Basis) mit der ebenfalls im Arbeitsspeicher befindlichen aktuellen projektexternen Fassung der Programmbibliothek ( 1: Extern) und basierend darauf f) Ermitteln eines Sets der seit dem zuletzt erfolgten früheren Import erfolgten projektexternen Änderungen (1: B), g) Vergleichen des Sets der seit dem zuletzt erfolgten früheren Import erfolgten projektinternen Änderungen (1: A) und des Sets der seit dem zuletzt erfolgten früheren Import erfolgten projektexternen Änderungen (1: B) und basierend darauf h) Prüfen für jede im Set der projektexternen Änderungen (1: A) enthaltene Änderung, ob sie im Widerspruch steht zu einer im Set der projektinternen Änderungen enthaltenen Änderung, und - - wenn kein Widerspruch vorliegt, Importieren der Änderung aus dem Set der projektexternen Änderungen in das Programmierprojekt (1: B*), - - wenn ein Widerspruch vorliegt, Verwerfen der widersprüchlichen Änderung aus dem Set der projektexternen Änderungen oder Importieren der widersprüchlichen Änderung aus dem Set der projektexternen Änderungen zusammen mit einer Invertierung der widersprüchlichen Änderung aus dem Set der projektinternen Änderungen in das Programmierprojekt (1: B*).
  2. Verfahren nach Anspruch 1, wobei die Programmbibliothek eine IEC-61131-Bibliothek und das Programm ein mittels einer Programmiersprache von Speicherprogrammierbaren Steuerungen erstelltes Steuerungsprogramm für die Steuerungseinrichtung ist.
  3. Verfahren nach Anspruch 1, wobei die Programmbibliothek eine HMI-Bibliothek und das Programm ein Programm zur Bereitstellung einer Mensch-Maschine-Schnittstelle für die Steuerungseinrichtung ist.
  4. Verfahren nach einem der vorherigen Ansprüche, wobei die im Schritt d) in den Arbeitsspeicher geladene Programmbibliothek in der zuletzt importierten Fassung seit dem zuletzt erfolgten früheren Import, insbesondere als Kopie, in dem Programmierprojekt vorliegt.
  5. Verfahren nach einem der vorherigen Ansprüche, wobei die im Schritt d) in den Arbeitsspeicher geladene Programmbibliothek in der zuletzt importierten Fassung vor dem Laden erst erzeugt wird, durch - Prüfen anhand der Historie des Programmierprojekts, ob in der aktuellen projektinternen Fassung der Programmbibliothek projektinterne Änderungen enthalten sind, die seit dem zuletzt erfolgten früheren Import erfolgten, und - - bei negativem Prüfungsergebnis, entspricht die im Arbeitsspeicher befindliche aktuelle projektinterne Fassung der Programmbibliothek noch der zuletzt vom Bibliothekenablageort importierten Fassung, - - bei positivem Prüfergebnis, Anwenden eines invertierten Sets der seit dem zuletzt erfolgten früheren Import erfolgten projektinternen Änderungen (1: A') auf eine Kopie der im Arbeitsspeicher befindlichen aktuellen projektinternen Fassung der Programmbibliothek (1: Nutzer), um im Arbeitsspeicher die Fassung der Programmbibliothek zu erhalten, welche der zuletzt vom Bibliothekenablageort importierten Fassung entspricht.
  6. Programmiereinrichtung zur Durchführung des Verfahrens nach Anspruch 1 zum Importieren einer Programmbibliothek von einem Bibliothekenablageort in ein Programmierprojekt zur Erstellung eines Programms für eine Steuerungseinrichtung, wobei die Programmbibliothek bereits zu wenigstens einem früheren Zeitpunkt in das Programmierprojekt importiert wurde und nun in dem Programmierprojekt in einer aktuellen projektinternen Fassung vorliegt, die die seit dem zuletzt erfolgten früheren Import gegebenenfalls erfolgten projektinternen Änderungen enthält, die in einer Historie protokolliert sind, und wobei Programmbibliothek nunmehr erneut zu importieren ist und am Bibliothekenablageort in einer aktuellen projektexternen Fassung vorliegt, die die seit dem zuletzt erfolgten früheren Import in das Programmierprojekt gegebenenfalls erfolgten projektexternen Änderungen enthält, die nicht protokolliert sind, umfassend Hardware- und/oder Softwaremittel zum: a) Laden der Programmbibliothek in der aktuellen projektinternen Fassung (1: Nutzer) aus dem Programmierprojekt in einen von der Programmiereinrichtung umfassten oder zumindest nutzbaren Arbeitsspeicher, b) Erkennen, dass die Programmbibliothek am Bibliothekenablageort seit dem zuletzt erfolgten früheren Import in das Programmierprojekt projektextern geändert wurde, daraufhin c) Laden der Programmbibliothek in der aktuellen projektexternen Fassung (1: Extern) von dem Bibliothekenablageort in den Arbeitsspeicher, d) Laden der Programmbibliothek in der zuletzt importierten Fassung (1: Basis) aus dem Programmierprojekt in den Arbeitsspeicher, e) Vergleichen der im Arbeitsspeicher befindlichen Fassung der Programmbibliothek, welche der zuletzt vom Bibliothekenablageort importierten Fassung entspricht (1: Basis) mit der ebenfalls im Arbeitsspeicher befindlichen aktuellen projektexternen Fassung der Programmbibliothek ( 1: Extern) und basierend darauf f) Ermitteln eines Sets der seit dem zuletzt erfolgten früheren Import erfolgten projektexternen Änderungen (1: B), g) Vergleichen des Sets der seit dem zuletzt erfolgten früheren Import erfolgten projektinternen Änderungen (1: A) und des Sets der seit dem zuletzt erfolgten früheren Import erfolgten projektexternen Änderungen (1: B) und basierend darauf h) Prüfen für jede im Set der projektexternen Änderungen (1: A) enthaltene Änderung, ob sie im Widerspruch steht zu einer im Set der projektinternen Änderungen enthaltenen Änderung, und - - wenn kein Widerspruch vorliegt, Importieren der Änderung aus dem Set der projektexternen Änderungen in das Programmierprojekt (1: B*), - - wenn ein Widerspruch vorliegt, Verwerfen der widersprüchlichen Änderung aus dem Set der projektexternen Änderungen oder Importieren der widersprüchlichen Änderung aus dem Set der projektexternen Änderungen zusammen mit einer Invertierung der widersprüchlichen Änderung aus dem Set der projektinternen Änderungen in das Programmierprojekt (1: B*).
  7. Programmiereinrichtung nach Anspruch 4, wobei die Programmbibliothek eine IEC-61131-Bibliothek und das Programm ein mittels einer Programmiersprache von Speicherprogrammierbaren Steuerungen erstelltes Steuerungsprogramm für die Steuerungseinrichtung ist.
  8. Programmiereinrichtung nach Anspruch 4, wobei die Programmbibliothek eine HMI-Bibliothek und das Programm ein Programm zur Bereitstellung einer Mensch-Maschine-Schnittstelle für die Steuerungseinrichtung ist.
  9. Programmiereinrichtung nach einem der vorherigen Ansprüche, wobei die im Schritt d) in den Arbeitsspeicher geladene Programmbibliothek in der zuletzt importierten Fassung seit dem zuletzt erfolgten früheren Import, insbesondere als Kopie, in dem Programmierprojekt vorliegt.
  10. Programmiereinrichtung nach einem der vorherigen Ansprüche, wobei die im Schritt d) in den Arbeitsspeicher geladene Programmbibliothek in der zuletzt importierten Fassung vor dem Laden erst erzeugt wird, durch - Prüfen anhand der Historie des Programmierprojekts, ob in der aktuellen projektinternen Fassung der Programmbibliothek projektinterne Änderungen enthalten sind, die seit dem zuletzt erfolgten früheren Import erfolgten, und - - bei negativem Prüfungsergebnis, entspricht die im Arbeitsspeicher befindliche aktuelle projektinterne Fassung der Programmbibliothek noch der zuletzt vom Bibliothekenablageort importierten Fassung, - - bei positivem Prüfergebnis, Anwenden eines invertierten Sets der seit dem zuletzt erfolgten früheren Import erfolgten projektinternen Änderungen (1: A') auf eine Kopie der im Arbeitsspeicher befindlichen aktuellen projektinternen Fassung der Programmbibliothek (1: Nutzer), um im Arbeitsspeicher die Fassung der Programmbibliothek zu erhalten, welche der zuletzt vom Bibliothekenablageort importierten Fassung entspricht.
DE102020117970.7A 2020-07-08 2020-07-08 Verfahren und Programmiereinrichtung zum Importieren einer Programmbibliothek Pending DE102020117970A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102020117970.7A DE102020117970A1 (de) 2020-07-08 2020-07-08 Verfahren und Programmiereinrichtung zum Importieren einer Programmbibliothek

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102020117970.7A DE102020117970A1 (de) 2020-07-08 2020-07-08 Verfahren und Programmiereinrichtung zum Importieren einer Programmbibliothek

Publications (1)

Publication Number Publication Date
DE102020117970A1 true DE102020117970A1 (de) 2022-01-27

Family

ID=79179227

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020117970.7A Pending DE102020117970A1 (de) 2020-07-08 2020-07-08 Verfahren und Programmiereinrichtung zum Importieren einer Programmbibliothek

Country Status (1)

Country Link
DE (1) DE102020117970A1 (de)

Similar Documents

Publication Publication Date Title
DE60010420T2 (de) Automatisches Regressionstesten von Arbeitsplatz-Software
EP1176482B1 (de) Verfahren und Computerprogramm zum Herstellen einer Regelung oder Steuerung
EP1723513A1 (de) Verfahren zur konfiguration eines computerprogramms
DE102010011658A1 (de) Applikationsplattform und Verfahren zum Betrieb einer Datenverarbeitungseinrichtung mit einer solchen
EP1731999B1 (de) Mechanismus zum dynamischen Registrieren von Dateien in einer stapelverarbeitungsorientierten Umgebung
EP3692424B1 (de) Verfahren zum bearbeiten eines softwareprojekts
DE102004009676A1 (de) Verfahren und Systeme zum Erzeugen von Unterstützungsdateien für Befehle
EP2977888B1 (de) Verfahren und System zur Speicherung und zur Versionsverwaltung von Computerprogrammen
EP3719632A1 (de) Verfahren und vorrichtung zur verwaltung von softwaremodulen und von objekten
DE102020117970A1 (de) Verfahren und Programmiereinrichtung zum Importieren einer Programmbibliothek
EP2811352A1 (de) Verfahren zur Bearbeitung eines Automatisierungsprojektes durch eine Mehrzahl von Bearbeitungsstationen
DE102018104752A1 (de) Verfahren zum Ausführen und Übersetzen eines Computerprogrammes in einem Rechnerverbund, insbesondere zum Steuern eines Mikroskops
EP0662226B1 (de) Verfahren zur bearbeitung eines anwenderprogramms auf einem parallelrechnersystem
DE102008048862A1 (de) Testmodul und Verfahren zum Testen einer O/R-Abbildungs-Middleware
DE10233971A1 (de) Verfahren und Vorrichtung zur Erzeugung von Software
DE102008044808B4 (de) Verfahren zur Generierung von Programmcode in einem Betriebssystemspeicher und einem Applikationsspeicher eines Datenträgers
EP1959430A2 (de) Verfahren zur automatischen Generierung von VoiceXML-sprachapplicationen aus Sprachdialogmodellen
EP0568717A1 (de) Computerprogrammgesteuertes Verfahren (Tracing) zur schrittweisen Protokollierung der Ausführung eines Zielprogrammes bezüglich der Aufrufe des Zielprogrammes durch andere Programme
EP4174641A1 (de) Verfahren zum erzeugen von programmcode, verfahren zum konfigurieren eines steuergeräts und computersystem
EP0809183A1 (de) Verfahren und Anordnung zur Aktualisierung eines Teils eines Programmcodes während dessen Ausführung
DE102005030354B4 (de) Verfahren zum Erzeugen von ausführbarem Code
DE102022125524A1 (de) Verfahren zum Entwerfen von Maschinensystemen
DE102011089563A1 (de) Verfahren zum Generieren von Software
EP2136303A1 (de) Verfahren zum Steuern einer automatischen Aktualisierung von Datensichten in einem Computersystem
EP2682866A1 (de) Verfahren zur Umsetzung von Datenformaten