Die derzeitigen Anforderungen an Feldsteuerungssysteme, insbesondere im Hinblick auf die notwendige Flexibilität und Anpassbarkeit von gesteuerten Produktionssystemen, erzwingen ein vollständig neues Vorgehen beim Entwurf und der Implementierung dieser Steuerungssysteme.
Besondere Bedeutung gewinnen dabei
die Mehrfachnutzung und Wiederverwendung einmal geschriebener Steuerungsapplikationsteile,
die Integration von Steuerungsbausteinen aus verschiedensten Quellen und von verschiedensten Autoren,
die Sicherung der korrekten Funktion von Bausteinen und der gesamten Applikationen und
die mögliche Abhängigkeit von Steuerungsbausteinen von der verwendeten Steuerungshardware.
Alle 4 Punkte führten dazu, dass in verschiedenen Werkzeugen, die im Rahmen des Engineeringprozess für eine Steuerungsapplikation verwendet werden, unterschiedliche Datensätze verwaltet werden und zum Einsatz kommen, die sich jedoch auf gleiche Funktionseinheiten in der Steuerungsapplikation beziehen. So werden zum Beispiel in CAD Werkzeugen physikalische Rahmenwerte der gewählten Steuerungshardware (Sensoren und Aktoren) und Anschlussinformationen verwendet, im Programmiergerät tauchen SPS Programme auf und in einem Verifikationstool werden formale Modelle der Steuerungsapplikation genutzt und gespeichert.
Diese Datenvielfalt hat in den letzten Jahren mit dem Anwachsen der Toolkette in Engineeringprozess auch zu einem Anwachsen der Inkompatibilitäten und Versionsfehler geführt. Um diesem Problem entgegen zu wirken wurden die sogenannten Automation Objects (AO) definiert.
Ein AO stellt die Zusammenfassung aller Daten, Programme, Modelle und sonstiger Informationsträger für eine abgegrenzte Funktionseinheit in einem Steuerungssystem dar. Sie beinhaltet alle Informationen, die für diese Funktionseinheit verfügbar sind und bildet damit das funktionseinheitsbezogenen Repository für den gesamten Engineeringprozess.
Durch die Nutzung von AO wird es möglich, ganze Teile einer Steuerungsapplikation, inklusive erstellter Modelle, gesammelter Ergebnisse, ausgeführter Verifikationsverfahren, implementiertem Code, u.s.w. in andere Engineeringprojekte zu übernehmen und zu integrieren.