Hallo

Ik zit met een probleempje, ik wil kunnen kiezen tussen 2 mogelijkheden, maar dit wil niet echt lukken:

Ik heb een procedure auto en handmatig, Nu wil ik als ik niets in druk dat hij op auto blijft staan (dat lukt), en als ik 2 knoppen te gelijk in druk (soort schakelaar) dat hij naar handmatig toe gaat. (lukt ook).

Om terug te gaan heb ik het volgende probleem:
Hij moet als schakelaar werken, dus er moet een loop in de functie handmatig. Als ik dan in de functie handmatig neer zet dat hij bij 2 knoppen naar auto moet, voert hij dit 1 maal uit(omdat hij nog in de funtie van handmatig zit.

Hoe valt dit op te lossen?

Een stukje software voor verduidelijking


procedure auto is   
-- automatische correctie
end procedure

procedure handmatig is
forever loop
-- handmatige correctie

-- onderstaande werkt voor 1 keer, 
-- maar hij moet de procedure afbreken 
-- zodat het als schakelaar werkt
  if (knop_a == low)&(knop_b == low) then
     delay_1S( 1 )
     handmatig
  end if


end loop
end procedure

forever loop
   if (knop_a == low)&(knop_b == low) then
      delay_1S( 1 )
      handmatig
   else
      auto
   end if
end loop

alvast bedankt

1. ik snap je vraag niet
2. een procedure breek je af met 'return'
3. op de jallist (engesltalig) heb je misschien meer kans op antwoord (mits je de vraag duidelijker formuleert)

zoek je een soort noodstop ?

Ik zocht idd het commando 'return'. Ik had al in de manual gekeken, maar blijkbaar er overheen gelezen
bedankt!

Ik ben nog even bezig geweest en dit is nog iets netter denk ik:


   if (knop_a == low)&(knop_b == low) then		
      if automode == true then				
	 automode = false				
         delay_1S( 1 )
      else
	 automode = true
         delay_1S( 1 )
      end if
   end if

   if automode == true then				
      auto
   else
      handmatig
   end if

Die heb ik met deze oplossing niet nodig,
automode veranderd als je a en b indruk. Als die true was wordt die false en visa versa. Daarna wordt er gekeken wat die is en de bijhoorende functie uigevoerd

Ik zocht eerst de return functie maar had dit geprobeerd en werkte ook