UIMessageBox - DO setzen während eine Taste gedrückt

  • Morgen,


    ich habe eine Sache und noch keine Lösung


    Ich möchte mit einer Taste einen DO zur SPS nur solange auf 1 haben, wie man die Taste betätigt (Grund ist, eine Achse am Greifer über die SPS zu verfahren)

    Geht das damit?


    So ist es jetzt:

    answer:=UIMessageBox(

    \Header:="gripper funktions axis movement"

    \MsgArray:=Greiferf_AX

    \BtnArray:=buttons_Greifer_AX

    \Icon:=iconInfo);

    IF answer=1 THEN

    ! axis back

    WaitUntil DriveEnable=1;


    set do_axis_minus;

    ! WaitUntil answer=0;


    GOTO Greifer_AX;


    ELSEIF answer=2 THEN

    ! axis before


    WaitUntil DriveEnable=1;


    set do_axix_plus;


    GOTO Greifer_AX;





    , setzt aber nur die Ausgänge.



    Danke

  • AD
  • Morgen,

    das geht mit der UIMessageBox so leider nicht.


    Du könntest es evtl. so lösen:

    1. Gib deiner UIMessageBox den switch "\UIActiveSignal" und weise einen simulierten Ausgang zu. Dann weißt du wenn die MsgBox aktiv ist.

    2. Weise 2 Funktionstasten einen Simulierten Ausgang zu.

    3. Cross Connection mit AND Verknüpfung der beiden simulierten Ausgänge auf z.B. do_axis_minus.


    Ist, denke ich, mit entsprechender Beschreibung in der MsgBox für jeden Benutzer verständlich.

    Code
    CONST string my_message{3}:= ["Achse mit Funktionstasten bewegen","Taste 1: X+", "Taste 2: X-"];
    CONST string my_buttons{2}:=["OK","Skip"];
    answer:= UIMessageBox (
    \Header:="UIMessageBox Header"
    \MsgArray:=my_message
    \BtnArray:=my_buttons
    \Icon:=iconInfo);
    \UIActiveSignal:=doSimMoveAxis


    Gruß Z

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account
Sign up for a new account in our community. It's easy!
Register a new account
Sign in
Already have an account? Sign in here.
Sign in Now