Hallo,
ich bin dabei, eine Positonserkennung/-steuerung in das UNIRoll-Modul einzubauen. Dazu habe ich einen Befehl "pos <Zeit in Sekunden>" eingebaut, mit dem ich das Rollo von jeder Position in jede andere Position fahren kann. Während der Fahrtdauer ist nur ein Stop-Befehl erlaubt. Die Zeitdauer vom Beginn des letzten Befehls bis zum Stop wird gemessen. Um die Fahrtrichtung erkennen zu können, müsste ich das Reading des State verändern. Derzeit steht "pos xx" im Reading.
Ein Beispiel zur Verdeutlichung:
Das Rollo ist auf "pos 3" und ich möchte auf "pos 12" fahren. Der Befehl "pos 12" wird in der Set-Funktion auf "down 9" umgewandelt. Im State steht aber "pos 12". Wenn jetzt ein Stop erfolgt, kann ich die letzte Fahrtrichtung nicht ermitteln. Das würde ich aber zur Positionsbestimmung benötigen.
Ich habe bereits mit "readingsSingleUpdate" in des Set-Fkt probiert, aber das wird wohl später überschrieben.
Wie kann ich den state bzw. den Set-Befehl auf den "umgebogenen" Befehl ändern?
Gruß,
Christian
Falls man im SetFn kein readings*Update verwendet, dann wird STATE auf das set-Argument gesetzt.
Also entweder readings*Update verwenden oder die Werte zum Rechnen in einem anderen Reading abspeichern.
Zitat von: C_Herrmann am 15 März 2014, 19:57:05Im State steht aber "pos 12".
Als erstes solltest Du Dich bitte entscheiden, ob Du von "state" oder "STATE" sprichst, denn "State" gibt es nicht und zwischen den ersten beiden bestehen gravierende Unterschiede in deren Handhabung.