Showing results 1 to 8 of 8

Thread: Ein Button - zwei Funktionen?

  1. #1
    Join Date
    16.11.2011
    Posts
    48

    Default Ein Button - zwei Funktionen?

    Hallo,

    wie kann ich es anstellen das ein Button, wenn er kurz gedrückt wird, eine Variable setzt und, wenn er lange gedrückt wird, eine Funktion ausführt?

    Verwendet wird zenon V7.0.
    Gibt es ein solches Element vielleicht schon in der V7.2?

    Danke.

    Gruß

  2. #2
    Join Date
    18.07.2011
    Posts
    138

    Default AW: Ein Button - zwei Funktionen?

    Hi wenzm.

    Dazu ist einiges an Projektierung notwendig. Zuerst muss man bedenken, dass "normale" Buttons in zenon immer auf "Button up" reagieren, also Funktionen erst getriggert werden wenn man einen Button los lässt.
    Da du ja schon auf das Drücken reagieren musst, um festzustellen wie lange gedrückt wird, muss man hier also den Button als "Taster" definieren. Damit kann eine Bool-Variable verlinkt werden welche sofort beim Drücken auf 1 geht. Lässt man den Taster los geht der Wert wieder auf 0.
    Um nun zu evaluieren wie Lange der Wert auf 1 war würde ich zenon logic empfehlen. Du kannst die Bool-Variable des Tasters als Eingang für den TON-Funktionsblock verwenden. Dieser Funktionsblock schaltet einen Ausgang erst dann auf 1 wenn das Eingangssignal für die projektierte Zeit anstand. Der Timer wird resetet wenn das Eingangssignal nicht für die projektierte Zeit anstand.
    Um nun zwei unterschiedliche Funktionen zu Triggern musst du auf das Ausgangssignal des Timers und auf die Bool-Variable achten.

    Also war die Bool-Variable auf 1 und der Ausgang des Timers nicht wurde weniger lange als die projektierte Zeit gedrückt. War die Bool Variable auf 1 und auch der Ausgangs des Timers auf 1 wurde länger als die projektierte Zeit gedrückt.

    Du musst dich also darum kümmern die Zuständen kurz "zwischen zu speichern" um beide Variablen gemeinsam entsprechend auszuwerten.

    Ich hoffe ich konnte die Idee dahinter verständlich machen.

    lg,
    Johannes
    Last edited by johannes.foidl : 20th April 2015 at 09:41

  3. #3
    Join Date
    30.05.2007
    Location
    Salzburg
    Posts
    881

    Default Re: Ein Button - zwei Funktionen?

    wie kann ich es anstellen das ein Button, wenn er kurz gedrückt wird, eine Variable setzt und, wenn er lange gedrückt wird, eine Funktion ausführt?
    sollte es sich hier um eine Touch-Anwendung handeln (Windows 8 mit 7.20):
    - Projekt -> Interaktion: auf Windows 8 stellen
    - beim Button unter "Variable/Funktion" die Funktion verlinken (für kurz drücken)
    -> hier auch die Checkbox "Funktionsausführung beim Drücken" aktivieren
    - beim Button unter "Runtime" -> "Drücken und Halten"
    -> hier unter "Reaktion" einstellen: "Eigene Funktion ausführen"
    -> unter "Funktion" die Funktion verlinken (für lang drücken)

    gruß,
    herbert


  4. #4
    Join Date
    16.11.2011
    Posts
    48

    Default Re: Ein Button - zwei Funktionen?

    Leider ist es keine Win8 Anwendung, sondern eine etwas ältere Win7

    Die Sache mit dem TON-Baustein klingt logisch. Allerdings habe ich nicht nur Einen, sondern knappe 50 dieser Buttons, sodass der Variablenhaushalt im Zenonlogic "etwas knapp" ist.
    Ist eine solche TON-Funktion in VBA möglich? Eventuell Zeitstempel über Makros abfragen?

    Gruß

  5. #5
    Join Date
    01.07.2008
    Location
    Salzburg, AT
    Posts
    983

    Default Re: Ein Button - zwei Funktionen?

    stratonNG variablen für integrierte Logic noch 'extern sichtbar' verbrauchen die Tags in Logic nicht.

  6. #6
    Join Date
    30.05.2007
    Location
    Salzburg
    Posts
    881

    Default Re: Ein Button - zwei Funktionen?

    Leider ist es keine Win8 Anwendung, sondern eine etwas ältere Win7
    ist die bedienung hier nun über touch-monitor oder über maus?
    wenn die bedienung hier über maus ist, dann vielleicht wäre hier die verwendung von einem kontextmenü eine idee?
    1 kontextmenü - 2 menü-einträge (wo die funktionen verlinkt sind)

    oder aber:
    1 kontextmenü - 1 menü-eintrag (wo diese "andere" funktion ausgeführt werden soll)
    button - variable für sollwert-setzen
    -> LinksClick auf Button = sollwert-setzen
    -> RechtsClick auf button - Kontextmenü - andere funktion

    die vorgeschlagene lösung mit zenon logic bei einer vielzahl solcher buttons (und variablen und funktionen) ist hier vielleicht doch nicht so angenehm.


    gruß,
    herbert


  7. #7
    Join Date
    16.11.2011
    Posts
    48

    Default Re: Ein Button - zwei Funktionen?

    Sorry wegen der langen Pause, das Projekt war über den Sommer "eingefroren".
    Leider ist nur ein Multitouchpanel an der Maschine verbaut.

  8. #8
    Join Date
    20.08.2009
    Posts
    293

    Default Re: Ein Button - zwei Funktionen?

    Quote Originally Posted by wenzm View Post
    Leider ist es keine Win8 Anwendung, sondern eine etwas ältere Win7

    Die Sache mit dem TON-Baustein klingt logisch. Allerdings habe ich nicht nur Einen, sondern knappe 50 dieser Buttons, sodass der Variablenhaushalt im Zenonlogic "etwas knapp" ist.
    Ist eine solche TON-Funktion in VBA möglich? Eventuell Zeitstempel über Makros abfragen?

    Gruß
    Das mit einem Timer/Abfrage sollte theoretisch schon gehen.

    VBA würde ich aber persönlich meiden (Aufgrund der begrenzten Möglichkeit in der Verwendung von Threads). Über VSTA Timer/Threads ist man da wahrscheinlich flexibler was Lösungsmöglichkeiten für diesen Anwendungsfall betrifft.

Similar Threads

  1. Kommentarspalte - Funktionen
    By jusufs in forum zenon Service Engine Supervisor
    Replies: 2
    Last Post: 8th December 2013, 08:51
  2. Replies: 4
    Last Post: 14th June 2011, 11:16
  3. zwei Variablen einer dritten zuweisen?
    By michab in forum zenon Service Engine Supervisor
    Replies: 3
    Last Post: 15th April 2011, 14:19
  4. VBA- Funktionen
    By stimpfig in forum VBA
    Replies: 2
    Last Post: 10th May 2010, 08:28
  5. Replies: 4
    Last Post: 20th January 2010, 01:02

Posting Rules

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •