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

Ergebnis 1 bis 4 von 4

Thema: Random DB to Arrayed DB in SCL

  1. #1
    Registriert seit
    09.07.2014
    Beiträge
    2
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,
    Ich möchte einen DB zu einem Arrayed-DB konvertieren. z.B.
    DB100
    Name type Startvalue
    serialnumber12 string[5] 12423
    serialnumber16 string[5] 12342
    serialnumber18 string[5] 14326
    serialnumber25 string[5] 15270
    serialnumber28 string[5] 17643
    serialnumber30 string[5] 18962
    Dieser DB will ich in folgenden Format (also der gleiche DB nur als ARRAY) haben, sodass ich jedes einzelne Element mit einem anderen vergleichen kann.
    Name type Startvalue
    serialnumber12[1] string[5] 12423
    serialnumber16[2] string[5] 12342
    serialnumber18[3] string[5] 14326
    serialnumber25[4] string[5] 15270
    serialnumber28[5] string[5] 17643
    serialnumber30[6] string[5] 18962
    Ich weiss dass es mit einem Any-Pointer etwas zu tun hat. Aber mir fehlt hier die Idee, wie man hier überhaupt vorgeht. Wenn ich denn Pointer am Anfgang des DB100s lege, wie kann man dann den Pointer erhöhen. (ZB +AR1 mit awl)
    Gibt es irgenwelche SFCs, solche Aufgaben zu lösen.
    Für die Antwort bedanke ich mich im voraus.
    PS: Ich bin ein Newbie zu diesem Thema.
    Zitieren Zitieren Random DB to Arrayed DB in SCL  

  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

    Hallo Shakira,

    zum Thema ANY in SCL haben wir erst vor kurzem wieder einmal diskutiert.
    Schau mal hier: SCL Aufruf des SFC22
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  3. #3
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.710
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    Hallo,
    ich hätte dazu den folgenden Ansatz, wenn für dich hier SCL eine Option für die Code-Erstellung ist :
    Du machst deinen Quelldatenbereich zu einer Struktur (UDT). Auf diese kannst du nun in einem Baustein eine AT-Sicht erstellen, die diese Struktur als String-Array gleicher Größe interpretiert.
    Optimal wäre hier allerdings, wenn der "Sortier"-Baustein den Quelldatenbereich schon selber verwalten kann (die Quelldaten sind also in seinem STAT-Bereich).

    Gruß
    Larry

  4. #4
    shakya ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    09.07.2014
    Beiträge
    2
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo nochmal,

    wie vorgeschlagen, habe ich den Quellendatenbereich zu dieser Struktur umgewandelt. kann ich jetzt die Daten aus DB3000 mit dem Befehl a:=Sample[1], b:=Sample1[2] zugreifen ?
    TYPE struktur
    STRUCT
    Syntax_id:BYTE;
    datatype: BYTE;
    datacount: WORD;
    DB_Nummer:WORD;
    BytePointer: DWORD;
    END_STRUCT
    END_TYPE

    FUNCTION FC3001 : VOID
    VAR
    Sample1 : struktur;
    DB3000_Any AT Sample1:ANY;

    Sample1.Syntax_id:=16#10;
    Sample1.datatype:=16#13;
    Sample1.datacount:=16#0a;
    Sample1.DB_Nummer:=16#BB8;
    Sample1.BytePointer:=dw#16#84000000;

    Danke im voraus.

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 23.01.2012, 17:06
  2. SCL: FB Aufruf unter SCL mit Variablen DB
    Von ThorstenK im Forum Programmierstrategien
    Antworten: 32
    Letzter Beitrag: 10.02.2011, 19:15
  3. SPS B&R Random
    Von Hannes im Forum Sonstige Steuerungen
    Antworten: 7
    Letzter Beitrag: 03.12.2008, 13:01
  4. Antworten: 4
    Letzter Beitrag: 07.10.2006, 00:34
  5. Brauche Hilfe bei SCL.SFC Aufrufen in SCL
    Von Gerold im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 06.10.2005, 10:47

Lesezeichen

Berechtigungen

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