×
Siemens Industry Online Support
Siemens AG
Beitragstyp: Anwendungsbeispiel Beitrags-ID: 15261408, Beitragsdatum: 15.05.2003
(0)
Bewerten

Rezepturverwaltung mit der Micro Memory Card (MMC)

  • Beitrag
  • Betrifft Produkt(e)

FRAGE:
Wie kann ich das neue Speicherkonzept auf Basis der Micro Memory Card (MMC) zur Verwaltung von Rezepturen nutzen ?

ANTWORT:
Seit der zweiten Hälfte des Jahres 2001 sind S7-300- CPUs verfügbar, die für den Ladespeicher eine Micro Memory Card (MMC) verwenden. Im Vergleich mit den älteren CPUs haben die CPUs mit MMC folgende große Vorteile:

  • Möglichkeit des Lesens der Anwenderdaten aus dem Ladespeicher der CPU im laufenden Programm
  • Möglichkeit des Schreibens der Anwenderdaten in den Ladespeicher der CPU aus dem laufenden Programm
  • Datenremanenz des Arbeitsspeichers ohne Pufferbatterie - die Daten des Arbeitsspeichers werden bei Netzausfall in der MMC gespeichert

Die MMC bietet Ihnen heute bei S7-300 einen Speicherplatz bis zu 8MB und damit bis ca. 166mal mehr, als die Größe des Arbeitsspeichers.

Dieser Beitrag beschreibt, wie die MMC genutzt werden kann, um Rezepturen (gezielt zusammengestellte Datensätze für die Prozessteuerung) zu verwalten. Ergänzend dazu ist mit der Beitrags ID 15261720 ein Beitrag verfügbar, der das Speichern von Prozessdaten auf der MMC beschreibt.

Das Programmbeispiel ist so erstellt und dokumentiert, dass Sie die Funktionsbausteine direkt in Ihre Applikation übernehmen können.
Der Programmcode der Bausteine ist als Quellcode verfügbar und dokumentiert (deutsch), so dass Sie bei Bedarf den Programmcode bzw. die darin verwendeten Aufrufe der Systemfunktion SFC 83 modifizieren können.

Ausführliche Beschreibung:
Eine Rezeptur ist eine Sammlung von Anwenderdaten, die zum Steuern eines Prozesses benötigt werden.
Das Prozess-Steuerprogramm holt sich sequentiell die Daten (z. B. Materialmengen, Koordinaten, Entfernungen, Geschwindigkeiten, Temperaturen) aus dem Rezeptur-DB und benutzt sie zum gezielten Bestimmen der Prozesseigenschaften. Der Umfang einer Rezeptur ist gewöhnlich so groß, dass sie ohne Platzverschwendung in einem einzigen DB untergebracht werden kann. Von dieser Annahme wird auch in diesem Beispiel ausgegangen.

Gewöhnlich ist mehr als nur eine einzige Rezeptur zum Steuern des Prozesses erforderlich. Das bedeutet, dass es immer mehrere Rezeptur-DBs zu erstellen und zu verwalten gibt. Dabei handelt es sich um "nicht ablaufrelevante" DBs, die im Ladespeicher abgelegt sind und keinen Platz im Arbeitsspeicher belegen.

In diesem Programmbeispiel gibt es für jede Rezeptur einen Rezeptur-Quell-DB. Alle Rezeptur-Quell-DBs haben die gleiche Struktur. Deren Inhalt wird einzeln in einen Rezeptur-DB im Arbeitsspeicher übertragen, der dann die Daten für den laufenden Prozess liefert.

Vorgehensweise beim Erstellen und Laden des Anwenderprogramms

  1. Im Programmiergerät wird mit Hilfe des DB-Editors ein DB mit der erforderlicher Rezeptur-Struktur erstellt, der als Original für das ganze System von nicht ablaufrelevanten Rezeptur-Quell-DBs im STEP 7 Projekt (Off-Line) dient.
  2. Durch Kopieren und Modifizieren des erstellten Rezeptur-Quell-DBs wird das ganze System von Rezeptur-Quell-DBs erzeugt.
  3. Wenn notwendig, sind weitere, nicht für Rezepturen gedachte DBs zu erstellen.
  4. Die STEP 7 - Codebausteine werden erstellt.
  5. Das gesamte Anwenderprogramm (DBs und STEP 7 Codebausteine) wird in die CPU übertragen.
    Der Ladespeicher muss dabei gesteckt sein!

Nach diesen Schritten ist folgender Zustand erreicht:

  • Das ganze übertragene Programm wurde in den Ladespeicher geladen.
  • In den Arbeitsspeicher wurden nur die ablaufrelevanten Teile des Programms geladen.
    Das System von Rezeptur-Quell-DBs ist nur im Ladespeicher und nicht im Arbeitsspeicher enthalten.

Um das Programm auszuführen, gehen Sie bitte folgendermaßen vor:

  • Mit Hilfe der Variablen Tabelle "VAT_FC1" die gewünschte Rezeptur Nummer (1 bis 10) in dem Arbeits-Datenbaustein an Adresse "Rez_Nummer" (DB2.DBW0) setzen.
  • Eingang 0.7 setzen -> Flankenmerker gesetzt -> Datenbaustein wird kopiert

Bild1: Darstellung des beschriebenen Arbeitsablaufes

Arbeitsweise FC 1: Baustein zum Verwalten der Rezepturen
Die Aufgabe des Rezeptur-Verwaltungsprogramms ist es, eine angeforderte Rezeptur in dem im Ladespeicher liegenden System von "Rezeptur-Quell-DBs" zu finden und sie anschließend in den Rezeptur-DB im Arbeitsspeicher zu übertragen. Der Rezeptur-DB enthält nach der Übertragung die aktuelle Rezeptur für das Prozess-Steuerprogramm.

Als Aufforderung für die Übertragung einer Rezeptur empfängt das Rezeptur-Verwaltungsprogramm eine Rezepturnummer und danach einen gesetzten Startmerker ("Rez_Copy") vom Prozess-Steuerprogramm. Die Rezepturnummer hat das Datenformat "Integer."
In dem Programmbeispiel sind für die Rezepturen die Nr. 1 bis Nr. 10 vorgesehen. Die Rezepturen sind in den Datenbausteinen DB10 bis DB19 abgelegt. Die für das Kopieren erforderliche DB-Nr. wird daher aus der Rezeptur Nr. (DBW0 im Arbeits-DB ) und einem Offset (Konstante mit dem Wert "9") ermittelt und dann im DBW2 im Arbeits-DB abgelegt. Während der Vorbereitung des Kopiervorgangs wird die DB-Nr. dem Variablen ANY-Zeiger "SRC_Zeiger" (Aktualparameter des SFC 83) übergeben. Der Ziel-DB fürs Kopieren ist immer der DB 4. Seine Nummer, in diesem Fall eine Konstante, wird dem ANY-Zeiger "DST_Zeiger" (Aktualparameter des SFC 83) übergeben.

Der Startmerker wird beim Neustart der CPU und nach jeder erfolgreichen Übertragung vom Rezeptur-Verwaltungsprogramm rückgesetzt. Das Rücksetzen des Startmerkers nach der Übertragung im zyklischen Programm ist zugleich die Nachricht an das Prozess-Steuerprogramm, dass die Abarbeitung der angeforderten Rezeptur beginnen kann.

Das Kopieren aus dem Ladespeicher in den Arbeitsspeicher erfolgt unter Verwendung des SFC 83. Der Baustein ist als Systemfunktionsbaustein in der CPU integriert. Die Beschreibung ist in der STEP 7 On-Line Hilfe enthalten.

Die Häufigkeit der Lesezugriffe auf den Ladespeicher ist unkritisch, trotzdem sollte man sie auf das notwendige Maß begrenzen.

Bild2: Programmablaufplan vom FC1

Der beigefügte Download enthält das "STEP 7 Projekt "Recipe_read_from_MMC" als selbstentpackende exe-Datei mit dem beschriebenen Rezeptur-Verwaltungsprogramm.

Reciperead_from_MMC.exe

Kopieren Sie die Datei "Reciperead_from_MMC.exe" in ein separates Verzeichnis und starten Sie die Datei anschließend per Doppelklick. Das STEP 7 Projekt wird automatisch entpackt und kann anschließend geöffnet bzw. bearbeitet werden.

Weiterführende Informationen:
Weiterführende Informationen zum Thema :

  • Speichekonzept finden Sie in dem Handbuch "Automatisierungssystem S7-300 Aufbauen: CPU 31xC und CPU 31x". (Beitrags ID 12996906 )
  • Funktionsaufrufen (z.B. SFC 83) finden Sie in dem Handbuch "SIMATIC Systemsoftware für S7-300/400 System- und Standardfunktionen". (Beitrags ID 1214574 )

Ablauffähigkeit und Testumgebung:
Das Beispiel ist einsetzbar auf allen S7-300-CPUs mit Micro Memory Card (MMC)..
In der folgenden Tabelle sind die Komponenten aufgeführt, mit denen dieser Beitrag erstellt und die beschriebene Funktionsweise verifiziert wurde:

Testumgebung Version
PC Plattform Intel Pentium III, 650MHz, 384 MB
PC-Betriebssystem Windows XP
STEP 7 STEP 7 V5.2
Optionspakete --
S7-CPU CPU 314C-2 PtP (314-6BF00-0AB0)


Securityhinweise
Um technische Infrastruktur, Systeme, Maschinen und Netzwerke gegen Cyber-Bedrohungen zu sichern, ist es erforderlich, ein ganzheitliches IT Security-Konzept zu implementieren (und kontinuierlich aufrechtzuerhalten), das dem aktuellen Stand der Technik entspricht. Die Produkte und Lösungen von Siemens formen nur einen Bestandteil eines solchen Konzepts. Weitergehende Informationen über Cyber Security finden Sie unter
https://www.siemens.com/cybersecurity#Ouraspiration.