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

Ergebnis 1 bis 5 von 5

Thema: Ist ein Array anlegen unter WinCC 6 für ein C-Script möglich

  1. #1
    Anonymous Gast

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo!

    Ich würde gerne eine Prüffunktion anlegen (angestoßen durch eine Button-Betätigung).
    Das ganze soll von einem C-Script unter WinCC 6 laufen.
    (Wenn es nicht anders geht auch VB-Script)


    Ich will ein Array mit ganzen Zahlen füllen, max ca. 100 Einträge
    ARRAY[1, 2, 3, 5, 7, 9, 13, 15, 17, 18, 19, ...]

    Außerdem hab ich noch 2 binäre Variablen.
    ZUSTAND_1
    ZUSTAND_2


    Mit anstoßen des Scriptes soll immer das gleiche ablaufen.
    1. Lese ersten Eintrag aus Array, schreibe Inhalt in eine Hilfsvariable
    2. Setze Zustandsvariablen für 5Sek auf 0 / 0 --- 1. von 4 Möglichkeiten
    3. Setze Zustandsvariablen für 5Sek auf 0 / 1 --- 2. von 4 Möglichkeiten
    4. Setze Zustandsvariablen für 5Sek auf 1 / 0 --- 3. von 4 Möglichkeiten
    5. Setze Zustandsvariablen für 5Sek auf 1 / 1 --- 4. von 4 Möglichkeiten

    ...anschließend
    1. Lese nächsten Eintrag ...
    2. Setze Zustandsvariablen für 5Sek auf 0 / 0 --- 1. von 4 Möglichkeiten
    3. Setze Zustandsvariablen für 5Sek auf 0 / 1 --- 2. von 4 Möglichkeiten
    4. Setze Zustandsvariablen für 5Sek auf 1 / 0 --- 3. von 4 Möglichkeiten
    5. Setze Zustandsvariablen für 5Sek auf 1 / 1 --- 4. von 4 Möglichkeiten

    ...bis alle Array-Einträge durchgelaufen sind!

    Eine Meldung danach wäre Klasse!


    Jetzt zu der Problematik!
    Gibt es Arrays in WinCC ???
    Kann man so ne Schleife, vor allem wegen dem Zeitbezug realisieren?


    Vielleicht hat jemand nen Tip!
    Wie gesagt, wenn es nur in VB geht, dann wär es auch in Ordnung!

    DANKE für die Hilfe
    Gruß hugolee
    Zitieren Zitieren Gelöst: Ist ein Array anlegen unter WinCC 6 für ein C-Script möglich  

  2. "Hallo Gast,
    Zitat Zitat von Gast
    Gibt es Arrays in WinCC ???
    Jein, nach meinem Wissen nicht in C-Scripten verfügbar.
    In VBS kann man Arrays definieren, die sind dann vom Datentyp Variant.
    Zitat Zitat von Gast
    Kann man so ne Schleife, vor allem wegen dem Zeitbezug realisieren?
    Habe ich das richtig verstanden ?? Du willst in einer Schleife 100x je 5 sec. warten, in Summe also 500 sec ???
    Im Prinzip ja, in der Praxis würde man jedoch die für 500 sec. ausbleibende Bildaktualisierung sowie die Möglichkeiten zur Bedienung des HMI-Systems sehr vermissen. Wenn Du das so gemeint hast, solltest Du dein Konzept nochmal neu überdenken.
    Wenn nicht so gemeint, solltest Du das etwas genauer erklären, dann habe ich Dich missverstanden.

    Gruß
    Question_mark"


  3. #2
    Registriert seit
    07.07.2004
    Beiträge
    3.285
    Danke
    38
    Erhielt 584 Danke für 382 Beiträge

    Standard

    Hallo Gast,
    Zitat Zitat von Gast
    Gibt es Arrays in WinCC ???
    Jein, nach meinem Wissen nicht in C-Scripten verfügbar.
    In VBS kann man Arrays definieren, die sind dann vom Datentyp Variant.
    Zitat Zitat von Gast
    Kann man so ne Schleife, vor allem wegen dem Zeitbezug realisieren?
    Habe ich das richtig verstanden ?? Du willst in einer Schleife 100x je 5 sec. warten, in Summe also 500 sec ???
    Im Prinzip ja, in der Praxis würde man jedoch die für 500 sec. ausbleibende Bildaktualisierung sowie die Möglichkeiten zur Bedienung des HMI-Systems sehr vermissen. Wenn Du das so gemeint hast, solltest Du dein Konzept nochmal neu überdenken.
    Wenn nicht so gemeint, solltest Du das etwas genauer erklären, dann habe ich Dich missverstanden.

    Gruß
    Question_mark
    ''Ich habe wirklich keine Vorurteile.
    Meine Meinung ist nur die Summe der Erfahrungen" ... (Question_mark)
    Zitieren Zitieren Arrays in WinCC  

  4. #3
    Registriert seit
    07.07.2004
    Beiträge
    3.285
    Danke
    38
    Erhielt 584 Danke für 382 Beiträge

    Standard

    Hallo Gast,
    kleiner Nachtrag von mir zum Thema :
    Rohdatenvariablen in WinCC sind natürlich auch vom Typ "array of byte", die selbstdefinierten "Strukturtypen" sind auch eine Art von Array of irgendwas, letztere jedoch nicht über einen Index adressierbar.

    Gruß
    Question_mark
    ''Ich habe wirklich keine Vorurteile.
    Meine Meinung ist nur die Summe der Erfahrungen" ... (Question_mark)
    Zitieren Zitieren Array in WinCC  

  5. #4
    Registriert seit
    24.09.2003
    Beiträge
    15
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke erst mal für Deine Antwort!

    Das Script soll nur nach der Erstellung des Bildes durchgeführt werden. Also nur zur Kontrolle und keinesfalls dauerhaft!
    Also das mit der Performance bzw. Bedienbarkeit ist damit gewährleistet.

    Ich hab mir die Schleife mit den abwechselnden Zuständen schon erstellt.
    Was noch nicht so ganz funktioniert ist das mit dem Array.
    Eigentlich sollten in dem Array alle Schrittnummern, die eine Schrittkette hat (graph7) stehen.
    Im Normalfall also 1 bis xx.
    Nebenläufige Zweige 100er, 200er ... Zahlen
    Und genau das ist mien Problem, denn in meiner Schleife zähle ich immer (bei 1 beginnend) um eins hoch.
    Aber es kann ja auch sein, dass es den Schritt 8 gar nicht gibt.

    Ist bissel schwierig zu Beschreiben.

    Habe eine Schrittkette in WinCC visualisiert. Diese Schrittkette will ich prüfen.
    Jede Schrittnummer einlesen (ARRAY)
    Die 4 möglichen Zustände S_ACTIVE und SQ_HALTED durchspielen und je Zustand einen Farbumschlag haben.
    Dann wieder nächste Schrittnummer einlesen (ARRAY)
    ...

    Wie gesagt die Zustandsschleife geht, aber das gezielte Einlesen der Schrittnummern in Array-Form ist noch der alles entscheidende Punkt.

    Mit meiner bisherigen Lösung könnte ich auch leben, aber es ist halt nur ein Kompromiss!

    DANKE für Euer Feedback
    hugolee

  6. #5
    Anonymous Gast

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich würde sagen ein integer Array sollte für deine Zwecke doch ausreichen?

    int iArray[99] = {1, 2, 3, 5, 7, 9, 13, 15, 17, 18, 19, ...};

    und dass kannst du dann einfach in einer for Schleife durchlaufen

    int iIndex = 0;
    for( iIndex = 0; iIndex < 100; iIndex++)
    {
    Wert = iArray[iIndex];
    }

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 17.11.2010, 08:28
  2. Array in Script durchsuchen
    Von Züttu im Forum HMI
    Antworten: 2
    Letzter Beitrag: 21.07.2010, 16:40
  3. Antworten: 2
    Letzter Beitrag: 26.01.2008, 13:21
  4. Beckhoff Array auf Merker anlegen?
    Von Jush im Forum Sonstige Steuerungen
    Antworten: 3
    Letzter Beitrag: 26.07.2007, 16:08
  5. Array im Script beschreiben
    Von Neuling74 im Forum HMI
    Antworten: 2
    Letzter Beitrag: 16.06.2007, 08:59

Lesezeichen

Berechtigungen

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