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

Results 1 to 6 of 6

Thread: E/A-Felder als Tabelle füllen

  1. #1
    Join Date
    17.05.2017
    Posts
    8
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    ich möchte aus einem größeren DB mit einem Array die Daten im WinCC darstellen.

    Da ich noch keine größere Erfahrungen mit eigenen Skripte habe, möchte ich mir einfach einen Button mit einer kleinen For-Schleife im VBS programmieren und den entsprechenden E/A-Felder in der Schleife die dazugehörige Strukturvariable zuweisen.

    Habt ihr eine Idee wie das ganze schöner und einfach zu realisieren ist?

    Ansonsten habe ich aktuell das Problem das ich dem E/A-Feld keinen festen Ausgabewert zuweisen kann.
    Als Direktverbindung kein Problem, im VBS passiert noch nichts.

    Code:
    Set Objekt = ScreenItems("EA-Feld1")
    Objekt.OutputValue = 3
    Gruß
    Reply With Quote Reply With Quote E/A-Felder als Tabelle füllen  

  2. #2
    Join Date
    06.11.2008
    Location
    Steinhagen
    Posts
    451
    Danke
    53
    Erhielt 47 Danke für 45 Beiträge

    Default

    Moin CBR-35,

    sinnvoll oder sogar erforderlich ist dabei, die E/A-Felder, Button usw. mit einem laufenden Wert zu benamen.
    Beispiel:

    ioField09 ioField10 ioField11 ioField12
    ioField05 ioField06 ioField07 ioField08
    ioField01 ioField02 ioField03 ioField04

    Dann kannst Du Dir in einer FOR-Schleife mit dem Schleifenindex den Objektnamen zusammenbauen und den passenden Wert eintragen.
    Ein bisschen "Adressberechnung" ist für den Objektindex erforderlich, sollte aber kein Problem sein.

    VG

    MFreiberger
    _____________________________________________
    "Von nichts kommt was" von B. Trüger

  3. #3
    CBR-35 is offline Neuer Benutzer
    Themenstarter
    Join Date
    17.05.2017
    Posts
    8
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Default

    Das habe ich bereits so vorbereitet.

    Ich habe nur Probleme mit meinem Ansatz den Ausgabewert via VBS zu beschreiben.
    Laut dem Systemhandbuch von Siemens für das WinCC Scripting, sollte es sich um den OutputValue handeln.
    Allerdings funktionieren meine zwei Zeilen Code nicht so wie gewünscht, bzw. gar nicht.

    Edit:// Ich hatte das Dim Objekt vergessen
    Last edited by CBR-35; 10.09.2019 at 10:03.

  4. #4
    Join Date
    06.11.2008
    Location
    Steinhagen
    Posts
    451
    Danke
    53
    Erhielt 47 Danke für 45 Beiträge

    Default

    Moin CBR-35,

    in einem anderen Thread hatte ich gelesen, dass Variablen, die ich als Arrayvariablen verwende und den Index dynamisch zur Laufzeit übergebe, zunächst irgendwo als Variable mit absoluten Indexen aufgerufen werden muss, damit sie dem System bekannt ist.

    Beispiel:

    Value array[0..9] of int

    Damit SmartTags("Value[i]") = 35 funktioniert, muss erst irgendwann einmal SmartTags("Value[0]"), SmartTags("Value[1]"), SmartTags("Value[2]") ... aufgerufen werden. Ich habe mir ein Initialisierungsskript geschrieben, dass beim Starten des Panels einmalig aufgerufen wird und in diesem steht:
    SmartTags("Value[0]") = SmartTags("Value[0]")
    SmartTags("Value[1]") = SmartTags("Value[1]")
    .
    .


    Dann habe ich aus div. Gründen keine E/A-Felder, sondern Textfelder verwendet.
    Dabei wird Textfeld.text verwendet.

    Wozu verwendest Du "SET"? Ist das sinvoll oder guter Programmierstil?

    Ich verwende .ScreenItems(Objekt).text

    VG

    MFreiberger
    _____________________________________________
    "Von nichts kommt was" von B. Trüger

  5. #5
    Join Date
    22.06.2009
    Location
    Sassnitz
    Posts
    13,891
    Danke
    1,128
    Erhielt 4,111 Danke für 3,316 Beiträge

    Default

    Moin CBR-35

    Zuerst solltest Du eindeutig klarstellen, um welche WinCC-Runtime welcher Version auf welchem Gerät es bei Dir geht.

    Sollte es sich um WinCC Comfort/Advanced handeln, dann gibt es das Problem, daß Variablen, deren Verwendung der RT nicht bekannt ist, gar nicht oder erst nach der Verwendung aktualisiert werden. Variablenwerte garantiert zu einem bestimmten Zeitpunkt aus der PLC in das HMI bringen oder zurück funktioniert nur mit Handshake - sprich: nur als Rezeptur oder mit selbstprogrammiertem Handshake.

    Wie groß ist Dein Array? Bei überschaubar wenigen Werten ist meistens Variablen-Multiplexen einfacher und sicherer zu handeln als Skript-Gebastel.

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  6. #6
    CBR-35 is offline Neuer Benutzer
    Themenstarter
    Join Date
    17.05.2017
    Posts
    8
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    danke für eure schnelle Antworten.
    Nachdem ich die Variable für "Objekt" angelegt habe, lief meine For-Schleife sauber durch und hat die E/A-Felder mit den Strukturvariablen gefüllt.

    Im WinCC selber habe ich mit dem Skript nicht direkt auf das Array zugegriffen, das ist wohl falsch rüber gekommen.
    Ich habe die benötigte Daten aus dem Array mit einem UDT aus dem Datenbaustein mittels Strukturvariable in den Variablenhaushalt geladen und diese dann mittels einem Button dem E/A-Feld als Ausgabewert zugewiesen.

    In der Zwischenzeit hat mir ein Kollege ein FlexGrid im VB vorbereitet sodass ich mittlerweile nicht einmal mehr meine E/A-Felder nutze.

    Trotzdem vielen Dank für eure schnelle Hilfe.

Similar Threads

  1. TIA Excel Tabelle als CSV einlesen und verarbeiten
    By Azrael666 in forum Simatic
    Replies: 44
    Last Post: 24.03.2017, 12:36
  2. Replies: 2
    Last Post: 19.05.2015, 09:12
  3. PDF - Tabelle füllen
    By Flacla in forum Simatic
    Replies: 1
    Last Post: 30.11.2011, 12:41
  4. EA-Felder
    By Jelly in forum HMI
    Replies: 7
    Last Post: 18.04.2007, 23:29
  5. win cc flex:rezeptur als tabelle drucken
    By Anonymous in forum HMI
    Replies: 0
    Last Post: 27.08.2005, 17:55

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •