Schalter deaktivieren - aber Schaltposition beibehalten
- skyfreak
-
- Offline
- Platinum Member
-
- Posts: 2947
- Thank you received: 1450
TPL_KUNENA_MESSAGE_REPLIED_NEW Schalter deaktivieren - aber Schaltposition beibehalten
29 Aug 2020 10:49 - 29 Aug 2020 10:58
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
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?
Attachment Bildschirmfoto2020-08-29um12.57.49.png not found
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!
GUIDO
_________________________________________________________
Too many dicks on the dance floor.
Too many dicks!
Last edit: 29 Aug 2020 10:58 by skyfreak.
Please Log in or Create an account to join the conversation.
- Günter07
-
- New Member
-
- Thank you received: 0
TPL_KUNENA_MESSAGE_REPLIED_NEW Schalter deaktivieren - aber Schaltposition beibehalten
29 Aug 2020 16:20 - 29 Aug 2020 16:25
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

LG Gü
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
LG Gü
Last edit: 29 Aug 2020 16:25 by Günter07.
Please Log in or Create an account to join the conversation.
- skyfreak
-
- Offline
- Platinum Member
-
- Posts: 2947
- Thank you received: 1450
TPL_KUNENA_MESSAGE_REPLIED_NEW Schalter deaktivieren - aber Schaltposition beibehalten
29 Aug 2020 17:34 - 29 Aug 2020 17:50
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
respektive, was macht der code 0,0 beim SB
gruss
guido
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!
GUIDO
_________________________________________________________
Too many dicks on the dance floor.
Too many dicks!
Last edit: 29 Aug 2020 17:50 by skyfreak.
Please Log in or Create an account to join the conversation.
- Günter07
-
- New Member
-
- Thank you received: 0
TPL_KUNENA_MESSAGE_REPLIED_NEW Schalter deaktivieren - aber Schaltposition beibehalten
29 Aug 2020 17:59 - 29 Aug 2020 18:08
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ü
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 18:08 by Günter07.
Please Log in or Create an account to join the conversation.
- skyfreak
-
- Offline
- Platinum Member
-
- Posts: 2947
- Thank you received: 1450
TPL_KUNENA_MESSAGE_REPLIED_NEW Schalter deaktivieren - aber Schaltposition beibehalten
29 Aug 2020 18:12 - 29 Aug 2020 18:21
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
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!
GUIDO
_________________________________________________________
Too many dicks on the dance floor.
Too many dicks!
Last edit: 29 Aug 2020 18:21 by skyfreak.
Please Log in or Create an account to join the conversation.
- ClausS
-
Topic Author
- Offline
- New Member
-
- Posts: 18
- Thank you received: 3
TPL_KUNENA_MESSAGE_REPLIED_NEW Schalter deaktivieren - aber Schaltposition beibehalten
29 Aug 2020 19:04 - 29 Aug 2020 19:10
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.
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
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 19:10 by ClausS.
The following user(s) said Thank You: skyfreak
Please Log in or Create an account to join the conversation.
Time to create page: 0.382 seconds