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

Ergebnis 1 bis 8 von 8

Thema: SCL direkter Zugriff auf DB Daten möglich?

  1. #1
    Registriert seit
    07.05.2004
    Ort
    Campbelltown
    Beiträge
    2.437
    Danke
    131
    Erhielt 276 Danke für 86 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi,

    ist es möglich in SCL direkt auf DB Daten zuzugreifen?

    Ich möchte folgendes machen:

    DB12.Data[i].Wert_1 := DB100.IN_Data_1;

    pt
    Gegen Schwachsinn, Schwachköpfe und armselige Trittbrettfahrer kann man nicht argumentieren.

    Gott sieht alles, auch Signaturen in Geheimschrift,,... aber er petzt nicht.
    Zitieren Zitieren SCL direkter Zugriff auf DB Daten möglich?  

  2. #2
    Registriert seit
    19.06.2003
    Beiträge
    197
    Danke
    10
    Erhielt 17 Danke für 13 Beiträge

    Standard

    Hallo
    Hier zwei Beispiele mit Zugriffsarten auf Datenbausteine aus einem Siemens Kurs
    S_Bit := DB6.DX[i_byte,i_bit];
    S_Bit := Daten.DX[i_byte,i_bit];

    i_byte und i_bit sind Konstanten, INT-Variablen oder INT-Ausdrücke
    Somit würde ich es einmal so versuchen:
    DB12.Data[i].Wert_1 := DB100.[IN_Data_1]; //IN_Data_1 als Datentyp INT
    Gruss Martin

  3. #3
    Registriert seit
    06.10.2003
    Beiträge
    3.411
    Danke
    451
    Erhielt 504 Danke für 407 Beiträge

    Standard

    Hallo pt,

    der vollqualifizierte Zugriff auf Strukturen wie "DB12.Motordaten.Strom", wie wir ihn unter AWL kennen, ist meines Wissens bei SCL nicht möglich.

    Gruss, Onkel

  4. #4
    Anonymous Gast

    Standard

    Hallo,
    also ich habe das mal gehabt, aber du musst meines Wissens symbolisch programmieren

    8<--------------- Schnippelschnapp--------------------

    VAR_INPUT
    ForderPuls: BOOL;
    ArbeitsAdresse: INT;
    MaxBit: INT;
    END_VAR

    VAR_TEMP
    Bitnummer: INT;
    Product: BOOL;
    END_VAR

    IF Forderpuls= true THEN
    Product:=false;
    FOR BitNummer:= 0 TO MaxBit BY 1 DO
    IF takt_licht.licht[ArbeitsAdresse].Led[Bitnummer] = true THEN
    Product:=true;
    BitNummer:= MaxBit;
    END_IF;
    END_FOR;
    takt_prod.product[ArbeitsAdresse]:=true;
    END_IF;
    END_FUNCTION
    Zitieren Zitieren Sollte funktionieren  

  5. #5
    Registriert seit
    06.10.2003
    Beiträge
    3.411
    Danke
    451
    Erhielt 504 Danke für 407 Beiträge

    Standard

    Hallo,

    Zitat Zitat von Onkel Dagobert
    ...der vollqualifizierte Zugriff auf Strukturen wie "DB12.Motordaten.Strom", wie wir ihn unter AWL kennen, ist meines Wissens bei SCL nicht möglich...
    Upps,
    jetzt habe ich es mal kurz probiert. Und siehe da, es geht doch! Zumindest ohne Index, also etwa so wie "SCHLEIFE := HMI_M3V_UNI_1.UNI.HMI.BILD_SOLL".

    @MiAdLG
    wie sieht denn die Datenstruktur deines Beispiels aus? "ArbeitsAdresse" und "Bitnummer" sind Indexe von Arrays, oder?

    Gruss, Onkel

  6. #6
    Anonymous Gast

    Standard

    Hallo Onkel Dagobert,

    genau so ist das auch

    Erste UDT

    LED ARRAY[0..191]
    BOOL

    Zweite UDT

    Licht ARRAY[0..500]
    "Licht_128"

    schöne Grüße
    Michael

  7. #7
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.697 Danke für 1.949 Beiträge

    Standard

    @plc_t

    Es geht genau so, wie du es machen willst.
    Array aus UDTxx im DB definieren, dann kannst du so zugreifen wie du das willst.

    PS: sowas geht auch: Wert := DWORD_TO_DINT(WORD_TO_BLOCK_DB(INT_TO_WORD(DB_Nr)).DD[StartP+((I-1)*4)]);

    Wert: DINT
    DB_Nr: INT
    StartP: INT
    I: INT
    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

  8. #8
    plc_tippser ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    07.05.2004
    Ort
    Campbelltown
    Beiträge
    2.437
    Danke
    131
    Erhielt 276 Danke für 86 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Danke Euch allen,

    werde es die Tage probieren. Denke, ich werde es so kodieren wie es Ralle macht, dann den AWL-Code öffnen und neu abtippen. Dann möchte ich denjenigen sehen, der das Programm umschreibt.

    pt
    Gegen Schwachsinn, Schwachköpfe und armselige Trittbrettfahrer kann man nicht argumentieren.

    Gott sieht alles, auch Signaturen in Geheimschrift,,... aber er petzt nicht.

Ähnliche Themen

  1. direkter Zugriff auf SDO's
    Von Judge im Forum Feldbusse
    Antworten: 6
    Letzter Beitrag: 21.09.2010, 12:52
  2. Antworten: 1
    Letzter Beitrag: 26.05.2010, 08:20
  3. Antworten: 0
    Letzter Beitrag: 23.10.2008, 21:11
  4. Zugriff auf CP 343-1 nicht möglich
    Von JandeFun im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 24.06.2008, 09:56
  5. Antworten: 3
    Letzter Beitrag: 21.03.2007, 08:18

Lesezeichen

Berechtigungen

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