-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by akurka,
1. Jun 2014
Hallo Jonas,
Vielen Dank für den Code Beispiel.
Entschuldige, dass ich mich so lange nicht gemeldet habe.
Im moment habe ich ein Problem mit FPGA(VHDL)Programm der schnellstens gelöst sein muss.
Beim ersten Durchsicht vom AsycProf suchte ich vergebens nach
"onCTS" Event. Den brauche ich um nachfolgend den ersten Byte
einzulesen, weil dort die Information ist, wie lang die gesamte Meldung...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by akurka,
1. Jun 2014
Hallo Jonas,
Vielen Dank für den Code Beispiel.
Etschuldige, dass ich mich so lange nicht gemeldet habe.
Im moment habe ich ein Problem mit FPGA(VHDL) der schnellstens
gelöst sein muss.
Beim ersten Durchsicht vom AsycProf suchte ich vergebens nach
"onCts" Event. Den brauche ich um nachfolgend den ersten Byte
einzulesen, weil dort die Information ist wie lang die gesamte Meldung ist....
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by akurka,
27. Mai 2014
Hallo Jonas,
vielen Dank für Deine Empfehlung.
Habe zuerst mal die Bibliothek & Guide downloaded.
Die Doku ist sehr umfangreich, nun will ich mir zuerst ein Ueberblick
veschaffen. Heute mache ich sowieso nicht viel ( ist mein Trainingstag in der Kletterhalle).
Ich bin gespannt auf Dein Codebeispiel.
Es ist so, dass die Kommunikation über RS232 bei dem CNC-Bedienprogramm ein Schlüsselelement...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by akurka,
26. Mai 2014
Hallo Sir Rufo,
So kompliziert ist es nicht :
im erste Byte (MldgTyp) wird definiert, um was für Meldung es sich handelt (ist eine Nummer). Diese entscheidet darüber, wie lang die Meldung sein wird.
Siehe getblk, Putblk, Hauptprogr.
Diese Meldungen werden in verschiedenen Records gespeichert und sollen
aus allen Menüs zugreiffbar sein (Global var)
In der Beilage eine kurze Beschreibung der...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by akurka,
26. Mai 2014
Hallo ,
Noch ein Zusatz : Das ZBETR im Status Meldung (Record Status) entscheidet darüber in welchem Menü man sich befindet (es hat 16 mögliche Betriebswahl
stellungen). Bei der Aenderung von ZBETR soll möglist schnell in ein anderes
Menü gewechselt werden. Darum meine Frage wegen eigene Ereignisse.
Gruss Anton
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by akurka,
26. Mai 2014
Hallo
Vielen Dank für Euere Bemühungen aber meine Verwirrung ist jetzt definitiv
komplett.
Ich glaube am besten statt tropfenweise Informationen, sende ich
zugleich die Beschreibung der gesammte Programmstruktur wie es jetzt im altem Pascal Programm ablauft. Siehe Beilage(Globale Variablen :NC__09= hier sollen die div.Meldungen von der CNC gespeichert, CNC_PC_comm.txt = Gesamtbeschreib der...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by akurka,
26. Mai 2014
Hallo Sir Rufo
Danke für Dein Vorschlag, etwas ist mir nicht ganz klar.
Heisst es, dass ich die Komponente für ComPort(TVaComm) gar nicht benützen muss und direkt WinAPI funktionen brauchen an diesen Stellen ??
(// Warten auf ein Empfangs-Signal resp. // Irgendwie den Status empfangen)
Nur taucht da ein anderes Problem auf.
Von der CNC kommt nicht nur Status, sondern auch andere...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by akurka,
26. Mai 2014
Hallo,
Da der Record nur durch RS232 abgefüllt wird, werde ich
beim Empfang fertig ein Flag setzen, und beim beginn des Empfangs
natürlich rücksetzen. Dies lässt sich leicht lösen in der OnRXBuff procedur.
Das wäre dann die Freigabe um die Daten zu lesen.
(die Status Daten von der CNC werden nur gelesen).
Es scheint mir, dass Ihr Experten euch nicht ganz einig sind, ist das so ?
mfg Anton
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by akurka,
26. Mai 2014
Hallo Himitsu,
danke für den Hinweis, wenn ich also Dein Beispiel auf meine
Anwendung anpasse, ist es so Richtig :
//zuerst Typendeklaration
TMyClass = procedure DoChange; // hier drin wird das OnChange-Event ausgelöst
FMyProp: Byte;
procedure SetMyProp(Value: Byte);
property MyProp: Byte read FMyProp write SetMyProp;
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by akurka,
26. Mai 2014
Hallo Jonas, vielen Dank , das ist es, was ich gesucht habe !
Die übrige Bytes aus Status records werden zwar benötigt, aber müssen
keine ereignis auslösen. Ist es richtig, dass die Typendeklaration für Status
dann insgesamt wie folgt aussehen wird :
T_CNCStatus =packed record
private
FZbetr: byte;
...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by akurka,
25. Mai 2014
Hallo Himitsu,
Soviel ich in der letzte Zeit gelesen habe, soll Delphi eine Ereigniss orientierte Sprache.
Selbstverständlich kann man es mit Vergleich alt/neu
lösen, das ist sogar bereits im meinem uraltem Pascalprogramm so realisiert.
Aber ich will es ja neu schreiben.
Ich meinte, ahnlich wie die standard Ereignisse wie z.Bsp OnClick sollte man
auch eigene Ereigniss "OnChange" für...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by akurka,
25. Mai 2014
Hallo Zeras
Ja, dass ist im bisherigem (pascal)Programm so, aber das ist nicht umbedingt
OOP like(resp Delphi like). Ich soll vielleicht erwähnen das der Status eine Globale var ist. Ausserdem befinde ich mich in x_te Menü(x_te Form) und die Componente für Async32(auch Ereignis gesteuert) läuft völlig autonom. Ich möchte nicht wieder in das alte Schema von Polling hinein kommen.
Ich möchte...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by akurka,
25. Mai 2014
Hallo Zeras
Ja, der Record wird ausschliesslich durch RS232 abgefüllt . Allerdings
kann es passieren (in Mehrheit der Fälle), dass die Daten exakt die gleichen
sind. Der ZBETR = Betriebswahl ändert nicht so schnell, ich soll aber nur bei einer Aenderung ein Erreignis (OnChange ) haben.
Gruss Anton
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by akurka,
25. Mai 2014
Hallo
Folgende Situation :
//----------------------------------
T_CNCStatus = packed record
Kopf :byte;
ZBETR :byte;
ZREFE :byte;
FLAG :byte;
//
//usw. total 16 Byte