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

Ergebnis 1 bis 8 von 8

Thema: Daten und Datenbankverwaltung

  1. #1
    Registriert seit
    16.10.2007
    Beiträge
    28
    Danke
    2
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    ich sitze gerade vor einem Problem, wo mir die Initialzündung fehlt. Die Aufgabestellung lautet wie folgt.

    Ich habe einen Global-DB "Datenbank". Dieser besteht aus einem Array z.b. 1..10. In jedem Array-Element gibt es einen Datensatz Nummer, Länge, Breite, Höhe.

    Weiter habe ich 20 Global-DBs "Daten_x". Diese bestehen aus einer eindeutigen ID und dem Index des Elements aus der "Datenbank". Also Index geht von 1..10. Dieser kommt über die Visualisierung in die DBs.
    Diese dienen zur Produktverfolgung innerhalb der Anlage, d.h. zum Zeitpunkt n stehen die Daten in Daten_1, zum Zeitpunkt n+1 stehen die Daten in Daten_2 usw.

    Nun möchte ich innerhalb der Anlage an verschiedenen Bearbeitungsschritten Produktdaten extrahieren und dem Programm übergeben.
    Also z.B. möchte ich aus Daten_5 die dazugehörige Grundfläche ermitteln. Quasi mit dem Index aus "Daten_5" in die Datenbank und daraus dann Array[5].Länge und danach Array[5].Breite in ein MW speichern.

    Ich stelle mir einen Baustein vor, dem ich den DB "Datenbank"(oder die DB-Nummer), den Index aus (in diesem Fall) "Daten_5" und den zu extrahierenden Typ (z.B. Länge) übergebe, nur wie ich den Typ herausnehme - da stehe ich gerade auf dem Schlauch.
    Vielleicht über Datenanfang in dem Array-Feld und die Feldlänge?
    Oder ist es auch - irgendwie - symbolisch möglich?

    edit: Also Quasi
    L "Datenbank".Array["Daten_5".Index].Länge

    Gruß, netsroht
    Zitieren Zitieren Daten und Datenbankverwaltung  

  2. #2
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.732
    Danke
    314
    Erhielt 1.520 Danke für 1.282 Beiträge

    Standard

    In den klassischen Programmiersprachen KOP/FUP/AWL geht das nicht vollsymbolisch, sondern nur über den Umweg mit Adressregistern.
    Allerdings sei dir hier eindeutig SCL empfohlen, da kannst du das schon fast so schreiben ...

    Mfg
    Manuel
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

  3. #3
    netsroht ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    16.10.2007
    Beiträge
    28
    Danke
    2
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hallo Manuel,

    SCL wäre mir klar, wie ich flexibel auf den Index des Arrays zugreife. Nur wie teile ich in SCL flexibel das Element des Arrays zu, d.h. z.B. Länge oder Breite.
    Dann müsste ich als Eingabeparameter eine Nummer machen, wo jede Nummer für ein Element steht, z.B. 1: Länge, 2: Breite, 3: Höhe... oder geht es symbolischer?


    Gruß, netsroht

  4. #4
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.732
    Danke
    314
    Erhielt 1.520 Danke für 1.282 Beiträge

    Standard

    Muss das Element denn Flexibel sein?

    CALL FC_DB_READ
    IN_Index := "Daten_5".Index
    OUT_L := myL //z.B. TEMP-Variable
    OUT_B := myB
    OUT_H := myH

    SCL:
    OUT_L := "Datenbank".Array[IN_Index].Länge
    OUT_B := "Datenbank".Array[IN_Index].Breite
    OUT_H := "Datenbank".Array[IN_Index].Höhe

    Mfg
    Manuel
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

  5. #5
    netsroht ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    16.10.2007
    Beiträge
    28
    Danke
    2
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Das Thema ist, dass ein Feld der Datenbank aus ca. 40 Elementen besteht mit insgesamt knapp 400 Byte Speicher (sind zwei Strings dabei mit je 98 Byte).

    D.h. der Baustein würde im Programm einfach ziemlich groß werden und müsste immer komplett beschaltet werden.

    Daher hätte ich gerne eine flexible Lösung...

    Gruß, netsroht

  6. #6
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.401 Danke für 2.001 Beiträge

    Standard

    Hallo Thorsten (?),

    ich sehe hier jetzt gerade nicht den Widerspruch zu dem Vorschlag von MSB ...
    Der vorgeschlagene FC hätte als IN-Parameter die DB-Struktur und gäbe dir dann die Werte aus (und auch nur die), die du ihm programmierst das er sie ausgeben soll. Wenn du bestimmte Elemente deiner Struktur hier nicht willst dann kümmert sich der Baustein auch nicht darum und belastet auch nicht dein System.

    Gruß
    Larry

  7. #7
    netsroht ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    16.10.2007
    Beiträge
    28
    Danke
    2
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hallo Larry,

    in der "Datenbank" stehen verschiedene Sachen, die ich in der Summe alle in der Maschine benötige. Die Maschine besteht aus verschiedenen Teilen, z.B. Abbürsten, Aufheizen, Abkühlen.

    Je nach Maschinenteil benötige ich unterschiedliche Daten aus der Datenbank.
    Wenn ich einen Baustein programmieren würde hätte dieser eben ziemlich viele Ausgänge. Alternativ müsste ich pro Anlagenteil einen eigenen FC schreiben(Was vielleicht aber gar nicht so dumm wäre).

    Gruß, netsroht

    P.S.: Thorsten (!)

  8. #8
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.401 Danke für 2.001 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    ... oder du machst dir statt einem FC einen FB.
    Dieser hätte dann alle Ausgangs-Variablen und würde auch immer alle Ausgangs-Variablen versorgen - du müßtest hier aber nur die OUT's beschalten, die du jeweils benutzen möchtest ...
    Wäre ja auch noch eine Variante ...

    Gruß
    Larry

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 24.08.2012, 09:44
  2. SEW Zentralwickler PA und PE Daten
    Von thorstig im Forum SEW-EURODRIVE
    Antworten: 6
    Letzter Beitrag: 10.06.2011, 10:06
  3. Daten sammeln und schieben
    Von Forge_01 im Forum Programmierstrategien
    Antworten: 3
    Letzter Beitrag: 25.05.2008, 19:32
  4. FU Daten auslesen und verarbeiten
    Von Loadon im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 10.01.2008, 10:22
  5. s5 und s7 Daten Logger
    Von Oeffi im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 13.07.2006, 19:49

Lesezeichen

Berechtigungen

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