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

Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 23

Thema: Bedienung Siemens Panel

  1. #11
    qpec_hagen ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    21.07.2010
    Ort
    Dortmund
    Beiträge
    105
    Danke
    37
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Vielen Dank schonmal für den Hinweis. Den Zeiger hatte ich schon für die Bildnummer ^^ die Tabnummer liegt dabei im Wort 6 des Zeigers.
    Schön und gut. Jetzt wollte ich ein Skript schreiben, welches bei Tastendruck aktiviert wird. Wollte das jetzt so machen:

    ActivateScreen <Nr>, TabNr= TabNr+ 1

    sollte doch so theoretisch schonmal für den Cursor abwärts gehen oder?! Sorry bin vollkommener Skript Neuling. Hab nur ein wenig Erfahrung mit C und SCL

  2. #12
    Registriert seit
    17.04.2008
    Ort
    Oberfranken
    Beiträge
    61
    Danke
    3
    Erhielt 80 Danke für 16 Beiträge

    Standard

    Ja, auf die Art kannst Du das machen, z.B.:

    Dim TabOrd

    TabOrd = SmartTags("deine Variable mit der aktuellen Tab-Nummer") + 1

    ActivateScreen "Name deines Bildes", TabOrd

  3. Folgender Benutzer sagt Danke zu Aweeller für den nützlichen Beitrag:

    qpec_hagen (14.06.2012)

  4. #13
    qpec_hagen ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    21.07.2010
    Ort
    Dortmund
    Beiträge
    105
    Danke
    37
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Super Dankeschön. Jetzt fehlt nur noch die Frage, ob es eine elegenate Möglichkeit gibt darüber auch eine Cursorfunktion "Links" und "Rechts" darzustellen? Und gibt es auch eine Möglichkeit die Tastaureingabe über ein Skript abzufangen? Wollte einen Extra Button dafür machen.

  5. #14
    Registriert seit
    17.04.2008
    Ort
    Oberfranken
    Beiträge
    61
    Danke
    3
    Erhielt 80 Danke für 16 Beiträge

    Standard

    Ich bin mir nicht ganz sicher, was genau du vorhast

    Denke aber, du hast Probleme, da deine Felder recht dicht aneinander stehen..

    Es gibt da noch einen anderen Lösungsansatz mit "Activate":
    Du gehst über die Objektnamen, d.h.: jedes Objekt in deinem Bild bekommt den gleichen Namen, aber am Ende des Namens hängst du noch eine Kennung an, welche eine eindeutige X / Y Identifikation im Bild spezifiziert. Der Tab-Order ist dann erstmal völlig wurscht!
    Also z.B.: Feld_2_3 als Objektname ist das Feld in Zeile 2, Spalte 3

    Dann schreibst Du ein Script mit etwa folgendem Aufbau:

    Dim Obj, ScreenName, FeldName

    FeldName = "Feld_" & CStr(SmartTags("Name deiner X-Variable")) & "_" & CStr(SmartTags("Name deiner Y-Variable"))

    ScreenName = HmiRuntime.BaseScreenName

    On Error Resume Next

    Set Obj= HmiRuntime.Screens(ScreenName).ScreenItems("FeldName")
    If Err.Number <> 0 Then
    Exit Sub
    Err.Clear
    End If

    Obj.Activate

    Set Obj= Nothing

    Die X- und Y-Variable musst Du natürlich vorab (oder in dem gleichen Script) verrechnen!

    Gruß
    Aweeller

  6. Folgender Benutzer sagt Danke zu Aweeller für den nützlichen Beitrag:

    qpec_hagen (14.06.2012)

  7. #15
    qpec_hagen ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    21.07.2010
    Ort
    Dortmund
    Beiträge
    105
    Danke
    37
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hmm das wäre nun aber der deutlich längere Weg, da ich massig Seiten mit massig Feldern habe. Mist aber auch. Dachte man könnte auch mit den Tab Nr die Funktion "ein Feld nach rechts" und "ein Feld nach links" recht leicht darstellen. Hinweis dazu: habe zb eine 2x2 Matrix, in der ein linkes Feld nicht unbedingt einen "Nachbarn" hat.

  8. #16
    Registriert seit
    17.04.2008
    Ort
    Oberfranken
    Beiträge
    61
    Danke
    3
    Erhielt 80 Danke für 16 Beiträge

    Standard

    Ja, nun...

    gehen tut das schon ...
    ... man kann ja über die Abfrage IF Err.Number .... feststellen, ob es das nächste Objekt gibt.
    Dann kann man automatisch das nächste (existierende) Feld anspringen. Alo kein "ExitSub", sondern das nächstmögliche Feld berechnen und probieren...

    Wenn du so was unbedingt brauchst, musst du da mal ein bischen rumbasteln

    Gruß
    Aweeller

  9. #17
    qpec_hagen ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    21.07.2010
    Ort
    Dortmund
    Beiträge
    105
    Danke
    37
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Moment mal. Bei dem Script mit dem Activate: woher bekomme ich denn da das aktuelle Feld in dem ich bin?!
    Edit: also woher bekomme ich denn eine X und Y Variable? die vergebe ich doch vorher als festen Text (Objektname) zb 1_2, 2_2.....
    Geändert von qpec_hagen (14.06.2012 um 10:01 Uhr)

  10. #18
    Registriert seit
    17.04.2008
    Ort
    Oberfranken
    Beiträge
    61
    Danke
    3
    Erhielt 80 Danke für 16 Beiträge

    Standard

    Hallo nochmal,

    also den Objektnamen müsstest Du eigentlich so bekommen:

    Set Obj= HmiRuntime.Screens(ScreenName).ActiveScreenItem
    AktivFeldname = Obj.ObjectName

    "AktivFeldname" muss halt noch in die Deklarationen (DIM ...)
    Den AktivFeldname(n) kannst du dann "zerlegen" und die momentan aktuellen Koordinaten weiterverarbeiten.

    Zerlegen kannst du den Namen mit z.B.: den MID() und Right() Funktionen etc.... Dann hast du die Koordinaten extrahiert.
    Danach bastelst du wieder den (neuen) Feldnamen zusammen und gibst ihm ein "Activate" wie oben beschrieben!

    Ist schon etwas anspruchsvoll - sollte aber machbar sein!

    Gruß
    Aweeller

  11. Folgender Benutzer sagt Danke zu Aweeller für den nützlichen Beitrag:

    qpec_hagen (14.06.2012)

  12. #19
    qpec_hagen ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    21.07.2010
    Ort
    Dortmund
    Beiträge
    105
    Danke
    37
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Anspruchsvoll ist gut bin seit nem Jahr ausgelernt (Automatisierer) und seit nem halben Jahr in der Programmierung
    Bin aber ganz optimistisch

  13. #20
    Registriert seit
    17.04.2008
    Ort
    Oberfranken
    Beiträge
    61
    Danke
    3
    Erhielt 80 Danke für 16 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Na dann,

    viel Spass und Erfolg!

    p.s.: In Geräteeinstellungen den Haken bei "Namensinformationen transferieren" setzen nicht vergessen, sonst geht gar nix ...

    Gruß
    Aweeller

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 30.01.2012, 13:06
  2. Siemens Panel PC 477B zu verkaufen
    Von Katerkarlo im Forum Suche - Biete
    Antworten: 3
    Letzter Beitrag: 09.04.2011, 09:40
  3. Siemens Panel USB
    Von M.R. im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 07.01.2010, 13:10
  4. Suche Siemens Multi-Panel
    Von Immergewinner im Forum Suche - Biete
    Antworten: 0
    Letzter Beitrag: 25.02.2008, 20:48
  5. Siemens Panel 30/A ( OP30/A)
    Von topsecret im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 21.04.2005, 16:56

Lesezeichen

Berechtigungen

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