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

Ergebnis 1 bis 6 von 6

Thema: Probleme DB Zugriff mit SCL

  1. #1
    Registriert seit
    22.10.2006
    Beiträge
    30
    Danke
    4
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    kann mir jemand sagen warum ich die folgende Fehlermeldung in SCL bekomme:

    Ungültiger Datentyp

    bei folgenden Programmzeilen:

    TempCount:=DB1.DD20;
    DB1.DD20:=DB1.DD20 + diAnzahl;

    Das Datenfeld im DB1 ab Adresse 20 ist als DINT deklariert. Die beiden Variablen TempCount und diAnzahl sind im lokalen Baustein ebenfalls DINT.


    Danke schon im Voraus für Eure Hilfe.
    Zitieren Zitieren Probleme DB Zugriff mit SCL  

  2. #2
    Registriert seit
    28.02.2006
    Ort
    Ostsee 5 min zum Strand
    Beiträge
    780
    Danke
    92
    Erhielt 110 Danke für 98 Beiträge

    Standard

    Hallo,

    kenn mich mit SCL nicht so aus, aber

    TempCount:=DB1.DBD20;
    DB1.DBD20:=DB1.DBD20 + diAnzahl;
    heit das nicht DB1.DBD20?
    Gruß von der Ostsee

    Nordischerjung
    _____________________

    Wenn man seinem Paßbild ähnlich zu sehen beginnt, sollte man schleunigst Urlaub machen. (Vico Torriani, schw. Entertainer)

    Ich habe eine Diät gemacht und fettem Essen und Alkohol abgeschworen - in zwei Wochen verlor ich 14 Tage. (Joe E. Lewis)

  3. #3
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.727
    Danke
    314
    Erhielt 1.519 Danke für 1.282 Beiträge

    Standard

    Wenn du DD lädst, dann wird das immer und grundsätzlich als DWORD geladen.

    Folglich brauchst du also einen Typecast:
    TempCount:= DWORD_TO_DINT(DB1.DD20);
    DB1.DD20:=DB1.DD20 + DINT_TO_DWORD(diAnzahl);

    Mit DD lädst du hart das entsprechende Doppelwort, da das ganze nich symbolisch ist,
    wird auch der dahinterstehende Datentyp nicht beachtet.

    Evtl. würde sich ja sowas anbiete, du lädst nicht DB1.DD20 sondern Werte.Zaehler ... dann klappts auch mit dem Datentyp.

    @Nordischerjung
    In SCL heißt das wirklich so ...

    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).

  4. Folgende 2 Benutzer sagen Danke zu MSB für den nützlichen Beitrag:

    chstad (19.01.2010),Nordischerjung (19.01.2010)

  5. #4
    chstad ist offline Benutzer
    Themenstarter
    Registriert seit
    22.10.2006
    Beiträge
    30
    Danke
    4
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Geht aus so nicht. Und laut Doku von SCL DBx.Dy

    x=DB Nr.
    y= Größenkennung

  6. #5
    Registriert seit
    02.02.2009
    Ort
    Thüringen
    Beiträge
    218
    Danke
    91
    Erhielt 11 Danke für 7 Beiträge

    Standard

    Hallo, ich hab einfach mal noch ne Variable verwendet, das wird dann aber ohne Fehler übersetzt.
    Code:
    FUNCTION FC1: VOID
    
    VAR
     TempCount: DINT;
     diAnzahl: DINT;
     Summe: DINT;
    END_VAR
     
       
    TempCount:= DWORD_TO_DINT (DB1.DD0);
    Summe:= DWORD_TO_DINT (DB1.DD0) + diAnzahl;
    
    END_FUNCTION
    " Immer schön locker durch die Hose atmen"

  7. #6
    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


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von MSB Beitrag anzeigen
    TempCount:= DWORD_TO_DINT(DB1.DD20);
    DB1.DD20:=DB1.DD20 + DINT_TO_DWORD(diAnzahl);
    ... besser wäre auch :
    Code:
    TempCount := DWORD_TO_DINT(DB1.DD20) ;
    DB1.DD20 := DINT_TO_DWORD(DWORD_TO_DINT(DB1.DD20) + diAnzahl) ;
    mit den BYTE, WORD und DWORD rechnet SCL nicht so gerne ...

    Gruß
    LL

  8. Folgender Benutzer sagt Danke zu Larry Laffer für den nützlichen Beitrag:

    chstad (19.01.2010)

Ähnliche Themen

  1. Zugriff auf Sew Plc
    Von Jochen Kühner im Forum SEW-EURODRIVE
    Antworten: 7
    Letzter Beitrag: 18.10.2011, 09:31
  2. Probleme über Probleme!
    Von tom_2802 im Forum Simatic
    Antworten: 25
    Letzter Beitrag: 12.06.2008, 22:19
  3. Probleme beim Zugriff auf DP-Konfiguration
    Von mathias007 im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 27.11.2007, 14:00
  4. Probleme beim Indzierten DB-Zugriff
    Von kiestumpe im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 17.05.2006, 14:30

Lesezeichen

Berechtigungen

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