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

Ergebnis 1 bis 7 von 7

Thema: WinCC v7 - E/A-Felder mit dynamischer Variablenanbindung

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute!

    Wie der Titel schon sagt versuche ich einem EA-Feld beizubringen in Abhängigkeit von einer Variable (Nummer) auf einen gewissen TAG zuzugreifen.
    Sowohl Ein- als auch Ausgabe!

    z.B:
    Wert 1: EA-Feld greift auf Variable "TM_PZ1.FU_Wert" zu
    Wert 2: EA-Feld greift auf Variable "TM_PZ2.FU_Wert" zu

    In den Anhängen seht ihr ein Standard-EA-Feld sowie einen meiner versuche das oben genannte Problem zu lösen... Leider ohne Erfolg.
    Das zusammensetzen des String-Variablennamens ist kein Problem ich weiß nur nicht wie bzw. auf welche Eigenschaft des EA-Felds ich ihn zuweisen muss.

    Ich bin für alle Lösungen offen, egal ob VBS-, C-Skript oder Alternativvorschläge.

    mfg Ronin

    Direct_IO_Field.pngDynamic_IO_Field.jpg
    Geändert von RONIN (29.09.2013 um 21:20 Uhr)
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!
    Zitieren Zitieren WinCC v7 - E/A-Felder mit dynamischer Variablenanbindung  

  2. #2
    Registriert seit
    09.08.2006
    Beiträge
    3.626
    Danke
    911
    Erhielt 656 Danke für 542 Beiträge

    Standard

    Zitat Zitat von RONIN Beitrag anzeigen
    Das zusammensetzen des String-Variablennamens ist kein Problem ich weiß nur nicht wie bzw. auf welche Eigenschaft des EA-Felds ich ihn zuweisen muss.
    Nach dem Zusammenbau des Variablennamens, den Wert aus der SPS lesen (GetTag...) dann mit den return() einfach rückgeben. fertig.

    Also return(GetTagXXX(Variablenname));


    Gruß.

    PS: das ist jetzt für C-Script. Falls Du C verwenden willst, hilft es auch, mit dem DynamicDialog ,mal etwas anzulegen und dann als C-Script zu öffnen.

    Mit VBS sollte der Befehl zu Auslesen des Variablenwertes OutputValue_Trigger = HMIRuntime.Tags(Variablenname).Read heissen. Aber nagle mich da nicht fest...
    Geändert von ducati (30.09.2013 um 09:32 Uhr)

  3. #3
    Avatar von RONIN
    RONIN ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.330
    Danke
    448
    Erhielt 687 Danke für 512 Beiträge

    Standard

    Durch Zufall bin ich jetzt nach langer Zeit über die Lösung dieses Problem gestolpert....

    Zitat Zitat von ducati Beitrag anzeigen
    Also return(GetTagXXX(Variablenname));

    Gruß.
    Diese Variante gibt leider nur den Aktuellen Wert des jeweiligen Tags zurück, ermöglicht aber keine Eingabe/Wertänderung...

    Die Lösung hab ich grad einem Siemens-Support-Artikel gefunden...
    https://support.automation.siemens.c...g=WW#A34603135
    Siehe Unterpunkt: Wie kann ich in WinCC ein E/A-Feld indirekt adressieren?

    Die Funktion war immer schon da, aber so richtig hingeschaut hab ich noch nie...
    Geändert von RONIN (25.11.2013 um 15:07 Uhr)
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

  4. #4
    Avatar von RONIN
    RONIN ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.330
    Danke
    448
    Erhielt 687 Danke für 512 Beiträge

    Standard

    So und für die ganz perserven unter uns könnte man vermutlich sogar basierend auf dem hier
    https://www.automation.siemens.com/W...07&language=de

    den Adresseintrag des Tags in der WinCC-Datenbank manipulieren... vielleicht....

    brr.. schauder....
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

  5. #5
    Registriert seit
    09.08.2006
    Beiträge
    3.626
    Danke
    911
    Erhielt 656 Danke für 542 Beiträge

    Standard

    Zitat Zitat von RONIN Beitrag anzeigen
    den Adresseintrag des Tags in der WinCC-Datenbank manipulieren... vielleicht....

    brr.. schauder....
    Jo machen kann man viel, nur sollte man sich nicht wundern, wenn nach einer Hochrüstung des System mit mehreren redundanten Doppelservern und vielen Clients und Webserver und H-CPUs irgendwas nicht mehr funktioniert...

    In Deinem Ausgangspost hab ich irgendwie überlesen, dass Du auch Eingaben machen willst...

    vielleicht auch eine Idee: Bildfenster mit Variablen-Präfix... finde ich eleganter, aber ich kenn ja die Anwendung nicht.

  6. #6
    Avatar von RONIN
    RONIN ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.330
    Danke
    448
    Erhielt 687 Danke für 512 Beiträge

    Standard

    Zitat Zitat von ducati Beitrag anzeigen
    Jo machen kann man viel, nur sollte man sich nicht wundern, wenn nach einer Hochrüstung des System mit mehreren redundanten Doppelservern und vielen Clients und Webserver und H-CPUs irgendwas nicht mehr funktioniert...
    Jup... sowas würd vermutlich passieren... das is auch eher was für die Perservlinge unter uns, also nicht für mich...
    Aber trotzdem interessant was so geht.

    Zitat Zitat von ducati Beitrag anzeigen
    vielleicht auch eine Idee: Bildfenster mit Variablen-Präfix... finde ich eleganter, aber ich kenn ja die Anwendung nicht.
    Das geht auch... aber hast du meinen Betrag meine Beitrag weiter oben vielleicht übersehen...

    Wie gesagt um ein E/A-Feld mit einem dynamischen Tag (Ein- und Ausgabe) zu versehen gibt eine WinCC-interne Möglichkeit...
    Bild: Indirekte_Adressierung_eines_EA-Feldes_d.gif

    Komisch das mir das da noch nie aufgefallen ist bzw. ich mich noch nie drum gekümmert hab...
    Geändert von RONIN (25.11.2013 um 17:26 Uhr)
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

  7. #7
    Registriert seit
    09.08.2006
    Beiträge
    3.626
    Danke
    911
    Erhielt 656 Danke für 542 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von RONIN Beitrag anzeigen
    Das geht auch... aber hast du meinen Betrag meine Beitrag weiter oben vielleicht übersehen...

    Wie gesagt um ein E/A-Feld mit einem dynamischen Tag (Ein- und Ausgabe) zu versehen gibt eine WinCC-interne Möglichkeit...
    Ja, das hab ich schon gelesen... aber da brauchst für jedes EA-Feld noch ne zusätzliche interne Variable bzw. EA-Feld-Zwischenpeicher bzw. nen Script, welches die indirekte Adresse liefert...

    Wenn Du jetzt mehrere EA-Felder und evtl. noch sonstiges hast, welche das selbe Variablenpräfix bekommen. Ist ein Bildfenster auch ne gute Variante. Da brauchst Du nur ein Script, welches das Variablenpräfix am Bildfenster ändert, und alle Variablen im Bildfenster bekommen das automatisch vorangestellt. Macht sich gut, wenn die Anbindung an die SPS über Strukturvariablen erfolgt: Variablenpräfix ist dann TM_PZ1. und am EA-Feld steht dann nur FU_Wert

    aber funktioniert sicherlich beides...

Ähnliche Themen

  1. Rezepte+E/A-Felder mit WinCC flexible?
    Von paul12 im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 20.08.2014, 22:12
  2. Antworten: 6
    Letzter Beitrag: 10.02.2012, 11:47
  3. Antworten: 2
    Letzter Beitrag: 06.04.2011, 09:42
  4. Antworten: 2
    Letzter Beitrag: 16.04.2009, 16:04
  5. Antworten: 0
    Letzter Beitrag: 06.10.2007, 10:22

Lesezeichen

Berechtigungen

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