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

Ergebnis 1 bis 5 von 5

Thema: doppelten Eintrag verhindern

  1. #1
    Registriert seit
    11.12.2008
    Beiträge
    226
    Danke
    92
    Erhielt 2 Danke für 2 Beiträge

    Beitrag


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    1. Habe ein UDT- erstellt welcher meine Daten-Struktur enthält.
    2. Diesen UDT in einem DB ‚Auftrag’ als Array aufgerufen.

    Die Daten werden von dem Bediener eingegeben und im dem DB ‚Auftrag’ gespeichert.
    Anschließend kann der Bediener die Reihenfolge festlegen nach welcher die Sätze abgearbeitet werden. Die Reihenfolge wird in einem Ringspeicher abgelegt.
    Habe alles in SCL programmiert.

    Jetzt ist möchte ich verhindern das der Bediener den gleichen Datensatz 2x in den Ringspeicher einträgt. Dies soll durch eine Meldung signalisiert werden.
    Wie kann ich das am elegantesten lösen??
    Zitieren Zitieren doppelten Eintrag verhindern  

  2. #2
    Registriert seit
    19.06.2005
    Ort
    in Bayern ganz oben
    Beiträge
    1.360
    Danke
    188
    Erhielt 372 Danke für 290 Beiträge

    Standard

    Hi,

    immer mit den darauffolgenden Datensätzen vergleichen.

    Gruss Daniel
    Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...

    OSCAT.lib Step 7

    Open Source Community for Automation Technolgy

    SPS-Forum Chat (Mibbit) | SPS-Forum Chat (MIRC)

  3. #3
    Registriert seit
    13.09.2010
    Beiträge
    2.292
    Danke
    178
    Erhielt 375 Danke für 355 Beiträge

    Standard

    Hallo zloyduh !

    Den neu eingegebenen "Datensatz" mit den schon vorhandenen Datensätzen vergleichen und bei Gleichheit die Meldung auslösen.
    kind regards
    SoftMachine

  4. #4
    Registriert seit
    19.06.2005
    Ort
    in Bayern ganz oben
    Beiträge
    1.360
    Danke
    188
    Erhielt 372 Danke für 290 Beiträge

    Standard

    Hi,

    vom Prinzip her so:

    Code:
    FOR i := 1 TO Ende DO
      FOR j := i TO Ende DO
        IF EQAny(IN1:= Datensatz[i], IN2:= Datensatz[j]) THEN
          Error := TRUE;
          RETURN;
        ELSE
          Error := FALSE;
        END_IF;
      END_FOR;
    END_FOR;
    Gruss Daniel
    Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...

    OSCAT.lib Step 7

    Open Source Community for Automation Technolgy

    SPS-Forum Chat (Mibbit) | SPS-Forum Chat (MIRC)

  5. #5
    zloyduh ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    11.12.2008
    Beiträge
    226
    Danke
    92
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo, danke für die Antworten.
    Wie müsste ich das in meinem Fall Programmieren?

    Max_Speicher:= INT
    AUFTRAGS_NR:= INT
    AUFTRÄGE_PROZESS".AKT_AUFTRAG[]:= ARRAY [1..10] of UDT_DATENSATZ
    "AUFTRÄGE_SPEICHER".AUFTRAG[]:= ARRAY [1..99] of UDT_DATENSATZ


    Code:
    IF #HINZUFÜGEN AND NOT #FL_HINZUFÜGEN AND (#Max_Speicher < #ANZ_MAX) THEN
    #Max_Speicher:= #Max_Speicher+1;
    // neuen Inhalt an letzte Stelle schreiben
    "AUFTRÄGE_PROZESS".AKT_AUFTRAG[#Max_Speicher] := "AUFTRÄGE_SPEICHER".AUFTRAG[#AUFTRAGS_NR];
    #Speicher_Nr[#Max_Speicher]:= #AUFTRAGS_NR; // Auftrags Nr. speichern
    // Anzahl der Einträge erfassen
    #ANZAHL_AUFTRÄGE:=#ANZAHL_AUFTRÄGE+1;
    END_IF;
    #FL_HINZUFÜGEN:= #HINZUFÜGEN;
    Die Daten werden nach der Eingabe im DB AUFTRÄGE_SPEICHER gespeichert.
    Der Bediener kann bei Durchblättern der Datensätze entscheiden welcher Datensatz abgearbeitet werden soll. Max 10 Datensätze je Auftrag möglich. Diese werden im DB AUFTRÄGE_PROZESS abgelegt und der Reihe nach abgearbeitet.
    Ich möchte verhindern dass der Bediener den gleichen Datensatz mehrmals im DB AUFTRÄGE_PROZESS ablegen kann. Dies soll durch eine Meldung auf dem Bildschirm signalisiert werden.

Ähnliche Themen

  1. Eintrag in Archiv mit Zeitstempel
    Von MP007 im Forum HMI
    Antworten: 0
    Letzter Beitrag: 05.07.2010, 11:32
  2. User Archive: Neuer Eintrag in FirstID
    Von Vietsch im Forum HMI
    Antworten: 0
    Letzter Beitrag: 29.04.2010, 10:44
  3. Eintrag begrenzen in ProTool
    Von crazygerman im Forum HMI
    Antworten: 8
    Letzter Beitrag: 11.07.2008, 16:31
  4. Urloeschen verhindern?
    Von mzva im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 19.06.2007, 18:23

Lesezeichen

Berechtigungen

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