Gast Broken_Mind Geschrieben September 30, 2013 at 16:33 Geschrieben September 30, 2013 at 16:33 Hallo , wieder mal hab ich ein kleines Problemchen. Ich benutze NetIO um meine Bricks und Bricklets zu streuern. Nun komme ich aber nicht mit dem Shell Befehl des Quad Relays zurecht. Um das Relay zu schalten steht in der Doku Setzt die Ausgabewerte mit einer Bitmaske. Die Bitmaske ist 16 Bit lang. true steht für ein geschlossenes Relais und false für ein offenes Relay. Zum Beispiel: Der Wert 0b0000000000000011 wird die Relais 0-1 schließen und alle anderen öffnen. Falls keine Gruppen verwendet werden (siehe set-group), entsprechen die Pins der Beschriftung auf dem Quad Relay Bricklet. Wie sieht da der Befehl aus? Ich habs mit call industrial-quad-relay-bricklet <uid> set-value 0 true versucht aber klappt nicht. Ich finde die Doku etwas verwirrend und komme deshalb leider nicht weiter. Zitieren
borg Geschrieben September 30, 2013 at 16:41 Geschrieben September 30, 2013 at 16:41 Hast du dir das Beispiel oben drüber angeguckt? Pin 0 schalten (20): tinkerforge call industrial-quad-relay-bricklet $uid set-value 1 Pin 1 schalten (21): tinkerforge call industrial-quad-relay-bricklet $uid set-value 2 Pin 2 schalten (22): tinkerforge call industrial-quad-relay-bricklet $uid set-value 4 Pin 3 schalten (23): tinkerforge call industrial-quad-relay-bricklet $uid set-value 8 Pin 2 und 3 schalten (22 + 23): tinkerforge call industrial-quad-relay-bricklet $uid set-value 12 usw... Zitieren
Gast Broken_Mind Geschrieben September 30, 2013 at 17:00 Geschrieben September 30, 2013 at 17:00 Ich weiß nicht genau was du mit weiter oben meinst. Um ein bestimmtest Relay auszuschalten muss ich also dann set-value einfach leer lassen? z.B. tinkerforge call industrial-quad-relay-bricklet $uid set-value für alle Relays? Zitieren
borg Geschrieben September 30, 2013 at 17:37 Geschrieben September 30, 2013 at 17:37 Du setzt immer alle Relais gleichzeitig. Angenommen du hast die Relais 1 und 2 an, dann ist der aktuelle Wert 6 = 21 + 22. tinkerforge call industrial-quad-relay-bricklet $uid set-value 6 Wenn du nun Relais 1 ausschalten möchtest setzt du den Wert 4 = 22. tinkerforge call industrial-quad-relay-bricklet $uid set-value 4 Vielleicht könnten auch die beiden Wikipediaartikel hier helfen: http://de.wikipedia.org/wiki/Dualsystem http://de.wikipedia.org/wiki/Bitmaske Zitieren
Gast Broken_Mind Geschrieben September 30, 2013 at 18:06 Geschrieben September 30, 2013 at 18:06 Also setze ich mit 0 alle zurück. Liege dich da nun richtig? Wenn ich jetzt Relay0 aktiv habe und denn Befehl nur für Relay3 losschicke, ist ja dann nur noch der 3er aktiv. Kann ich auch den Zustand vom 1. speichern? Ich weiß ich bin heute wieder anstrengend Zitieren
photron Geschrieben October 1, 2013 at 08:29 Geschrieben October 1, 2013 at 08:29 Richtig, set-value mit 0 macht alle Relais aus, da set-value immer alle Relais setzt. Wenn du jetzt nur ausgewählte Relais setzen willst ohne andere zu beeinflussen kannst du set-selected-values nehmen. Das nimmt zwei Bitmasken als Parameter. Mit der ersten wählst du welche Relais du überhaupt schalten möchtest und mit der zweiten bestimmst du wie diese geschaltet werden. Wie bereicts bekannt: Relais 0 einschalten, alle anderen ausschalten: 20 = 1 tinkerforge call industrial-quad-relay-bricklet $uid set-value 1 Jetzt Nur Relais 3 einschalten, die anderen nicht ändern: 23 = 8 Mit 8 wird Relais 3 ausgewählt und auch eingeschaltet: tinkerforge call industrial-quad-relay-bricklet $uid set-selected-values 8 8 Nur Relais 3 ausschalten: tinkerforge call industrial-quad-relay-bricklet $uid set-selected-values 8 0 Mal was komplexeres: Relais 0 ausschalten und gleichzeitig Relais 1 ein. Dazu beide auswählen (20 + 21 = 3) und schalten (21 = 2): tinkerforge call industrial-quad-relay-bricklet $uid set-selected-values 3 2 Zitieren
Gast Broken_Mind Geschrieben October 1, 2013 at 18:17 Geschrieben October 1, 2013 at 18:17 Danke, nun habe ich alles verstanden! Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.