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

Ergebnis 1 bis 10 von 10

Thema: Anny auf Lokaldaten geht nicht bei DPRead???

  1. #1
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.758
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo, Ich möchte folgendes machen:
    Code:
       L     W#16#1002                   //Typ BYTE
          T     LW     0
          L     #EW_GROESSE                 //Anzahl Bytes
          T     LW     2
          L     0                           //Quell-DB
          T     LW     4
          L     14                          //Startadresse SCANNERDATEN in Lokaldaten
          SLD   3
          OD    DW#16#86000000              //86 Lokaldatenbereich (84 DB)
          T     LD     6
    
          CALL  "DPRD_DAT"
           LADDR  :=#EW_ANFANG
           RET_VAL:=#RET_VAL_INT
           RECORD :=#ANY_AUF_SCANNERDATEN
    der Pointer Any_auf_Scannerdaten fängt in den Lokaldaten bei adresse 0 an, die Scannerdaten als array bei 14.

    Wenn Ich nun das Scannerdaten array auf 32 Bytes verkleinere und direkt an den SFC anlege funktionierts, wenn ich aber das über diesen any machen will (in #EW_GROESSE steht 32) gehts nicht.

    Rückgabewert vom SFC 8325 bedeutet:

    Bereichsfehler beim Schreiben eines Parameters.Dieser Fehlercode zeigt an, daß sich der Parameter x in einem Bereich befindet, der für die Systemfunktion unzulässig ist. Die Beschreibung der jeweiligen Funktion gibt die Bereiche an, die für die Funktion unzulässig sind.
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten
    Zitieren Zitieren Anny auf Lokaldaten geht nicht bei DPRead???  

  2. #2
    Registriert seit
    29.09.2008
    Ort
    Land der Frühaufsteher
    Beiträge
    104
    Danke
    6
    Erhielt 22 Danke für 21 Beiträge

    Standard

    Hallo,

    dein #Any_auf_Scannerdaten ist ja schon ein Pointer. Ich vermute Pointer im Pointer geht nicht und der SFC versucht direkt auf L0.0 zu Schreiben.
    MfG
    FrankW

    ....Wer lesen kann ist klar im Vorteil.....

  3. #3
    Registriert seit
    30.08.2003
    Beiträge
    2.197
    Danke
    30
    Erhielt 258 Danke für 229 Beiträge

    Standard

    Hallo,

    leg ab LW0 eine Variable vom Typ ANY an. Dann kannst du zwar nicht mehr direkt symbolisch zugreifen, aber das hast du ja eh nicht durchgängig gemacht. Wies scheint hast dus so gemacht.

    Aber wenn du das Array gleich symbolisch ranschreibst ists ein ANY für den SFC

    André
    Geändert von sps-concept (08.12.2008 um 13:54 Uhr)
    www.raeppel.de
    mit innovativen SPS-Tools schneller ans Ziel ....
    Zitieren Zitieren Any  

  4. #4
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.263
    Danke
    537
    Erhielt 2.708 Danke für 1.957 Beiträge

    Standard

    der Pointer Any_auf_Scannerdaten fängt in den Lokaldaten bei adresse 0 an, die Scannerdaten als array bei 14.
    Ich hab daraus eigentlich geschlossen, daß er den Any in den Lokaldaten auch angelegt hat.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  5. #5
    Registriert seit
    30.08.2003
    Beiträge
    2.197
    Danke
    30
    Erhielt 258 Danke für 229 Beiträge

    Standard

    lt Hilfe steht für RECORD das:

    RECORD OUTPUT ANY E, A, M, D, L
    Also sind Lokaldaten ok. Und mit L P#L 14.0 kommts auch aufs Gleiche.

    P.S.: Ists ein FC oder FB? Wenn FB könnteste mal mit statischen Variablen experimentieren.

    André
    Geändert von sps-concept (08.12.2008 um 14:03 Uhr)
    www.raeppel.de
    mit innovativen SPS-Tools schneller ans Ziel ....
    Zitieren Zitieren Any  

  6. #6
    Registriert seit
    30.08.2003
    Beiträge
    2.197
    Danke
    30
    Erhielt 258 Danke für 229 Beiträge

    Standard

    Hallo,

    ich habs Ändere mal das:

    OD DW#16#87000000 // 87 = vorheriger Lokaldatenbereich
    FF - Fiel Fergnügen!

    André
    www.raeppel.de
    mit innovativen SPS-Tools schneller ans Ziel ....
    Zitieren Zitieren ich habs  

  7. #7
    Registriert seit
    06.10.2003
    Beiträge
    3.449
    Danke
    454
    Erhielt 509 Danke für 411 Beiträge

    Standard

    Zitat Zitat von Jochen Kühner Beitrag anzeigen
    ..Wenn Ich nun das Scannerdaten array auf 32 Bytes verkleinere und direkt an den SFC anlege funktionierts, wenn ich aber das über diesen any machen will (in #EW_GROESSE steht 32) gehts nicht...
    Ich kann nicht wirklich nachvollziehen, warum es in einem Fall funktioniert und im anderen Fall nicht. Die SFC14 muss (sollte) natürlich auf die Vorgänger-Lokaldaten schreiben. In beiden Fällen zeigt der Any auf L14.0. Wird der Any von der SFC bei symbolischer Adressierung anders interpretiert als beim Selberbasteln?


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

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

    Zitat Zitat von Onkel Dagobert Beitrag anzeigen
    Ich kann nicht wirklich nachvollziehen, warum es in einem Fall funktioniert und im anderen Fall nicht. Die SFC14 muss (sollte) natürlich auf die Vorgänger-Lokaldaten schreiben. In beiden Fällen zeigt der Any auf L14.0. Wird der Any von der SFC bei symbolischer Adressierung anders interpretiert als beim Selberbasteln?


    Gruß, Onkel
    um das zu beurteilen sollte man sich den code mal in der makro-darstellung also MC7-code ansehen.
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  9. #9
    Registriert seit
    06.10.2003
    Beiträge
    3.449
    Danke
    454
    Erhielt 509 Danke für 411 Beiträge

    Standard

    Hallo 4L,

    He? Makro-darstellung, wie macht man das denn?


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

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


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Onkel Dagobert Beitrag anzeigen
    Hallo 4L,

    He? Makro-darstellung, wie macht man das denn?


    Gruß, Onkel
    die von WGertzen vorgeschlagene lösung:

    Dazu über "erreichbare Teilnehmer" online gehen, den FC löschen und dann im OB1 (oder wo auch immer der FC aufgerufen wird) online gehen und den
    Aufruf ansehen.
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

Ähnliche Themen

  1. Antworten: 7
    Letzter Beitrag: 19.02.2008, 20:04
  2. OP270 und 95U geht nicht
    Von Bitverbieger im Forum HMI
    Antworten: 4
    Letzter Beitrag: 03.08.2007, 20:10
  3. CPU 313 alt mit MMC geht nicht
    Von HDD im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 13.03.2006, 08:40
  4. FB alleine geht, FB 2x geht nicht?
    Von MSP im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 18.08.2005, 15:00

Lesezeichen

Berechtigungen

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