AW: Exception während RS232 Datenempfang
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Klaus
Ich sende dir ein Offline Simulation Demo-programm der die CNC mit der Bediensoftware zusammen simmuliert. Allerdings nur die Stellungen MAN/REF, PROG,und AUTm es ist ein bisschen Spielzeug. Das Programm habe ich nur vor paar Jahren schnell zusammengestellt, ist nicht ganz proper. Im CNC Menue werden laufend Meldungen Angezeigt wie im echtem Betrieb So hast Du Vorstellung wie das ganze Ablaufen soll. Das jetztige Programm ist natürlich an die echte CNC über RS232/422 angebunden. Gruss Anton |
AW: Exception während RS232 Datenempfang
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Klaus
Entschuldige, das vorher war nicht komplett. Gruss Anton |
AW: Exception während RS232 Datenempfang
Hallo Anton,
danke, kannst Du mir vielleicht noch die Unit mit den Message Konstanten geben? TH_MESSAGE, TH_DATAM, TH_CONNECTED, TH_ERROR, TTH_SEND,... Grüße Klaus |
AW: Exception während RS232 Datenempfang
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo Klaus
Vielen Dank Für Deine Hilfe. Anbei NCTB__09.pas sowie Aufzeichnung der ersten Meldungen an der RS232. Gruss Anton |
AW: Exception während RS232 Datenempfang
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Anton,
ich habe mal versucht alles etwas zu entzerren. Neu ist eine Thread: cncDataReceiver Der liest Daten von dem comport und packt die Meldungen in die Queue fInMessageQueue. Diese Queue wird von dem Thread cnsMessageDispatcher gelesen. Die Meldungen werden dort verarbeitet und entsprechende Messages gepostet. Die Daten die zum comport geschickt werden sollen werden von dem Thread cncDataTransmitter verarbeitet. Die Input Daten bekommt der Thread aus der fOutMessageQueue. Die fOutMessageQueue wird in der F_MainWindow unit gefüllt. fInMessageQueue und fOutMessageQueue basieren auf TThreadQueue. TThreadQueue ist ein thread-Safe TQueue. Daten vom und zum comPort werden nun gepuffert Ich kann nicht versprechen, dass das alles auf Anhieb läuft, dazu sind die Umbauten zu groß. Grüße Klaus |
AW: Exception während RS232 Datenempfang
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Klaus
Da bin ich wieder, da gibt es Problem wegen Klassenvererbung. TCncMessageTransmitter =class(TThread).. ich habe probiert (TCNCDataReceiver) das ist doch die Bassisklasse ? aber das funktioniert nicht. siehe Beilage, Fehler in Zeile 17 Gruss Anton |
AW: Exception während RS232 Datenempfang
Hallo Anton,
tut mir leid -mein Fehler. TCncMessageTransmitter hat als Basisklasse TThread. Kannst Du bitte das override am Ende der Create Definition entfernen? Das gleiche dann bitte auch noch bei TCncDataReceiver. Grüße Klaus |
AW: Exception während RS232 Datenempfang
Hallo Klaus
leider der nächste im cncDataReceiver: geQueue: TThreadQueue<TMeldung>; const comport: shortInt; const destHande: THandle); [dcc32 Fehler] cncDataReceiver.pas(26): E2037 Deklaration von 'create' unterscheidet sich von vorheriger Deklaration Grüsse Antin |
AW: Exception während RS232 Datenempfang
Delphi-Quellcode:
TCncDataReceiver = class(TThread)
private fCommTest: TOptiNumericComm; fMessageQueue: TThreadQueue<TMeldung>; fComPort: ShortInt; fDestHandle: THandle; function receiveDataCom: TMeldung; public constructor create(var messageQueue: TThreadQueue<TMeldung>; const comport: shortInt; const destHandle: THandle); override; destructor destroy; override; procedure Execute; override; end;
Delphi-Quellcode:
.. wenn Du das override wieder hereinnimmst.
constructor TCncDataReceiver.create(var messageQueue: TThreadQueue<TMeldung>; const comport: shortInt; const destHande: THandle);
begin inherited create(true); fCommTest := TOptiNumericComm.Create; fMessageQueue := messageQueue; fComPort := comPort; fDestHandle := destHandle; suspended := false; end; TThread.create() hat eine andere Signatur. Also müsste override gesetzt werden. Grüße Klaus |
AW: Exception während RS232 Datenempfang
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Klaus
Geht leider nicht, siehe Beilage. Grüsse Anton |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz