Autor
|
Thema: SensorID von gerade aktiven Sensor zurückgeben (1334 mal gelesen)
|
Erwin_S Mitglied
Beiträge: 37 Registriert: 13.08.2006
|
erstellt am: 01. Nov. 2007 09:29 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich möchte gerne die SensorID des gerade vom Fahrzeug aktivierten Sensors ausgegeben bekommen. Bei der Methode SensorNr oder SensorID muss man - wenn ich das richtig verstehe - immer einen bestimmten Sensor (z.B. SensorNr(4)) angeben, daher glaube ich, dass mein Wunsch garnicht möglich ist. Aber vielleicht hat ja doch jemand von Euch ne Idee. Würde mich sehr freuen. Gruß Erwin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 01. Nov. 2007 12:49 <-- editieren / zitieren -->
entweder so Code:
is i :integer; tab :table[integer,string]; do tab.create; for i:=1 to ?.anzahlsensoren loop tab[1,tab.ydim+1]:=?.sensornr(i).id; tab[2,tab.ydim]:=sprint(?.sensorid(?.sensornr(i).id).position);--string wg Dezimalstellen next; tab.zeigery:=1; tab.finden(`[2,1]..`[2,*],sprint(@.bugpos));--string wg Dezimalstellen print tab[1,tab.zeigery]; end;
oder so Code:
is i :integer; do i:=0; repeat i:=i+1; until ?.sensorid(?.sensornr(i).id).position=@.bugpos or i=?.anzahlsensoren; print i; end;
Wenn ich so recht ueberlege, reicht im 2. Beispiel Code:
until ?.sensorid(?.sensornr(i).id).position=@.bugpos;
denn bei einer normal laufenden Simulation kann kein Zustand entstehen, bei dem der Index "i" groesser wird als die Sensorenanzahl der jeweiligen Wegstrecke.
------------------ Stephan Römberg COMAU Deutschland GmbH
[Diese Nachricht wurde von COMAU am 01. Nov. 2007 editiert.] |
Erwin_S Mitglied
Beiträge: 37 Registriert: 13.08.2006
|
erstellt am: 01. Nov. 2007 13:19 <-- editieren / zitieren --> Unities abgeben:
|
TailerMalfuss Mitglied
Beiträge: 1 Registriert: 16.08.2007
|
erstellt am: 02. Nov. 2007 10:10 <-- editieren / zitieren --> Unities abgeben: Nur für Erwin_S
Hi Erwin, wenn Du in der als Sensorsteuerung angegebenen Methode einen Integer-Parameter definierst (siehe Codebeispiel), dann übergibt PlantSimulation die ID des Sensors, der diese Steuerung ausgelöst hat. Code: (triggeredSensorID: integer)is do print "triggeredSensorID: ", triggeredSensorID; end;
Gruß
T. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Erwin_S Mitglied
Beiträge: 37 Registriert: 13.08.2006
|
erstellt am: 06. Nov. 2007 09:35 <-- editieren / zitieren --> Unities abgeben:
|