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

Ergebnis 1 bis 2 von 2

Thema: Fehler beim Überstzen

  1. #1
    Registriert seit
    03.06.2013
    Beiträge
    14
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Zusammen,

    ich bekomme folgende Fehlermeldung beim Übersetzen der Bausteine:

    Netzwerk 16-45 - Die Anweisung greift auf das DB- bzw. das DI-Register zu. Sie haben jedoch keinen Datenbaustein in diesem Register geöffnet.
    Fehlercode: 604:4549

    Ich habe einen FC geschrieben um Messwerte alle 200 Millisekunden in den DB40 zu schreiben.
    In dem DB40 können 50 Messwerte gespeichert werden, danach wird er neu überschrieben.
    Das Ganze habe ich in AWL mittels indirekter Adressierung gemacht.

    Findet ihr den Fehler?

    Vielen Dank im Vorraus!
    Gruß Michael
    Angehängte Grafiken Angehängte Grafiken
    Zitieren Zitieren Fehler beim Überstzen  

  2. #2
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.272
    Danke
    439
    Erhielt 661 Danke für 498 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Naja, kann mir schon vorstellen warum TIA meckert.
    Code:
    //------------------------------------------------------------------------- Netzwerk 14
    
    
    AUF    DB[#idbNr]        //Hier lädst du 40 in das DB-Register
    
    
    //------------------------------------------------------------------------- 
    
    
    //------------------------------------------------------------------------- //Netzwerk 15
    
    
    U     "E_EBRO_irgendwas"    //Dir ist klar dass diese UND-Bedingung nichts bewirkt.
                                    //Die Befehle unten werden immer ausgeführt, unabhängig von "E_EBRO_irgendwas"
    ...
    
    
    L     "Merker".Aktualwert    //"Merker" ist doch ein Db oder?
                                    //Beim Zugriff auf den DB wird das DB-Register mit der DB-Nummer von "Merker" beschrieben
                                    //Damit wird der AUF-Befehl zunichte gemacht
    T     DBD[Adresse]        //Dieser Schreibzugriff findet dann in "Merker" statt.       
    
    
    //-------------------------------------------------------------------------
    Der indirekte Zugriff findet also ohne vorheriges laden des DB-Registers, weil beim Zugriff auf "Merker" überschrieben, statt.
    Wusste aber nicht dass TIA das prüft.

    PS: In TIA mit S71200/1500 wäre sowas mit nem Array deutlich leichter.
    Geändert von RONIN (17.08.2016 um 15:25 Uhr)
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

Ähnliche Themen

  1. Antworten: 31
    Letzter Beitrag: 08.08.2016, 11:30
  2. Fehler beim übertragen
    Von Aeppel713 im Forum HMI
    Antworten: 10
    Letzter Beitrag: 20.01.2016, 13:57
  3. Fehler beim Einketten
    Von ducati im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 10.10.2012, 08:30
  4. Fehler beim Übersetzen
    Von B4D_Dr1ft im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 01.09.2011, 15:13
  5. Antworten: 9
    Letzter Beitrag: 17.06.2011, 08:02

Lesezeichen

Berechtigungen

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