Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 16

Thema: CPU 318-2AJ00 Batteriestatus auslesen

  1. #1
    Registriert seit
    14.01.2015
    Beiträge
    937
    Danke
    271
    Erhielt 156 Danke für 141 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    ich möchte an einer CPU 318-2AJ00-0AB0 den Batteriestatus auslesen. Allerdings nicht über den OB81 PS Fault sondern mittels SFC51
    Siemens liefert hierfür folgendes Beispiel:

    CALL "RDSYSST" // SFC 51 : lesen des Systemstatus
    REQ :=TRUE // Anstoss der Bausteinbearbeitung
    SZL_ID :=W#16#19 // Kommando an SFC51 : 0019 auslesen aller LED's
    INDEX :=W#16#0 // Zum Auslesen des Batteriefehlers ist der Index irrelevan
    RET_VAL :=MW2 // Fehlercode
    BUSY :=M1.0 // 1 Baustein im Prozess : 0 Fertig - 1 in Process : 0 ready
    SZL_HEADER:=#szl_header // Angabe über Datensatzlänge und
    DR :=P#M 20.0 BYTE 20

    L MW 20 // DS1 : Kennung LED : Sammelfehler 0001 h
    L MB 22 // DS1 : An 1 / Aus 0
    L MB 23 // DS1 : Blinken der LED : ja/nein

    L MW 24 // DS2 : Kennung LED : Run 0004 h
    L MB 26 // DS2 : An 1 / Aus 0
    L MB 27 // DS2 : Blinken der LED : ja/nein

    L MW 28 // DS3 : Kennung LED : Stop 0005 h
    L MB 30 // DS3 : An 1 / Aus 0
    L MB 31 // DS3 : Blinken der LED : ja/nein

    L MW 32 // DS4 : Kennung LED : Force 0006 h
    L MB 34 // DS4 : An 1 / Aus 0
    L MB 35 // DS4 : Blinken der LED : ja/nein

    L MW 36 // DS5 : Kennung LED : Batteriefehler 0008 h
    L MB 38 // DS5 : An 1 / Aus 0
    L MB 39 // DS5 : Blinken der LED : ja/nein
    BE
    Ich habe alles soweit eingefügt und teilweise funktioniert es: RUN LED wird korrekt angezeigt und dass sie leuchtet. Wenn ich auf Stopp stelle wird
    auch dies richtig angezeigt. Bei den Werten für Batteriefehler steht allerdings immer 0 drin, obwohl sie permanent leuchtet ( keine Batterie drin ).

    Ich habe anders als in dem Siemens Beispiel nicht Merker verwendet sondern mit einen DB mit 20 Byte angelegt, so dass es zu keinen Überschreidungen
    kommen kann.

    Kennt jemand dieses Problem und kann mir weiterhelfen

    Ich bin für jede Hilfe dankbar.
    Zitieren Zitieren CPU 318-2AJ00 Batteriestatus auslesen  

  2. #2
    Registriert seit
    29.03.2004
    Beiträge
    5.366
    Danke
    134
    Erhielt 1.585 Danke für 1.157 Beiträge

    Standard

    Welche Anzahl an LED-Einträgen sollst du denn laut SZL_header zurückbekommen?
    20 Bytes Datenbereich ist auch etwas wenig, damit bekommst du nur max 5 LEDs zur Anzeige. Meistens werden die LED der ID nach aufsteigend übermittelt. Wenn du z.B. noch die INTF und EXTF LEDs hast, dann sind 5 Einträge zu wenig. Wie viele LEDs vorhanden sind, lässt sich über Abfrage der SZL-Headerinformationen (0x0f19) herausfinden.

    Ist im Datensatz der LED denn ein Eintrag mit der BAF-Kennung vorhanden, also mit 8?
    Die Genialität einer Konstruktion liegt in ihrer Einfachheit – Kompliziert bauen kann jeder.

    (Sergei Pawlowitsch Koroljow, sowjetischer Konstrukteur von Raketen und Weltraumpionier)

  3. Folgender Benutzer sagt Danke zu Thomas_v2.1 für den nützlichen Beitrag:

    DeltaMikeAir (08.07.2016)

  4. #3
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    10.076
    Danke
    838
    Erhielt 2.965 Danke für 2.390 Beiträge

    Standard

    Zitat Zitat von DeltaMikeAir Beitrag anzeigen
    Bei den Werten für Batteriefehler steht allerdings immer 0 drin, obwohl sie permanent leuchtet ( keine Batterie drin ).
    Erhältst Du tatsächlich die Datensatzkennung W#16#0008 und den Zustand 0?
    Versuche alternativ die SZL-ID W#16#0074 oder W#16#0174 mit INDEX W#16#0008

    Zitat Zitat von DeltaMikeAir Beitrag anzeigen
    RUN LED wird korrekt angezeigt und dass sie leuchtet. Wenn ich auf Stopp stelle wird
    auch dies richtig angezeigt.
    Das klingt ja "magic" - kann man im Programm feststellen, daß die STOP-LED leuchtet oder die RUN-LED aus ist bevor die CPU in STOP ist???

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  5. #4
    Avatar von DeltaMikeAir
    DeltaMikeAir ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    14.01.2015
    Beiträge
    937
    Danke
    271
    Erhielt 156 Danke für 141 Beiträge

    Standard

    Das klingt ja "magic" - kann man im Programm feststellen, daß die STOP-LED leuchtet oder die RUN-LED aus ist bevor die CPU in STOP ist???
    Wenn die CPU auf Stop steht, kann das Programm es natürlich nicht mehr auswerten. Allerdings steht im DB unter dem Status der STOP LED sobald man in
    Stopp geht der Wert 5 ( statt 0 ) was ja laut Siemens Beschreibung richtig wäre

    Welche Anzahl an LED-Einträgen sollst du denn laut SZL_header zurückbekommen?
    20 Bytes Datenbereich ist auch etwas wenig, damit bekommst du nur max 5 LEDs zur Anzeige. Meistens werden die LED der ID nach aufsteigend übermittelt. Wenn du z.B. noch die INTF und EXTF LEDs hast, dann sind 5 Einträge zu wenig. Wie viele LEDs vorhanden sind, lässt sich über Abfrage der SZL-Headerinformationen (0x0f19) herausfinden.
    20 Bytes gibt Siemens vor. Dies ist ja ein Beispiel von Siemens welches laut diesen natürlich auch funktionieren soll.

  6. #5
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    10.076
    Danke
    838
    Erhielt 2.965 Danke für 2.390 Beiträge

    Standard

    Zitat Zitat von DeltaMikeAir Beitrag anzeigen
    Wenn die CPU auf Stop steht, kann das Programm es natürlich nicht mehr auswerten. Allerdings steht im DB unter dem Status der STOP LED sobald man in
    Stopp geht der Wert 5 ( statt 0 ) was ja laut Siemens Beschreibung richtig wäre
    5 ist nicht der Zustand der STOP-LED sondern deren Kennung. Der Zustand steht im nächsten Byte und kann laut Dokumentation nur 0 oder 1 sein.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  7. #6
    Avatar von DeltaMikeAir
    DeltaMikeAir ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    14.01.2015
    Beiträge
    937
    Danke
    271
    Erhielt 156 Danke für 141 Beiträge

    Standard

    5 ist nicht der Zustand der STOP-LED sondern deren Kennung. Der Zustand steht im nächsten Byte und kann laut Dokumentation nur 0 oder 1 sein.
    Der Wert wechselt auch auf 1. Ich brauche aber Hilfe zur BatF LED. Das andere funktioniert ja.

  8. #7
    Avatar von DeltaMikeAir
    DeltaMikeAir ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    14.01.2015
    Beiträge
    937
    Danke
    271
    Erhielt 156 Danke für 141 Beiträge

    Standard

    Hallo Thomas,

    im Datensatz steht 0. Das steht bei den anderen aber auch. Der Wert wechselt erst auf den entsprechenden Wert, wenn die LED leuchtet oder blinkt ( Mit dem entsprechenden Wert im nächsten Byte )
    nur eben bei dem BatF nicht. Es steht immer 0 drin. Egal ob an oder aus.

    Mit der Anzahl der LED´s und das evtl. verlängern der Struktur werde ich Montag ausprobieren.
    Danke Thomas

  9. #8
    Avatar von DeltaMikeAir
    DeltaMikeAir ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    14.01.2015
    Beiträge
    937
    Danke
    271
    Erhielt 156 Danke für 141 Beiträge

    Standard

    Guten morgen noch einmal,

    ich schreibe noch einmal bezüglich der Auswertung des Batteriefehler, welchen ich mittels SFC51 auswerten möchte.
    Ich habe die alte CPU 318-2AJ00-0AB0 mit dem letzten Firmwarestand. In diesem habe ich das original Programmbeispiel
    von Siemens enigefügt:
    https://support.industry.siemens.com...dti=0&lc=de-WW
    https://cache.industry.siemens.com/d...tery_fault.pdf

    Laut Siemens funktioniert das Beispiel mit jeder S7-CPU, welche noch keinen MMC Card Slot hat ( weil diese keine Pufferbatterie mehr haben )

    Der Batteriefehler steht an, der Baustein gibt am Ausgang "BAF" FALSE raus. Wenn ich in den Siemens Baustein reingehe kommt der RET_VAL 32898 ( = 8082 )
    welcher bedeutet: "SZL_ID falsch oder in der CPU bzw. in der SFC unbekannt"

    Ich bin für jede Hilfe dankbar.

  10. #9
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.652
    Danke
    310
    Erhielt 1.494 Danke für 1.259 Beiträge

    Standard

    Eigentlich überlege ich daran schon die ganze Zeit ob dein Problem sein könnte, das die alte 318er ja eigentlich eine umgewandete 400er und eben eigentlich keine 300er ist ...
    Was sagt SZL-ID 0392 dazu?

    Mfg
    Manuel
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

  11. #10
    Avatar von DeltaMikeAir
    DeltaMikeAir ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    14.01.2015
    Beiträge
    937
    Danke
    271
    Erhielt 156 Danke für 141 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Manuel und danke für deine Nachricht.

    Mit W#16#0392 wird der gleiche Status geliefert. Ich hatte auch schon den Gedanken mit der 400ér CPU. Ich habe noch eine alte 315 DP im Regal und werde das ganze nachher
    mit dieser einmal ausprobieren. Ich gebe dann kurze Rückmeldung.

    Mit Grüßen

Ähnliche Themen

  1. Step 7 Cpu 318-3el00
    Von tababa im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 03.11.2015, 14:34
  2. Cpu S7 318
    Von B1798 im Forum Elektronik
    Antworten: 8
    Letzter Beitrag: 17.02.2015, 21:20
  3. Antworten: 14
    Letzter Beitrag: 17.11.2012, 06:25
  4. CPU 318-2 Schnittstellenfehler ID 16#6981
    Von MaurerT im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 24.07.2012, 08:12
  5. CPU 318-2 Arbeitsspeicher voll
    Von Backdoor im Forum Simatic
    Antworten: 17
    Letzter Beitrag: 09.05.2011, 22:19

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •