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

Ergebnis 1 bis 8 von 8

Thema: Mit einem E/A-Feld auf mehrere DB-Einträge zugreifen (TIA V13 WinCC Advanced)

  1. #1
    Registriert seit
    10.02.2014
    Beiträge
    89
    Danke
    12
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich möchte über ein E/A-Feld auf verschiedene DB-Einträge lesend und schreibend zugreifen.
    Habe leider noch nicht viel Erfahrung mit WinCC flex o.ä.

    Meine Idee war bisher das ich aus einem Zahlenwert mir einen Pointer baue der auf den Gewünschten Eintrag im DB zeigt.

    Code:
          L     #Werkzeugnummer
          L     4
          *I                         // Die DB-Einträge sind als DINT deklariert
          SLD   3
          LAR1                       // im Pointer steht nun die Adesse drinnen auf die ich zugreifen möchte
          AUF    DB34                    // DB mit den Daten
          L      DBD [ AR1 , P#0.0 ]      // Lade Aktuellen Wert aus DB
          T     #HMI_E/A             // und übertrage ihn zum E/A Feld
          L     #HMI_E/A             // Lade aktuellen Wert vom E/A Feld
          T     DBD [ AR1 , P#0.0 ]      // Übertrage aktuellen Wert zum DB
    Kann das so funktionieren? Habe da so das gefühl da beißt sich die Katze in den Schwanz

    Als Hardware verwende ich ein KTP1200 Basic (2. Generation).

    Gibt es unter TIA V13 WinCC Advanced vielleicht eine Funktion die sowas vereinfacht?

    lg
    Thorsten
    Geändert von ThorstenSt (19.02.2015 um 11:39 Uhr)
    Zitieren Zitieren Mit einem E/A-Feld auf mehrere DB-Einträge zugreifen (TIA V13 WinCC Advanced)  

  2. #2
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.218
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard

    Ich denke mal so geht das noch nicht, du schreibst #HMI E/A und liest es sofort zurück, da hat das HMi kaum eine Chance seinen Wert zu schreiben.

    Ich schreibe die in der SPS aus dem DB gelesene Variable einmalig (bei Bildaufruf und/oder mit einer Taste Load) in einen HMI-DB.
    Dann hat man Zeit, in der HMI den Wert zu ändern.
    Ist man Fertig, dann Taste Speichern oder bei Bild verlassen, zurückschreiben von HMI_DB in den normalen DB.
    Laden und Speichern sind bei mir Bits aus der HMI, die in der SPS dann das Umkopieren der Daten auslösen.
    Hat den Vorteil, dass man im HMI ändern kann und wenn man es sich vertan hat, kann man einfach noch einmal laden drücken und bekommt die (noch nicht geänderten) Werte aus der SPS noch einmal geladen.
    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

  3. #3
    Registriert seit
    10.02.2014
    Beiträge
    89
    Danke
    12
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Da habe ich aber das Problem das man nicht sieht ob man vergessen hat auf Speichern zu klicken. Aber vielleicht man man das auch auschließen mit Bildwechsel o.ä.

    Ich hätte das gern so das wenn man auf einen Werkzeugplatz klickt (Schaltfläche) im E/A Feld der Aktuell gespeicherte Wert angezeigt wird und dieser dann durch anklicken des E/A Feldes geändert werden kann....dannach sollte man den nächste Werkzeugplatz anklicken können usw.


    Habe allerdings noch das Problem wenn man ein E/A Feld anklickt, den Wert eingibt und auf Ok klickt...immernoch der letzte Wert drinnensteht und sich erst beim Klicken auf ein anderes Objekt aktualisiert!?
    Der Wert in der Variablen ändert sich sofort...nur eben Visuell nicht, das verwirrt immer etwas
    Geändert von ThorstenSt (19.02.2015 um 12:52 Uhr)

  4. #4
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.330
    Danke
    448
    Erhielt 687 Danke für 512 Beiträge

    Standard

    Die Vorgehensweise hat aber den Vorteil dass du keine Zwischenzustände hast, wenn einer mal am aktiven Datensatz was ändert.

    Was für ne CPU is es denn?
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

  5. #5
    Registriert seit
    19.06.2008
    Ort
    Ostalbkreis
    Beiträge
    3.140
    Danke
    201
    Erhielt 553 Danke für 498 Beiträge

    Standard

    Sind deine Variablen auf "zyklisch fortlaufend" eingestellt oder auf "zyklisch bei Verwendung"?

  6. #6
    Registriert seit
    10.02.2014
    Beiträge
    89
    Danke
    12
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Es handelt sich um eine IM151-8F.
    Werd es auch erstmal so machen und schauen wie es in der Praxis so klappt.

    Zitat Zitat von Verpolt Beitrag anzeigen
    Sind deine Variablen auf "zyklisch fortlaufend" eingestellt oder auf "zyklisch bei Verwendung"?
    Stehen alle auf "Zyklisch im Betrieb" "1s"
    Geändert von ThorstenSt (19.02.2015 um 13:35 Uhr)

  7. #7
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.163
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Zitat Zitat von ThorstenSt Beitrag anzeigen
    Habe allerdings noch das Problem wenn man ein E/A Feld anklickt, den Wert eingibt und auf Ok klickt...immernoch der letzte Wert drinnensteht und sich erst beim Klicken auf ein anderes Objekt aktualisiert!?
    Der Wert in der Variablen ändert sich sofort...nur eben Visuell nicht, das verwirrt immer etwas
    Arbeitest Du mit einer Rezeptur? Oder ist das E/A-Feld auf Modus "Eingabe" eingestellt? Das muß auf "Eingabe/Ausgabe" stehen.
    (Hmm, wo kann man bei der Eingabe in ein E/A-Feld auf "OK" klicken?)

    Zitat Zitat von ThorstenSt Beitrag anzeigen
    ich möchte über ein E/A-Feld auf verschiedene DB-Einträge lesend und schreibend zugreifen.
    Wieviele verschiedene Werte willst Du bearbeiten?
    Das ist eigentlich eine typische Anwendung für Variablen-multiplexen. Schau mal in der TIA-Hilfe unter "Indexvariablen".

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  8. #8
    Registriert seit
    10.02.2014
    Beiträge
    89
    Danke
    12
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich Arbeite mit einem normalen E/A-Feld welches auf Ein/Ausgabe steht.

    Wenn man am HMI auf ein E/A-Feld klickt öffnet sich die Bildschirmtastatur wo man den Wert eingibt und anschließend das eingegebene mit "Ok" Bestätigt. Und da ist es unschön das zwar der Wert ansich übergeben wird...das E/A-Feld bleibt aber noch makiert und man sieht Visuel keine änderung...erst wenn man ein anderes Element anklickt (Hintergrund anklicken birngt auch nichts)


    Es sind insgesammt 28 Werte (je DINT) die ich entsprechend zuordnen und speichern möchte.
    Werde ich mal in der Hilfe schauen, danke dir.
    Die Funktion ist bei Basic-Panels leider nicht verfügbar (oder in finde es nicht) aber das wäre genau das was ich bräuchte.

    EDIT: glaube das geht doch

    EDIT 2: Wieder etwas dazugelernt! Mit Variablen Multiplexen funktioniert es so wie ichs möchte und total unkompliziert!
    Geändert von ThorstenSt (23.02.2015 um 12:30 Uhr)

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 20.01.2015, 19:39
  2. Antworten: 4
    Letzter Beitrag: 08.01.2015, 20:56
  3. Antworten: 0
    Letzter Beitrag: 01.10.2014, 10:58
  4. Antworten: 1
    Letzter Beitrag: 25.09.2014, 10:34
  5. Antworten: 12
    Letzter Beitrag: 20.03.2014, 14:29

Lesezeichen

Berechtigungen

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