Schalter deaktivieren - aber Schaltposition beibehalten

  • skyfreak
  • skyfreak's Avatar Offline
  • Platinum Mitglied
  • Platinum Mitglied
  • Beiträge: 2946
  • Dank erhalten: 1448

skyfreak antwortete auf Schalter deaktivieren - aber Schaltposition beibehalten

Posted 29 Aug. 2020 12:49 #7
habe ich mir das so vorzustellen?

A ist der primäre schalter und soll +100 oder -100 ausgeben
B ist der geber zum "Halten" und soll bei B = +100 den letzten schaltzustand von A fixieren, auch wenn A geschalten wird?




interessant wäre auch noch der anwendungsfall für diesen wunsch

gruss
guido
Fliegergruss
GUIDO



_________________________________________________________
Too many dicks on the dance floor.
Too many dicks!​


Last Edit:29 Aug. 2020 12:58 von skyfreak

Anhänge:

Letzte Änderung: 29 Aug. 2020 12:58 von skyfreak.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • Günter07
  • Günter07's Avatar Offline
  • Elite Mitglied
  • Elite Mitglied
  • Beiträge: 237
  • Dank erhalten: 236

Günter07 antwortete auf Schalter deaktivieren - aber Schaltposition beibehalten

Posted 29 Aug. 2020 18:20 #8
Hallo Claus,

wenn es keine Lebenswichtige Funktion ist nimm einfach LUA!

Hier hast Du einmal einen Versuch der funktionieren sollte:

***************************************
local function init()
ctrlIdx = system.registerControl(1, "Sicherheitsschalter","SHS")
end
local function loop()
if system.getInputs("SA") == 1 then
system.setControl(1, system.getInputs("SB"),0,0)
end
end
return { init=init, loop=loop, author="PGK", version="0.10",name="Test"}

*****************************************

Den Text zwischen den Sternen kopierst Du am besten in Notepad++ und speicherst es ab mit der Endung *.lua

Der Sicherheitsschalter ist in meinem Beispiel "SA". Ändere es einfach auf den von dir gewünschten Schalter.
Nach dem == kannst Du die Schalterstellung eingeben bei der er sperren soll!

1 = +100
0 = 0
-1 = 100

Der Funktionsschalter ist in meinem Beispiel "SB". Einfach auf deinen ändern.
Der Funktion musst Du dann natürlich den Apps-Schalter 1 zuweisen!!!

Viel Spaß beim Ausprobieren :P :P :P

LG Gü
Last Edit:29 Aug. 2020 18:25 von Günter07
Letzte Änderung: 29 Aug. 2020 18:25 von Günter07.
Folgende Benutzer bedankten sich: Jetlage

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • skyfreak
  • skyfreak's Avatar Offline
  • Platinum Mitglied
  • Platinum Mitglied
  • Beiträge: 2946
  • Dank erhalten: 1448

skyfreak antwortete auf Schalter deaktivieren - aber Schaltposition beibehalten

Posted 29 Aug. 2020 19:34 #9
günther ich bin neugierig und lerne gerne dazu
mit lua kenne ich mich allerdings gar nicht aus

gesetzt in deinem beispiel SB ist ein 2-er switch und liefert somit -100 oder +100
und SA ist geschaltet also 1 und liefert +100
was passiert dann mit SB in dieser zeile
respektive was liefert dann SB

Code:
system.setControl(1, system.getInputs("SB"),0,0)

respektive, was macht der code 0,0 beim SB

gruss
guido
Fliegergruss
GUIDO



_________________________________________________________
Too many dicks on the dance floor.
Too many dicks!​


Last Edit:29 Aug. 2020 19:50 von skyfreak
Letzte Änderung: 29 Aug. 2020 19:50 von skyfreak.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • Günter07
  • Günter07's Avatar Offline
  • Elite Mitglied
  • Elite Mitglied
  • Beiträge: 237
  • Dank erhalten: 236

Günter07 antwortete auf Schalter deaktivieren - aber Schaltposition beibehalten

Posted 29 Aug. 2020 19:59 #10
Hallo Guido,

zunächst wird in diesen Zeilen der APP-Schalter initialisiert und benannt:

local function init()
ctrlIdx = system.registerControl(1, "Sicherheitsschalter","SHS")
end

Du kannst bis zu 10 APP-Schalter verwenden und ich habe Schalter 1 genommen. Sollte der bereits belegt sein, nimmt man halt einen anderen...

Dann kommt die Schleife die immer wieder durchlaufen wird:

local function loop()
if system.getInputs("SA") == 1 then
system.setControl(1, system.getInputs("SB"),0,0)
end

In meinem Fall steht in der 1. Zeile wenn der Schalter SA +100 hat dann führe die nächste Zeile aus! Wenn nicht wird die Schleife verlassen.

In der zweiten Zeile steht eigentlich nur mehr nimm die Stellung von SB und übertrage diese zum APP-Schalter.

In deiner gefragten Zeile wird einfach der Wert des Schalters SB an den APP-Schalter 1 übertragen!

Nachtrag: Auf diese Art kann man auch einen analogen Wert als Funktion nutzen! Nimm z.B. einen Drehregler. Ist der Sicherheitsschalter aus kannst Du mit dem Poti den Wert beliebig ändern. Sicherheitsschalter ein und schon ist der Wert eingefroren.

UPS, noch ein Nachtrag weil Du nach 0,0 gefragt hast: DIe erste 0 = Verzögerung, die zweite 0 = smoothtype (lowpass filter)

Hier findest Du die Beschreibung: LUA Api 1.5

LG Gü
Last Edit:29 Aug. 2020 20:08 von Günter07
Letzte Änderung: 29 Aug. 2020 20:08 von Günter07.
Folgende Benutzer bedankten sich: skyfreak, Hermann, ClausS

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • skyfreak
  • skyfreak's Avatar Offline
  • Platinum Mitglied
  • Platinum Mitglied
  • Beiträge: 2946
  • Dank erhalten: 1448

skyfreak antwortete auf Schalter deaktivieren - aber Schaltposition beibehalten

Posted 29 Aug. 2020 20:12 #11
perfekt, dann sollte genau das was ich oben gescribbelt habe laufen
merci vielmal für die erklärenden worte, wie gesagt null lua kenntnis aber immer viel neugier

gruss
guido
Fliegergruss
GUIDO



_________________________________________________________
Too many dicks on the dance floor.
Too many dicks!​


Last Edit:29 Aug. 2020 20:21 von skyfreak
Letzte Änderung: 29 Aug. 2020 20:21 von skyfreak.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • ClausS
  • ClausS's Avatar Offline Autor
  • Neues Mitglied
  • Neues Mitglied
  • Beiträge: 18
  • Dank erhalten: 3

ClausS antwortete auf Schalter deaktivieren - aber Schaltposition beibehalten

Posted 29 Aug. 2020 21:04 #12
Hi Kollegen,

danke schon mal für Eure Infos!

@Guido: Deine Entscheidungsmatrix stellt mein Wunschscenario richtig dar, so habe ich es gemeint :-).

@Günther: Danke für den kreativen Vorschlag und mundgerechte Darstellung :) Deine Lua-Lösung werde ich mir nun mal in Ruhe ansehen, wäre super wenn es damit geht!

Vlt. geht´s aber ja auch direkt mit einer Jeti-Programmierung, was natürlich noch einfacher wäre!


Noch ein paar Hintergrundinfos:
Es geht mir konkret um die Ansteuerung eines Einziehfahrwerks in einem Segler.

Ich komme leider hin und wieder beim Hantieren unbeabsichtigt an den Fahrwerksschalter. Im ungünstigsten Fall ziehe ich das Fahrwerk am Boden ein und das Modell rauscht nach unten und beschädigt die Fahrwerksklappen/Klappenscharniere. Im besseren Fall will das Fahrwerk ausfahren, wenn das Modell am Boden liegt. Hier greift dann die Servoabsicherung und es passiert in der Regel nichts Schlimmes.

Beide Fälle möchte ich aber mit einem Sicherheitsschalter absichern. D.h. sobald das Modell am Boden liegt, verriegel ich den aktuellen Fahrwerksschalter per Software (durch Aktivierung des Sicherheitsschalters) in seiner aktuellen Position. Komme ich nun aus Versehen an den Fahrwerksschalter, passiert nix und der Segler bleibt entweder auf dem Fahrwerk stehen oder das Fahrwerk fährt bei liegendem Modell nicht aus.

Mein Fahrwerk liegt auf einem 3 Stufenschalter "Sc" (Eingefahren -100% - Mittelstellung 0% - Ausgefahren +100%).
Der Sicherheitsschalter soll der Drehgeber "P8" sein. Auf diesem Drehgeber liegt auch schon meine Motor-Sicherheitsschalter.
Last Edit:29 Aug. 2020 21:10 von ClausS
Letzte Änderung: 29 Aug. 2020 21:10 von ClausS.
Folgende Benutzer bedankten sich: skyfreak

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Ladezeit der Seite: 1.046 Sekunden