Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TM - Plant Simulation
  SimTalk - Störungen

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:  SimTalk - Störungen (3459 mal gelesen)
nike77
Mitglied



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

Beiträge: 12
Registriert: 29.06.2005

erstellt am: 29. Jun. 2005 09:51    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 zusammen!

Erstmal kurz zu mir als Neuling in diesem Forum:
Bin Student der Wirtschaftsinformatik mit Spezialisierung auf Logistik. Für mein Diplom mache ich zur Zeit eine Gesamtwerksimulation mit Realdatenanbindung für DaimerChrysler u.a. mit eM-Plant in der Version 7.09. Nebenher habe ich als stiller Leser schon einige nützliche Informationen hier rausgelesen.

Nun zu meiner Frage. Via COM-Modul und SimTalk lese/schreibe ich die Einstellungnen der Bausteine. Wenn ich aber unter SimTalk eine Störung MTTR / Verfügbarkeit lesen will und im Dialog Störungen-Verfügbarkeit nicht angehakt ist bekomme ich die Fehlermeldung:

"Die Darstellung der Parameter Verfügbarkeit und MTTR ist nicht aktiviert."

Und die Methode läuft nicht bis zum Ende durch / bricht ab.

Wie kann ich in SimTalk diese Darstellung von Materialflußbausteinen aktivieren / deaktivieren, um eine einheitliche Funktionalität zu gewährleisten.

Alternativ, wie kann die Methode doch noch weiterlaufen und der Fehler abgefangen werden (try-catch / except) wie in anderen Programmiersprachen üblich.

Viele Grüße,
nike77

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

Opa
Mitglied
Selbständiger Simulationsexperte


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

Beiträge: 62
Registriert: 16.06.2005

eM-Plant 7.6 / 8.2
Development License

erstellt am: 29. Jun. 2005 11:55    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 nike77 10 Unities + Antwort hilfreich

In der Hilfe habe ich folgendes gefunden:

...
Example:  Parallelstation.Verfügbarkeit := 80.3; -- Prozent 
Sie können die Verfügbarkeit nur erfolgreich abfragen, wenn Sie die Darstellung Verfügbarkeit % und MTTR gewählt haben, ansonsten öffnet eM-Plant den Debugger!
...

Soweit so gut, das wissen wir ja! Aber weiter heisst es:

...
Wenn Sie die Darstellung Abstand und Dauer ausgewählt haben und einen Wert für die Verfügbarkeit % zuweisen, entweder in SimTalk, im AttributExplorer, usw., ändert eM-Plant die Darstellung zu Verfügbarkeit % und MTTR, benutzt den Wert, den Sie für die Verfügbarkeit % eingetragen haben und weist einen Standardwert von 1 Stunde für die MTTR zu. 
...

Das heisst, man soll auf Verfügbarkeit umstellen können, wenn man Verfügbarkeit % (MTTR) zuweist - das Häckchen soll sich dann selbst setzen. Tut's aber nicht, habe ich getestet mit dem AttributExplorer! Sieht mir aus wie ein Fehler in der Hilfe!

Ansonsten habe ich in "Attribute und Methoden anzeigen" auch nichts gefunden, wie man über SimTalk das Häckchen setzen kann.

Das heisst für mich: man muss das Häckchen "manuell" setzen, am Besten im Ursprungsobjekt, um sowohl MTTR zuweisen als auch abfragen zu können.

Tja, schön ist das nicht! Vielleicht weiß der Simulator mehr???

Des weiteren: man kann abstellen, ob bei Fehlern angehalten wird (s. Hilfe):
...
anhaltenBeiFehlern, setErrorStop
Usage:  anhaltenBeiFehlern(<boolean> );
setErrorStop(<boolean> ); 

Die Methode anhaltenBeiFehlern aktiviert (true) oder deaktiviert (false) die Funktion Fehler ignorieren über den Informationsfluß. Wenn sie aktiv ist, hält eM-Plant die Simulation an, nachdem ein Fehler in der aktiven Methode auftrat, öffnet den Debugger, und markiert die fehlerhafte Zeile im Code. Wenn Sie den Debugger schließen, beendet eM-Plant die gesamte Aufrufkette. Wenn die Ereignisliste im Ereignisverwalter weitere Ereignisse enthält führt eM-Plant die Simulation weiter aus.

Example:  anhaltenBeiFehlern(false); 
...

Wenn anhaltenBeiFehlern ausgeschaltet (false) ist, wird die gesamte Aufrufkette abgebrochen, die Fehlermeldung gedruckt und mit dem nächsten Ereignis weitergemacht. Daher habe ich das nie so eingestellt!

Andere Funktionen wie "On Error" etc. gibt es meines Wissens bei SimTalk nicht (nur bei GAOptimierung).

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

nike77
Mitglied



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

Beiträge: 12
Registriert: 29.06.2005

erstellt am: 29. Jun. 2005 17:00    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 Opa!

Danke für Deine Hilfe. Habe jetzt einfach Standardmaessig mit Abstand/Dauer gearbeitet und rechne händisch zwischen den Wertpaaren (Verfügbarkeit / MTTR) um, wie in einem anderen Artikel schonmal gepostet.

Wichtig: setzeParam und nicht die verwenden, da laut Tecnomatix-Hotline scon einige Kunden mit direktem Setzen der Werte in die einzelnen Variablen Probleme hatten.

Gruß
nike77

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

hal6000
Mitglied


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

Beiträge: 1
Registriert: 03.08.2005

erstellt am: 04. Aug. 2005 12:59    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 nike77 10 Unities + Antwort hilfreich

hallo opa,

einfach das Anhalten bei Fehlern auszuschalten führt dazu, dass die Aufrufkette abgebrochen wird. Ich glaube nicht, dass dies in der Regel gewünscht ist.

Um diesen Fall sauber abzuprüfen bietet sich die Execute Methode an, mit der man jeglichen Unfug machen kann ohne einen Abruch der Aufrufkette zu risikieren.

Unten folgt ein Beispiel zum Thema verfügbarkeit:

Gruss, hal6000

is
obj : object;
str : string;
attrOK : boolean;
do
obj := singleproc;
str := "(obj : object) : boolean is do obj.verfügbarkeit; result := true; end;";

attrOK := executeSilent(str, obj);

if attrOK then
-- der Zugriff auf das Attribut verfügbakeit war zulässig und führte
-- nicht zum Abbruch der ausgeführten execute-Anweisung. Daher wird die Zuweisung
-- result := true abgearbeitet und der Rückgabewert der execute-Anweisung ist true
print "zugriff möglich";
else
-- der Zugriff auf verfügbakeit war nicht möglich. die abarbeitung der execute-Anweisung
-- wurde abgebrochen, die zuweisung result := true wurde nicht abgearbeitet. Der
-- Rückgabewert ist daher false
print "zugriff nicht möglich";
end;

end;


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


Ex-Mitglied

erstellt am: 17. Sep. 2005 17:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

und es gibt sie doch, die Fehlerbehandlungsmethode in SIMTALK !
"setzeFehlerbehandlungsmethode(ref(fehlermethode))" heißt sie.

Aber wie bereits hal6000 beschrieben hat, wird auch hier anscheinend die Aufrufkette unterbrochen, sobald ein Methodenfehler erkannt wird.

Gruss

------------------
DER SIMULATOR 

Homer Simpson
Mitglied



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

Beiträge: 345
Registriert: 14.09.2005

erstellt am: 19. Sep. 2005 09:56    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 nike77 10 Unities + Antwort hilfreich

Eine vernünftige Fehlerbehandlung ist erst in Version 7.5 möglich. Dort kann man für jede Methode einzeln entscheiden, ob Exception-Handling durchgeführt wird, und ob der Fehler behandelt oder im Call-Stack weitergereicht wird. (Siehe "ErrorHandler" in der Online-Hilfe.)

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