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

Ergebnis 1 bis 5 von 5

Thema: Abfrage Bool und Integer via FC mit Pointer

  1. #1
    Registriert seit
    18.04.2005
    Ort
    Fast an der Schweiz
    Beiträge
    856
    Danke
    208
    Erhielt 108 Danke für 76 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo leute ich habe einen DB mit einer Struktur, er ist wie folgt aufgebaut :

    DB2

    struct1
    32 x Bool (fehler 1-32)
    32 x Integer (zähler 1-32)
    struct2
    32 x Bool (fehler 1-32)
    32 x Integer (zähler 1-32)
    struct3
    32 x Bool (fehler 1-32)
    32 x Integer (zähler 1-32)
    usw....
    Code:
    FEHLER    ARRAY[1..32]            
        BOOL            
    Zaehler    ARRAY[1..32]            
        INT
    das 8x immer die gleichen Abstände

    ich möchte nun via FC anhand der Startadresse zb db2.dbx0.0 den entsprechenden Integer anspringen also
    db2.dbx0.0 = db2.db4
    db2.dbx0.1 = db2.db6
    db2.dbx0.7 = db2.db18
    usw.
    das klappt bei meinem FC bis db2.dbx3.7 das ergibt dann db2.db66

    gebe ich aber als Startadresse db2.dbx68.0 dann stimmt zwar intern die Adressierung zu db2.dbx68.0 aber mein Integer bereich auf 1092... CPU = Stop

    da habe ich wohl einen Bock im Programm wie bringe ich das wohl auf die Reihe.. anbei mein auszug des aufrufs im FC incl screenshot bei db2.dbx0.7 = db2.db18 und db2.dbx68.0

    Code:
    //Erzeuge Adressbereiche
    
          L     P##ERR
          LAR1  
          L     W [AR1,P#0.0]
          T     #DB_NR
    
          L     D [AR1,P#2.0]
          L     DW#16#FFFFFF
          UD    
          T     #ADDR
          T     #ADDR_COUNT
    //Lese Fehlerbit
          AUF   DB [#DB_NR]
          U     DBX [#ADDR]
          =     #ERR_TMP
    
    //Lese Counter
          L     #ADDR_COUNT
          L     L#2
          *D    
          L     #DIFF                       //ist 4
          +D    
          SLD   3
          T     #ADDR
          L     DBW [#ADDR]
          T     #ERR_COUNT
    Danke vorab.
    Angehängte Grafiken Angehängte Grafiken
    Code:
     RTFM ! Read The F..ing Manual
    Arbeitet mit : Step7 V5.5 SPx / WinCC Flex 2008 SPx / Intouch / Winmod /TIA V14 (abgestürzt...Zitat der Hotline : "Sie dürfen nicht so viel rumdrücken....." TIA, so isses halt)

    ║▌║█║║▌║█║ Warnung! Falscher oder fehlender Kaffee - Benutzer angehalten --(◔̯◔)--
    1334566890111
    Zitieren Zitieren Abfrage Bool und Integer via FC mit Pointer  

  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

    diagnosepuffer? grund für STOP? bereichslängenfehler beim lesen/schreiben?
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  3. #3
    Avatar von Waelder
    Waelder ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    18.04.2005
    Ort
    Fast an der Schweiz
    Beiträge
    856
    Danke
    208
    Erhielt 108 Danke für 76 Beiträge

    Standard

    ja der adressiert falsch siehe den shot von "68.0" da stimmt definitiv was mit meiner berechnung/adressierung nicht nicht
    ich bin ja auch nicht grad der superheld was pointers und anys angeht. Ich versuch mich noch....
    Code:
    Ereignis 2 von 10:  Ereignis-ID 16# 2522
    Bereichslängenfehler beim Lesen 
    Global -DB , Wortzugriff, Zugriffsadresse:   1092
    Angeforderter OB: Programmierfehler-OB (OB 121)
    Prioritätsklasse:  1
    interner Fehler, kommendes Ereignis
    19:04:42.066  06.01.1994
    mein DB ist halt nur 612 Byte lang, das die CPU stehen bleibt ist klar...
    Ich häng mal den DB als awl quelle ran
    Angehängte Dateien Angehängte Dateien
    • Dateityp: txt DB2.txt (29,3 KB, 10x aufgerufen)
    Code:
     RTFM ! Read The F..ing Manual
    Arbeitet mit : Step7 V5.5 SPx / WinCC Flex 2008 SPx / Intouch / Winmod /TIA V14 (abgestürzt...Zitat der Hotline : "Sie dürfen nicht so viel rumdrücken....." TIA, so isses halt)

    ║▌║█║║▌║█║ Warnung! Falscher oder fehlender Kaffee - Benutzer angehalten --(◔̯◔)--
    1334566890111

  4. #4
    Registriert seit
    15.10.2007
    Ort
    St.Pölten
    Beiträge
    875
    Danke
    98
    Erhielt 200 Danke für 188 Beiträge

    Standard

    Der Aufbau deines DB stimmt mit deinen Berechnungen nur bis zum DBX 3.7 zusammen zusammen.
    Danach müsstest du anders umrechnen, da du dazwischen 32 INT Werte hast

    Schau dir mal online den Wert an der bei 68.0 rauskommt(220Hex=544 dez) das multiplizierst du mit 2 und schon hast du deinen Schreibfehler.
    Bau deinen DB so auf, dass du das so einfach berechnen kannst. Die Structur verierst du allerdings damit.
    Geändert von Gerhard K (24.03.2011 um 15:16 Uhr)
    Beginne jeden Tag mit einem lächeln,es kann dir nämlich während des Tages sehr schnell vergehen.

  5. #5
    Avatar von Waelder
    Waelder ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    18.04.2005
    Ort
    Fast an der Schweiz
    Beiträge
    856
    Danke
    208
    Erhielt 108 Danke für 76 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Habe ich mir fast gedacht, dass das so rauskommt.......
    Code:
     RTFM ! Read The F..ing Manual
    Arbeitet mit : Step7 V5.5 SPx / WinCC Flex 2008 SPx / Intouch / Winmod /TIA V14 (abgestürzt...Zitat der Hotline : "Sie dürfen nicht so viel rumdrücken....." TIA, so isses halt)

    ║▌║█║║▌║█║ Warnung! Falscher oder fehlender Kaffee - Benutzer angehalten --(◔̯◔)--
    1334566890111

Ähnliche Themen

  1. integer 32Bit in integer 16 Bit wandeln
    Von slk230-power im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 09.11.2009, 22:35
  2. Verwendung von BOOL
    Von Lipperlandstern im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 13.03.2008, 13:09
  3. IEC-61131 Pointer mit Index auf BOOL Variable
    Von Stussi im Forum CODESYS und IEC61131
    Antworten: 21
    Letzter Beitrag: 14.12.2007, 09:11
  4. Umwandlung Integer(32bit) in Integer(16bit)
    Von Kojote im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 18.08.2005, 10:56
  5. Abfrage Merkerwort mit Pointer
    Von Anonymous im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 17.01.2004, 10:48

Lesezeichen

Berechtigungen

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