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

Ergebnis 1 bis 6 von 6

Thema: ANY Pointer. Wenn ist DatenTyp NICHT "Byte" ?

  1. #1
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.622
    Danke
    377
    Erhielt 799 Danke für 642 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo.

    Ich will einige standard FCs anliegen, wo die Parametern ANY's sind, und abhängig von die grösse von die Daten lauft das Programm durch verschiedene schleifen.

    Fragen:

    Kann man davon ausgehen, das wenn man ein datenstructur als ein ANY pointer an ein FC weitergibt, und die daten sind Symbolisch deklariert, ist der DatenTyp immer "Byte" ?
    Also, unabhängig von wie die daten strukturiert sind, wandelt STEP7 der ANY pointer immer ins ein anzahl von BYTE's, oder ?.
    Jesper M. Pedersen
    Zitieren Zitieren ANY Pointer. Wenn ist DatenTyp NICHT "Byte" ?  

  2. #2
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    das hier sollte deine frage beantworten: http://sps-forum.de/showthread.php?t=25668
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

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

    JesperMP (05.03.2009)

  4. #3
    Registriert seit
    11.12.2008
    Beiträge
    73
    Danke
    39
    Erhielt 9 Danke für 8 Beiträge

    Standard

    Der reine Pointerteil des Anypointers (Bytes 6-9) enthält überhaupt keine information über den Datentyp.

    in diesen Bytes steht nix anderes als die Bereichskennung (E, A, M, DB ...) und die Adresse

    der Datentyp steht als Zusatzinformation, die man nutzen kann (oder auch nicht) in Byte 1

    aber das, was du am ende ins Adressregister deiner SPS lädst, sind die Bytes 6-9 bzw DW 6

    das ist genauso unabhängig vom Datentyp, wie "P#10.0"

  5. #4
    Registriert seit
    06.10.2003
    Beiträge
    3.409
    Danke
    449
    Erhielt 504 Danke für 407 Beiträge

    Standard

    Hallo Jesper,

    Zitat Zitat von JesperMP Beitrag anzeigen
    ..Kann man davon ausgehen, das wenn man ein datenstructur als ein ANY pointer an ein FC weitergibt, und die daten sind Symbolisch deklariert, ist der DatenTyp immer "Byte" ?
    Ja, bei einer Datenstruktur ist das so, wenn der ANY symbolisch als Parameter übergeben wird.


    Gruß, Onkel
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

  6. Folgender Benutzer sagt Danke zu Onkel Dagobert für den nützlichen Beitrag:

    JesperMP (05.03.2009)

  7. #5
    Avatar von JesperMP
    JesperMP ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.622
    Danke
    377
    Erhielt 799 Danke für 642 Beiträge

    Standard

    Zitat Zitat von Mangokind
    Der reine Pointerteil des Anypointers (Bytes 6-9) enthält überhaupt keine information über den Datentyp.
    in diesen Bytes steht nix anderes als die Bereichskennung (E, A, M, DB ...) und die Adresse
    der Datentyp steht als Zusatzinformation, die man nutzen kann (oder auch nicht) in Byte 1
    aber das, was du am ende ins Adressregister deiner SPS lädst, sind die Bytes 6-9 bzw DW 6
    das ist genauso unabhängig vom Datentyp, wie "P#10.0"
    Man muss DatenTyp und Wiederholungsfaktor kombinieren um auszurechnen wie gross der Datenmenge ist. Aber wenn ich weiss das DatenTyp ist immer "Byte", den vereinfacht es sich etwas.
    Vielleicht prüfe ich zuerst ob DatenTyp ist Byte, und wenn nicht breche ich ab mit ein Fehlermeldung.

    Zitat Zitat von Onkel Dagobert
    Ja, bei einer Datenstruktur ist das so, wenn der ANY symbolisch als Parameter übergeben wird.
    Genau das wollte ich wissen.

    Danke !
    Jesper M. Pedersen

  8. #6
    Registriert seit
    06.10.2003
    Beiträge
    3.409
    Danke
    449
    Erhielt 504 Danke für 407 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Jesper,

    Zitat Zitat von JesperMP Beitrag anzeigen
    ..Vielleicht prüfe ich zuerst ob DatenTyp ist Byte, und wenn nicht breche ich ab mit ein Fehlermeldung...
    Code:
     
    //*** Prüfe, ob DATENBEREICH vom Typ=Byte
          L     W [AR2,P#0.0]               // Typ 
          L     W#16#1002
          ==I   
          L     1
          SPBN  ERR
    Richtig, mache ich auch immer, es kostet ja kaum etwas.


    Gruß, Onkel
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

Ähnliche Themen

  1. Antworten: 6
    Letzter Beitrag: 11.09.2009, 10:23
  2. Probleme mit dem Datentyp "Real"
    Von Johannes F im Forum Simatic
    Antworten: 16
    Letzter Beitrag: 15.01.2008, 22:34
  3. Antworten: 2
    Letzter Beitrag: 14.12.2007, 15:09
  4. SCL-DB-Zugriff "Ungültiger Datentyp"
    Von kiestumpe im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 25.05.2007, 17:57
  5. Antworten: 4
    Letzter Beitrag: 29.11.2006, 08:59

Lesezeichen

Berechtigungen

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