|
Autor
|
Thema: Zeitleiste sample auf Wert in Tabelle (2458 mal gelesen)
|
Schreiber123 Mitglied
 Beiträge: 7 Registriert: 18.02.2012
|
erstellt am: 25. Feb. 2012 19:47 <-- editieren / zitieren --> Unities abgeben:         
Guten Abend, ist es möglich mit Hilfe einer Zeitleiste einen Wert aus einer Tabelle zu überwachen, bzw. mitzuschreiben? z.B. Aufzeichnen-> Wert: tabelle[1,1] Das funktioniert so einfach leider nicht Oder gibt es eine andere Möglichkeit ein Tabellenfeld auf Änderungen zu überwachen? Bei mir greifen zu viele Funktionen und Schleifen in die Tabelle, da ist es relativ unsinnig überall noch die eine spezielle ID in den Methoden herauszufiltern. Ich hoffe auf Hilfe. Danke! Vielen Dank! [Diese Nachricht wurde von Schreiber123 am 26. Feb. 2012 editiert.]
[Diese Nachricht wurde von Schreiber123 am 26. Feb. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dst Mitglied

 Beiträge: 23 Registriert: 11.12.2007 PlantSimulation 8.1 PlantSimulation 9.0 PlantSimulation 10.0
|
erstellt am: 27. Feb. 2012 14:45 <-- editieren / zitieren --> Unities abgeben:          Nur für Schreiber123
In der Hilfe steht dazu folgendes: Geaendert / Changed Syntax: <Pfad>.Geaendert;
Plant Simulation setzt das Attribut Geaendert auf true, wenn sich der Inhalt der Tabelle geändert hat. Sie können das Attribut jederzeit auf false zurücksetzen, um eine Änderung zu einem späteren Zeitpunkt festzustellen. Sie können einen Wert des Datentyps boolean zuweisen. Beispiel: is do while true loop Tabelle.Geaendert := false; stopuntil Tabelle.Geaendert prio 1; print "Inhalt der Tabelle hat sich geändert."; print "Neue Summe aller Werte: ", Tabelle.sum"; end; end; Alternativ einen Beobachter definieren auf das Attribut "geaendert". Im Tabellenmenü unter Extras--Beobachter auswählen. Das Attribut muss halt nach jeder Änderung wieder auf FALSE gesetzt werden, sonst wird die nächste Änderung nicht mehr erkannt.
Grüße dst Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Schreiber123 Mitglied
 Beiträge: 7 Registriert: 18.02.2012
|
erstellt am: 27. Feb. 2012 15:00 <-- editieren / zitieren --> Unities abgeben:         
Hmm, daran hatte ich auch schon kurz gedacht und das ist schonmal ganz gut. Leider kann ich damit auch nur ganze objekte überwachen. Habe je Lauf ca 30.000 zugriffe auf besagte tabelle und was ich anstrebe ist ohne viel rechenaufwand die Bestandshöhe einer bestimmten ID zu überwachen. Also optimal ein change ereignis auf nur ein tabellenfeld. Würde ja etliche rechenoperationen sparen. Ich versuch mich erstmal an der change prozedur auf dem objekt und schau mal wie sich das zeitlich auswirkt. LÖsungen sind noch immer gerne erwünscht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dst Mitglied

 Beiträge: 23 Registriert: 11.12.2007 PlantSimulation 8.1 PlantSimulation 9.0 PlantSimulation 10.0
|
erstellt am: 27. Feb. 2012 15:16 <-- editieren / zitieren --> Unities abgeben:          Nur für Schreiber123
hm, einen einzigen Tabelleneintrag kann man glaube ich nicht beobachten. Je nach Tabellengröße wäre das für die Laufzeit wahrscheinlich auch nicht so toll ... Wieviele Einzelwerte willst Du denn überwachen? Als Notlösung könntest Du diese Werte zusätzlich in Variablen schreiben und diese dann überwachen. Ist nicht optimal, aber als Workaround vielleicht möglich. Grüße dst Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| | Werkstudent (m/w/d) R&D Sustaining Engineering | Werden Sie Teil unserer vielfältigen Teams, die aus leidenschaftlich engagierten Mitarbeitern bestehen, und wählen Sie einen Karriereweg, der es Ihnen ermöglicht, sich sowohl persönlich als auch beruflich weiterzuentwickeln. Wir bei Getinge engagieren uns dafür, dass jeder Mensch und jede Gemeinschaft Zugang zur bestmöglichen Gesundheitsversorgung hat. Wir bieten Krankenhäusern und Life-Science-Einrichtungen ... | | Anzeige ansehen | Studentenjobs, Werkstudent |
|
der simulant Mitglied

 Beiträge: 71 Registriert: 28.02.2007 ----------- der simulant
|
erstellt am: 13. Mrz. 2012 10:56 <-- editieren / zitieren --> Unities abgeben:          Nur für Schreiber123
Hallo, anbei ein Lösungsvorschlag den ich immer benutze (überwachen eine Zelle) while Tabelle[1,1] /= 0 loop Tabelle.Geaendert := false; stopuntil Tabelle.Geaendert prio 1; end; Hoffe ich konnte weiterhelfen
Gruß der simulant Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |