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

Ergebnis 1 bis 8 von 8

Thema: Multiplexvariable Index verändern

  1. #1
    Registriert seit
    29.08.2009
    Beiträge
    776
    Danke
    25
    Erhielt 3 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo, ich habe eine Multiplexvariable, bei der ich ein array multiplexe.
    nun möchte ich dass das array bei den werten 1 bis 100 gemultiplext wird, leider tragen sich die werte irgendwie selbst ein und stehe auf 0 bis 99, wie kann ich denn zumindest den anfangswert des indexes ändern?
    Zitieren Zitieren Multiplexvariable Index verändern  

  2. #2
    Bensen83 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.08.2009
    Beiträge
    776
    Danke
    25
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Habe es anderst gelöst, habe ne variable in nem skript beschrieben, wenn sich die andere b´variable ändert. aber habe jetzt das Problem, dass das ereignis nur eintritt, wenn man direkt auf das eafeld klickt. nicht wenn man den wert über wert setzen verändert. geht das auch irgendwie anders? Also dass das ereignis auch dann eintritt?
    Zitieren Zitieren ok  

  3. #3
    Registriert seit
    06.06.2008
    Beiträge
    191
    Danke
    8
    Erhielt 11 Danke für 7 Beiträge

    Standard

    Hi,

    das Ergeignis wenn sich das Bild öffnet. Aber ich denke das ist generell nicht ne gute Lösung mit dem Script.

    Deine Indexvariable ist eine interne Variable in WinCC richtig?
    Kann man dort in der Variablenliste keinen Anfangswert angeben?

    Wenn es keine interne Variable ist, könntest du sie einmalig in der SPS vorbesetzen.

    Ansonsten such mal bei siemens nach mutliplexen dann findest du sicher nochmal ein Beispiel dazu.

    Gruß Mike

  4. #4
    Bensen83 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.08.2009
    Beiträge
    776
    Danke
    25
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Ich habe jett die indexvariable in der SPS um 1 verringert, um bei dem index 1 auf das element 0 zugreifen zu können. aber das kann ja doch so auch nicht gewollt sein, oder?
    Man kann auch irgendwie nicht 2 arrays in den multiplexer legen, also von mir aus 0-10 in array a und 11-20 in array b. das geht irgendwie nicht. Wollte es erst so machen, dass ich je nach index auch bestimm elemente eines array ansprechen kann, aber man kann ja anscheinend auch immer nur das ganze array einfügen...schade.

    Kann man wirklich nicht den wert verändern, wo der index anfängt?
    Zitieren Zitieren Ok  

  5. #5
    Registriert seit
    06.06.2008
    Beiträge
    191
    Danke
    8
    Erhielt 11 Danke für 7 Beiträge

    Standard

    Hi,

    Was machst du denn wenn deine Indexvariable 0 ist? Verringerst du sie dann auch um 1?

    Also wenn die Indexvariable 0 ist zeigt sie auf das erste Element auf das sie gemultiplext ist! Hast du dir das mal angesehen:
    http://support.automation.siemens.co...ard&viewreg=WW
    oder das:
    http://support.automation.siemens.co...ard&viewreg=WW

    Wenn du also eine Indexvariable hast ,die du in der SPS ändern kannst, dann kannst du Ihr doch einen Anfangswert zuweisen.
    Entweder fragst du das Bild ab und wenn es aufgerufen wird setzt du die Indexvariableauf 0 oder...
    Du fragst du CPU ab wenn diese einen Neustart macht setzt du die Indexvariableauf 0 oder...
    Du fragst die Steuerspg. ab wenn diese bei pos. Flanke eingeschalten wird setzt du die Indexvariable auf 0 oder...
    Du stellst die Indexvariable als ein Datenbaustein-Word ein (wie im Siemens Beispiel). Dann kannst du diesem auf jeden Fall einen Anfangswert geben!


    Ich meine in der Variablenliste von WinCC wo die Indexvariabledeklariert ist kann man Ihr einen Anfangswert geben oder? Entweder ganz hinten in der Tabelle oder über Ihre Eigenschaften. Vllt. irre ich ich auch!

    Gruß Mike

  6. #6
    Bensen83 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.08.2009
    Beiträge
    776
    Danke
    25
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Es geht mir nicht um den Startwert. also das problem ist folgendes:
    Ich habe mehrere Schrittketten.
    Ich habe 20 Parameter. --> Diese Parameter stehen in 20 Arrays.
    Je nachdem welche Schrittkette ausgewählt ist, möchte ich die Parameter anzeigen.
    Da meine Schrittketten bei Schrittkette 1 anfangen, gibt es keinen Index 0.
    ich kann meine indexvariable von 1-20 verändern (20 Schrittketten).
    ich hätte es jetzt gerne so, dass die multiplexvariable eben die indexe 1-20 benutzt und nicht 0-19. sonst muss ich mir ja eine variable erstellen, die mir meinen minimalen index von 1 eben um eins reduziert.

    wieso kann man denn eigentlich keine 2 array in die multiplex bereiche legen?
    Zitieren Zitieren mmmh  

  7. #7
    Registriert seit
    06.06.2008
    Beiträge
    191
    Danke
    8
    Erhielt 11 Danke für 7 Beiträge

    Standard

    Mal sehen ob ich es richtig verstehe...

    ich kann meine indexvariable von 1-20 verändern (20 Schrittketten).
    Wie wählst du denn die Schrittketten an?
    Etwa über eine DropDownListe?
    Dann könntest du eine Textliste ranhängen die eben nur die Werte 1-20 enthält.

    Oder kannst du in die Multiplex-Liste nicht einfach am Index 0 und am Index 1 das gleiche Array ran hängen von der SK1?

    Gruß

  8. #8
    Bensen83 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.08.2009
    Beiträge
    776
    Danke
    25
    Erhielt 3 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Also das Problem ist ja nicht die Null, sondern, dass generell immer der index um eins verschoben ist. Ich wähle die Schrittkette einfach über ein EA-Feld aus. könnte es natürlich über ein Dropdown menü machen und dann den index so anpassen, dass es passt, aber meiner meinung nach müsste es doch möglich sein den index anpassen zu können, oder? Bzw. Noch mal die Frage: Ich kann ja ein array in die multiplex indexe legen, warum kann ich nicht noch eins danch "schalten"? also quasi array a = index 0-10 und array b = index 11-20 ?
    Aber mir geht es im Moment Hauptsächlich darum, dass ich eben im EA-Feld in meine INT Variable den index 1 eingebe und er dann auch in das erste element des arrays schreibt (Also in meinem Fall das Element 0)
    Ps. Ist auch irgendwie blöd, dass siemens es zulässt, dass man im db die arrays flexibel anlegen kann (also z.B. auch mit index 100 anfangen kann, aber im wincc flex fängt das arry immer mit index 0 an)
    Zitieren Zitieren Ok  

Ähnliche Themen

  1. Index Array
    Von peraho im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 16.10.2012, 09:16
  2. Bit-Index variabel?
    Von Metabastler im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 02.10.2011, 22:53
  3. Array mit index
    Von bluebird277 im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 29.08.2011, 11:23
  4. WinCCflex Skript und Multiplexvariable
    Von erzteufele im Forum HMI
    Antworten: 9
    Letzter Beitrag: 30.09.2009, 09:11
  5. Index in S7 AWL
    Von plc_tippser im Forum FAQ
    Antworten: 1
    Letzter Beitrag: 13.07.2006, 10:10

Lesezeichen

Berechtigungen

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