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

Ergebnis 1 bis 8 von 8

Thema: Wie kann ich mit WinCC einzelne Index oder Bereich eines Arrays abfragen?

  1. #1
    Registriert seit
    22.11.2007
    Beiträge
    731
    Danke
    6
    Erhielt 89 Danke für 62 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    ich habe eine 1511 mit einem symbolischen DB und zwei Arrays

    Tuer_Matrix[1..28,1..28] of Bool

    und

    Tuer_Offen[1..100] of Bool

    und wuerde gerne

    1. Tuer_Matrix[24,13] - bei welcher Funktion kann ich mehrere Index angeben?
    2. Tuer_Offen[3-26] also 3,4,5...26 lesen - geht das wirklich nur einzeln?

    eine Idee wie ich das primär mit WinCC (oder auch OPC UA) Lösen kann
    Zitieren Zitieren Wie kann ich mit WinCC einzelne Index oder Bereich eines Arrays abfragen?  

  2. #2
    LowLevelMahn ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    22.11.2007
    Beiträge
    731
    Danke
    6
    Erhielt 89 Danke für 62 Beiträge

    Standard

    Jetzt habe ich mal mit einem HMI geschaut - da kann ich aber auch nur einzelne Indexe Abfragen

    Scheinbar gibt es einfach keine Möglichkeit mit einem Aufruf einen Bereich aus einem Array zu lesen - also z.B. Index 1-30

    Geht da was in WinCC - egal ob VBS, C-Script etc.?
    der OPC-UA Scout erlaubt bei Multidimensionalen Arrays keine Indexangabe - die Tagauswahl wird nach der Eingabe einfach mit "null" ueberschrieben
    in einem HMI-Projekt komme ich nur direkt auf einzelne Indexe

  3. #3
    Registriert seit
    23.01.2013
    Beiträge
    40
    Danke
    11
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Meines Wissens geht das nicht. Aber mach doch einfach eine For-Schleife mit der Du die Anzahl von z.B. 1 bis 30 durchläufst

  4. #4
    LowLevelMahn ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    22.11.2007
    Beiträge
    731
    Danke
    6
    Erhielt 89 Danke für 62 Beiträge

    Standard

    klar kann man das Problem auf x Arten Lösen - ich suche eben (ganz ohne Zeitdruck) nach einer "optimalen" Lösung

    wenn ich z.B. Index [1-3000] Abfragen will werden das 3000 Requests die ziemlich lange brauchen - nicht so optimal

    die 300/400 und 1200er können es auf Protokollebene d.h. man kann gezielt einen Bereich aus einem Array lesen, bei der 1500er weiss ich es nicht - wuerde mich aber sehr wundern wenn sie das nicht koennte
    bisher habe aber leider keine Entsprechenden Funktionen in WinCC, OPC oder HMI gefunden und bin ein wenig verwirrt das nicht mal die Hardwarefähigkeiten voll genutzt/unterstützt werden

  5. #5
    Registriert seit
    23.01.2013
    Beiträge
    40
    Danke
    11
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ja, schon klar. Ich kenne keine Funktion in WinCC die das unterstützt.

  6. #6
    Registriert seit
    29.03.2004
    Beiträge
    5.731
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard

    Meinst du WinCC 7.2 oder TIA WinCC?

    Bei WinCC 7.2 würde ich erstmal testen ob du überhaupt auf symbolische DBs zugreifen kannst. Bei der 1200er lässt sich mit WinCC 7.2 nämlich nur auf Absolut-DBs (S7-300/400 kompatibel) zugreifen. Sieht mir danach aus als ob im WinCC Treiber nur die Rack/Slot Angabe geändert wurde, und eine paar störende SZL-Anfragen entfernt wurden.

    Mangels 1500 konnte ich mir noch nicht ansehen was WinCC treibt wenn es mit dieser kommuniziert. Darum kann ich nur schreiben was bei einer 1200er geht.

    Bei einer 1200er kann man auch über symbolische Adressierung auf DBs auf eine Variable eines mehrdimensionalen Arrays zugreifen. Zumindest mit der Zugriffsmethode über LID/CRC/Index.
    Auf Protokollebene wird ein mehrdimensionales Array wieder "flach" gemacht.
    Beispiel:
    boolArray [0..31, 0..31] of Bool

    Zugriff auf Element boolArray[3, 10] erfolgt auf Protokollebene über Index 106, wegen 3*32+10 = 106.

    Seit V12 ist der Zugriff über LID/CRC/Index aber schon wieder außer Mode gekommen.

  7. #7
    LowLevelMahn ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    22.11.2007
    Beiträge
    731
    Danke
    6
    Erhielt 89 Danke für 62 Beiträge

    Standard

    ich meinte TIA WinCC - aber es gibt scheinbar wirklich nichts mit dem man dieses Feature nutzen kann - Schade

  8. #8
    Registriert seit
    05.03.2012
    Beiträge
    39
    Danke
    10
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    ich möchte ein ähnliches Thema nochmal anschneiden, deswegen fand ich es hier passend und mache nicht unnötig einen neuen Thread auf.

    Ich habe einen Bildbaustein in dem mittels Wegmesssystem eine Höhenkontrolle gemacht wird. In dem Bildbaustein gibt es Daten die in einem Array stehen. Problem ist, ich habe mehrere Positionen wo verschiedene Werte vorhanden sind und muss deshalb für jede Position den Bildbaustein einmal anlegen in der Visu.
    Anbei ein Bild der Visu und des DB´s in dem die Arrays stehen.
    In der Anbindung der Visu steht unten die Anbindung und in der Klammer ({1}). Diese 1 ist ja der Index und den würde ich gerne ändern, damit ich nicht für jede Position den Bildbaustein anlegen muss. Wenn man 2 Positionen hat oder so, dann wäre das im Prinzip kein Problem. Aber bei 20 Positionen müsste ich dann 20 mal den Bildbaustein anlegen und hab dann 10 Bilder oder mehr (je nach Panelgröße) verschwendet, was auch dann unübersichtlich wird.

    Ich müsste jetzt nur mal Hilfe dabei haben, wie ich den Index im Panel ändern kann (evtl. über ein Skript)?

    Vielen Dank für Eure Mithilfe

    Gruß



    DB_Kontrolle_auf.pngVisu_Schnittstelle.png

Ähnliche Themen

  1. Antworten: 9
    Letzter Beitrag: 29.09.2011, 16:12
  2. Antworten: 1
    Letzter Beitrag: 15.12.2010, 12:47
  3. Antworten: 5
    Letzter Beitrag: 11.03.2010, 20:17
  4. Antworten: 2
    Letzter Beitrag: 12.12.2008, 19:00
  5. wie lege ich daten in einem Datenbaustein mit arrays ab ?
    Von Tom100 im Forum Programmierstrategien
    Antworten: 7
    Letzter Beitrag: 03.06.2005, 09:03

Lesezeichen

Berechtigungen

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