Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TM - Plant Simulation
  SensorID von gerade aktiven Sensor zurückgeben

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  SensorID von gerade aktiven Sensor zurückgeben (1334 mal gelesen)
Erwin_S
Mitglied



Sehen Sie sich das Profil von Erwin_S an!   Senden Sie eine Private Message an Erwin_S  Schreiben Sie einen Gästebucheintrag für Erwin_S

Beiträge: 37
Registriert: 13.08.2006

erstellt am: 01. Nov. 2007 09:29    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

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



Sehen Sie sich das Profil von Erwin_S an!   Senden Sie eine Private Message an Erwin_S  Schreiben Sie einen Gästebucheintrag für Erwin_S

Beiträge: 37
Registriert: 13.08.2006

erstellt am: 01. Nov. 2007 13:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Wow! Danke Stephan!

Das klappt. Auf die Idee mit position=@.bugpos wäre ich nie gekommen!

Gruß Erwin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

TailerMalfuss
Mitglied


Sehen Sie sich das Profil von TailerMalfuss an!   Senden Sie eine Private Message an TailerMalfuss  Schreiben Sie einen Gästebucheintrag für TailerMalfuss

Beiträge: 1
Registriert: 16.08.2007

erstellt am: 02. Nov. 2007 10:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Erwin_S 10 Unities + Antwort hilfreich

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



Sehen Sie sich das Profil von Erwin_S an!   Senden Sie eine Private Message an Erwin_S  Schreiben Sie einen Gästebucheintrag für Erwin_S

Beiträge: 37
Registriert: 13.08.2006

erstellt am: 06. Nov. 2007 09:35    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Sauber! Das ist ja noch einfacher. Vielen Dank für Eure gute Hilfe!

Erwin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz