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

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

Thema: SCL (Variablen) indizierter Zugriff

  1. #1
    Registriert seit
    06.09.2013
    Beiträge
    24
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten Abend liebes SPS Forum,

    Ich möchte gerne die PEW Adresse im "Merker" eingeben (um ändern) und
    dann den Digitalen Wert auslesen können.

    Im Simulation Programm S7-PCLSIM funktioniert der Code,
    wenn ich das Programm auf unsere Test- Hardware übertrage,
    setzt sich die CPU sobald sie eine Zahl bekommt im Fehler Modus.

    Code:
    VAR
        Zahl:INT;
        digitalerwert:INT;
    END_VAR 
    digitalerwert:=WORD_TO_INT(PEW[Zahl]);
    Zitieren Zitieren SCL (Variablen) indizierter Zugriff  

  2. #2
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.166
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Das ist aber nicht lieb von der CPU, einfach so in "Fehler Modus" gehen ... nur wegen einer schnöden Zahl ...

    Dann schau halt in den Diagnosepuffer der CPU, da steht drin, warum an der CPU die SF-LED leuchtet. Höchstwahrscheinlich "Zugriffsfehler beim Lesen" auf eine nicht vorhandene Hardware-Adresse.

    PS:
    Wie immer die wichtigste Angabe: Welche CPU?

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  3. #3
    Legosteine ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    06.09.2013
    Beiträge
    24
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Folgende CPU wird verwendet CPU 315 2 DP.

    Den Diagnosepuffer hatte ich ausgelesen gehabt.
    Da stand was von OB 100 1XX hochladen oder so...
    Muss ich morgen noch mal genau gucken ....

    Die Hardware Adresse stimmt, wenn ich im Quell Code statt PEW[Zahl] die dreckte Zuweisung machen PEW256
    lauft die CPU 1A.

  4. #4
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.712
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    Hallo,
    dein Codeschnipsel ist ja so nicht vollständig. "Zahl" ist eine temporär deklarierte Variable. Zu welchem Zeitpunkt kommt den wie die gewünschte 256 in die Variable ?
    Bedenke bitte : eine Temp.Variable kann sich nichts von Zyklus zu Zyklus "merken" und im Falle deines Codeschnipsels steht da für mich erstmal irgendetwas drin.

    Gruß
    Larry

  5. #5
    Legosteine ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    06.09.2013
    Beiträge
    24
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Hallo,
    dein Codeschnipsel ist ja so nicht vollständig. "Zahl" ist eine temporär deklarierte Variable. Zu welchem Zeitpunkt kommt den wie die gewünschte 256 in die Variable ?
    Bedenke bitte : eine Temp.Variable kann sich nichts von Zyklus zu Zyklus "merken" und im Falle deines Codeschnipsels steht da für mich erstmal irgendetwas drin.

    Gruß
    Larry

    Mein richtiger Code greift auf einen Globalen Datenbaustein zu.
    Die Variablen werden dann vom Touch- Panel geändert.

    Reicht die Info, sonst bau ich eben mein Arbeits Notebook auf und Poste den Code
    Was genau willst du sehen.

    Mein Gedanke:
    Aber warum Funktioniert das dann in der Simulation von
    STEP 7 5.5 und WINCC Flexible 2008.

  6. #6
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.166
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Dann schau morgen nochmal GENAU nach - "oder so..." hilft nicht viel bei der Fehleranalyse.
    Wenn Du Dein Problem danach trotzdem nicht lösen kannst, dann poste mal den ganzen Code den Du tatsächlich verwendest. Wie kommt bei Dir die 256 in die Variable "Zahl"? Steht da sicher 256 drin? In dem von Dir gezeigten Code gibt es keine Zuweisung an "Zahl".
    [EDIT] OK, das hast Du schon auf Larrys Frage beantwortet


    Zitat Zitat von Legosteine Beitrag anzeigen
    Aber warum Funktioniert das dann in der Simulation von
    STEP 7 5.5 und WINCC Flexible 2008.
    Wenn Du in PLCSIM auch die Hardware Konfig lädst (also Systemdaten mitladen), dann sollte das PLCSIM ebenfalls "in Fehler Modus" gehen - sprich SF-LED und Diagnosepuffer verhalten sich dann wie bei der realen Hardware.

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  7. #7
    Legosteine ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    06.09.2013
    Beiträge
    24
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hier mein Code

    //Auszug SCL Quelle FB15
    Code:
    FUNCTION_BLOCK FB15
    
    VAR_TEMP
        // temporäre Variablen
    
    END_VAR
    VAR
        // statische Variablen
    
    END_VAR 
    
    "root".nuOfWordDigiIn1:=WORD_TO_INT(PEW["root".numberOfWordIn1]);
    
    END_FUNCTION_BLOCK
    //Globaler Datenbaustein DB13 "root"
    Code:
    Adresse Name Type Anfanfswert Kommentar
    +20.0 numberOfWordIn1    INT    0    Analog Eingang - Messwerteingang z.B. 272    
    +40.0 nuOfWordDigiIn1    INT    0    Analog Einagng - Digitalermesswert
    // WinnCC
    Verbinduung MP377 12 Touch zu CPU315 2 DP
    Schnittstelle IF1B MPI/DP

    Code:
    // Für Eingabe für PEW
    Einstellungen Eingabe/ Ausgabe
    Prozessvariable Root.numberOfWordIn1
    Anzeige -> Dartstellung Dezimal
    Darstellungsformat 999
    
    // Digitaler Wert Auslesen
    Einstellungen Ausgabe
    Prozessvariable Root.nuOfWordDigiIn1
    Anzeige -> 
    Dartstellung Dezimal
    Darstellungsformat 99999
    AI8x12Bit
    272 bis 287
    Geändert von Legosteine (14.10.2013 um 08:48 Uhr)

  8. #8
    Legosteine ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    06.09.2013
    Beiträge
    24
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Fehlerbericht

    Code:
    Ereignis 1 von 100:  Ereignis-ID 16# 4563
    STOP durch  Peripheriezugriffsfehler (OB nicht geladen oder nicht möglich, bzw. kein FRB vorhanden) 
    Unterbrechungstelle im Anwenderprogramm:  Zyklisches Programm (OB 1)  
    Prioritätsklasse:    1
    FB-Nummer:    15
    Bausteinadresse:      8 
    Bisheriger Betriebszustand: RUN
    Angeforderter Betriebszustand: STOP (intern)
    interner Fehler, kommendes Ereignis
    08:27:51.623  14.10.2013
    (Kodierung: 16# 4563  FF84  8E70  0101  000F  0008)
    
    
    Ereignis 2 von 100:  Ereignis-ID 16# 2942
    Peripherie-Zugriffsfehler, lesend  
    P-Bereich , Wortzugriff, Zugriffsadresse:    272
    Angeforderter OB: Peripheriezugriffsfehler-OB (OB 122)
    OB nicht vorhanden oder gesperrt oder nicht startbar im aktuellen Betriebszustand
    externer Fehler, kommendes Ereignis
    08:27:51.623  14.10.2013
    (Kodierung: 16# 2942  FE7A  0020  0110  0000  0000)

  9. #9
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.166
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Moin,

    hast Du nirgends eine Prüfung, ob der DB13.DBW20 (numberOfWordIn1) eine zulässige Adresse enthält?
    Und was stand im Diagnosepuffer?

    Harald

    PS:
    der symbolische Name numberOfWordIn1 ist irreführend oder zumindest absolut nichtssagend.. die Variable enthält eine Adresse und keine Anzahl
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  10. #10
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.166
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ist die HW Konfig in die CPU geladen?

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

Ähnliche Themen

  1. Indizierter Zugriff SCL Portal V11
    Von Freddy im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 02.05.2012, 05:10
  2. Antworten: 1
    Letzter Beitrag: 23.01.2012, 17:06
  3. indizierter Zugriff auf DB
    Von hammerheadbene im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 27.05.2010, 13:20
  4. Indizierter DB-Zugriff in FUP/KOP ?
    Von HoGe im Forum Programmierstrategien
    Antworten: 3
    Letzter Beitrag: 29.01.2010, 20:36
  5. Indizierter Zugriff auf Datenbaustein im SCL
    Von tarzipan7 im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 05.02.2008, 15:37

Lesezeichen

Berechtigungen

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