TIA Genutzten Speicher eine SD Karte auslesen

Balu_der_Bär

Level-2
Beiträge
120
Reaktionspunkte
47
Zuviel Werbung?
-> Hier kostenlos registrieren
System: TIA V14
CPU : S7 1200 sowie 1500

Hallo zusammen,
ich versuche gerade einen Standardbaustein zur Beschreibung von SD-Karten zu schreiben.
damit diese nicht irgendwann voll ist und die Aufzeichnung abbricht würde ich gerne den genutzten Speicher auslesen.
Im optimalen fall sollte die Lösung auf 1200 und 1500er Steuerungen laufen.

ich hab es mit GET_IM_DATA probiert aber der lässt bei der Local~MC Adresse nur den IM_Type 0 zu der mir lediglich Bestell und Seriennummer ausgibt.

Siemens selbst gibt die % Angabe auf dem Panel eine 1500 aus, das reicht mir in dem Fall aber nicht.

Vielleicht hat von euch jemand eine Idee?

Grüße

Balu
 
Hallo,

ab TIA V14 SP1 soll es die Funktion "GetSMCInfo" geben, die die gewünschte
Information liefert. Voraussetzung ist passende Firmware- Version der CPU.

mfg
Erdmann
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Balu,

Vielleicht ist es für dich auch noch interessant die bisherigen Schreibzyklenebenfalls zu analysieren.
Im folgenden FAQ wird die Lebensdauer einer SMC in Abhängigkeit der Speichergröße und der Schreibzyklen:
https://support.industry.siemens.com/cs/ww/de/view/109482591

Eine Meldung erscheint automatisch nach 80% der Mindestlebensdauer, aber vielleicht ist eine genauere Analyse für dich sinnvoll.

Gruß Käse
 
Hallo,

ich hatte (absichtlich) geschrieben, dass es ab TIA V14 SP1 die Funktion "GetSMCInfo" geben "sollte".
Ich habe es allerdings noch nicht geschafft, diese Funktion aufzurufen, weder bei einer CPU1511 mit
aktuellem Firmwarestand, noch bei einer 1516 mit aktuellem Firmwarestand,
Das TIA bietet diese "Anweisung" weder an noch wird diese "Anweisung" akzeptiert.

mfg
Erdmann
 
Hallo Erdmann,

Hast du in auch die neuste Firmware 2.1 für die CPU projektiert?
Und ist der Diagnose -Ordner unter Erweiterte Anweisungen auch auf V1.5?
Kann man seit neustem über den Button "Projekt und Anweisungen hochrüsten" oben bei der Bausteinsuche durchführen.

Bei mir ist der Baustein vorhanden, hab den aber noch nicht testen können.

Gruß Käse
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

Firmware 2.1 ist projektiert und auch geladen.
Unter erweiterte Anweisungen Version Diagnose V1.4.
Projekt wurde von V14 SP0 hochgerüstet.

Weitere Erkenntnisse:
- Neues Projekt mit V14 SP1 erstellen, erweiterte Anweisungen Version Diagnose V1.5.
- Baustein vorhanden, verwendbar und geht auch.
- Da scheint was mit dem "Hochrüsten" nicht zu funktionieren.
Möglichkeit:
- Neues Projekt erstellen, kompletten Inhalt des alten Projektes einfügen, dann gehts.

mfg
erdmann
 
Hallo erdmann,

Code:
Kann man seit neustem über den Button "Projekt und Anweisungen hochrüsten"  oben bei der Bausteinsuche durchführen.
Damit gehts auch im alten Projekt. Das rüstet dir alle Anweisungen auf die neue Version im alten Projekt hoch.

Gruß Käse
 
Hallo,

Danke, so stehts ja auch in der Hilfe. Habe ich auch so gemacht.
Hat halt bei zwei Projekten NICHT funktioniert.

mfg
Erdmann
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich muss auch im Projekt die Funktion einrichten, die meine SD Kartenspeicher auf Touch Panel überwacht, falls SD Speicher voll wird

Hardware: CPU 314C-2 PN/DP
CPU Firmware Version: V3.3.17
Software: TIA Portal V16
Unter dem Link hier steh auch, dass getSMCInfo für alle CPU Typen unterstützt wird ab V2.1

ich habe nach folgender Anleitung projektiert. Zuerst Datenbaustein und danach FB angelegt. Nach Übersetzen von FB kommt folgende Fehlermeldung (s. Anlage) . Ich kann Fehler nicht korrigieren. Habt Ihr Idee was ich falsch mache?
 

Anhänge

  • 001.jpg
    001.jpg
    98 KB · Aufrufe: 21
  • 002.jpg
    002.jpg
    151,4 KB · Aufrufe: 23
  • 003.jpg
    003.jpg
    198,2 KB · Aufrufe: 23
  • 004.JPG
    004.JPG
    58,4 KB · Aufrufe: 22
ich muss auch im Projekt die Funktion einrichten, die meine SD Kartenspeicher auf Touch Panel überwacht, falls SD Speicher voll wird
Eine evtl. im HMI steckende SD-Card hat nichts mit einer SPS-CPU-Memorycard zu tun. getSMCInfo kann nicht funktionieren.
Was für ein HMI Panel hast Du denn?

Harald
 
Eine evtl. im HMI steckende SD-Card hat nichts mit einer SPS-CPU-Memorycard zu tun. getSMCInfo kann nicht funktionieren.
Was für ein HMI Panel hast Du denn?

Harald
Hallo Harald, bezieht sich getSMCInfo Anweisung nur auf CPU Memory MMC Card und nicht auch auf SD Karte im 2. Slot?
HMI Panel ist TP700 Comfort Panel. Kann man dann Abfrage, ob SD Karte Speicher voll ist, mit VB Skript realisieren..?
 
Nach Übersetzen von FB kommt folgende Fehlermeldung (s. Anlage) . Ich kann Fehler nicht korrigieren. Habt Ihr Idee was ich falsch mache?
Da fehlt die Angabe der Instanz, z.B. Instanz-DB.
003b.jpg

Abhilfe: Rechtsmausklick auf den Baustein > Instanz erzeugen...

Hallo Harald, bezieht sich getSMCInfo Anweisung nur auf CPU Memory MMC Card und nicht auch auf SD Karte im 2. Slot?
geht nur mit Speicherkarten in der CPU

HMI Panel ist TP700 Comfort Panel. Kann man dann Abfrage, ob SD Karte Speicher voll ist, mit VB Skript realisieren..?
Ich glaube nicht, daß das direkt mit einer einfachen Funktion geht. Habe ich noch nie gebraucht.

Vermutlich wird die Größe des freien Platzes auf der SD Card in der Eingabeaufforderung/Command Prompt angezeigt?
Du könntest mal am TP700 den Command Prompt starten und da eingeben: dir "\Storage Card SD" und davon ein Bild machen und uns zeigen.

Du könntest auch versuchen, ob Du testweise eine große Datei anlegen oder kopieren kannst, dann ist noch Platz.
z.B. eine Datei mit 10 MB auf die Memorycard kopieren. Dann mit VB-Skript die Datei kopieren, wenn das klappt dann ist noch mind. 10 MB frei. Danach die erzeugte Datei wieder löschen. In ganz großer Not die große Testdatei selber löschen, dann werden 10 MB frei.

Wird evtl. im Webserver (HTML-Seiten) des TP700 die Größe/freier Platz von SD Cards angezeigt?

Harald
 
Falls der Dir-Befehl im Command Prompt die Größe des freien Platzes der SD Card ausgibt (am Ende der Ausgabe "xxxxxxxx bytes free"), dann kannst Du mit einem VBS-Skript mit StartProgram den Dir-Befehl dir "\Storage Card SD" ausführen lassen und dessen Ausgabe in eine Datei umlenken und die Angabe "xxxxxxxx bytes free" aus der Datei auslesen. Wie das geht: ein Beispiel siehe hier WinCE VBS GetHostname und lies da auch Beitrag #3

Harald
 
Da fehlt die Angabe der Instanz, z.B. Instanz-DB.
Anhang anzeigen 69662

Abhilfe: Rechtsmausklick auf den Baustein > Instanz erzeugen...



Vermutlich wird die Größe des freien Platzes auf der SD Card in der Eingabeaufforderung/Command Prompt angezeigt?
Du könntest mal am TP700 den Command Prompt starten und da eingeben: dir "\Storage Card SD" und davon ein Bild machen und uns zeigen.


Harald

Die Instanz DB habe ich nachher auch angelegt. Ich dachte, dass diese Anweisung auch für S-300 CPU klappen würde. Aber es ging nicht.
dir "\Storage Card SD" habe ich im Panel ausgeführt:

Found 16 Files . Total size 84141 Bytes. 1 Dir(s) 31xxx bytes free
Es ist 32 GB Speicher noch da. Der Gedanke war, dass ich eine HMI Meldung oder HMI Anzeige einbaue, dass bei 90% des Speichernutzung System automatisch meldet Speicher sei bald voll

 
Falls der Dir-Befehl im Command Prompt die Größe des freien Platzes der SD Card ausgibt (am Ende der Ausgabe "xxxxxxxx bytes free"), dann kannst Du mit einem VBS-Skript mit StartProgram den Dir-Befehl dir "\Storage Card SD" ausführen lassen und dessen Ausgabe in eine Datei umlenken und die Angabe "xxxxxxxx bytes free" aus der Datei auslesen. Wie das geht: ein Beispiel siehe hier WinCE VBS GetHostname und lies da auch Beitrag #3

Harald
Ich schaue mir das noch, dass ich Ausgabe von dir Befehl in Skript nutzen kann. Danke, Harald.
 
Zurück
Oben