Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Komponente installieren
Gintonik - Sa 23.02.08 14:57
Titel: Komponente installieren
Hallo,
ich möchte gerne Daten aus dem COM-Port einlesen und habe die Empfehlung bekommen dazu die SerialNG zu benutzen. Ich bekomme die aber nicht installiert.
Meine Frage:
Hat einer das schonmal installiert bzw. kann mir einer behilflich sein bei der installation?
Und erscheint die Komponente nach der Installation oben in der Komponentenleiste?
Thx...
PS: Ich komme mit der readme nicht zurecht welche Informationen zur Installation enthält.
Delete - Do 06.10.11 09:58
Moderiert von Narses: Komplett-Zitat des letzten Beitrags entfernt.
habe das dpk für delphi 7 mit eingefügt pfade auch und er sagt mir
[Warnung] Die Unit 'CommPortList' wurde implizit in Package 'SerialNGCmp' importiert
und jetzt weiss ich nicht genau wie ich das programm starte um zu kommunizieren welche datei muss ich starten ?
er sagt mir wenn ich debugge ich muss Start / PArameter angeben (eine exe datei) da gibts aber nur die exe für portlist im portlist ordner muss ich die dafür nehmen oder wie starte ich jetzt das programm.. ich sehe im ordner von serielng nur meherere demos!? welche ist die richtige um port zum seriellen gerät öffnen zu können und dann strings hinsenden zu können ?!
---
Moderiert von Narses: Beiträge zusammengefasst---
ich habe das jetzt hinbekommen das prog funzt habe auf komp installieren in vorhanders pack und die commportlist unit eingefügt jetzt starte ich die seriell ng advanced demo und klicke bei settings auf open port COM4 stelle alle daten ein bei settings dann gehe ich auf string sende und gebe:
die befehle speziell für mein gerät zum connecten lauten: 0000sr<ENQUIERY> (<ENQUIERY> = Control E bzw 05 hex)
dann müsste eignetlich schon ein 06 zurück kriegen = Control F = ACKNOWLEDGE vom gerät zurückkommen, dass er es gemerkt hat.
danach habe ich ein (02 (hex=Control B = START OF TEXT)) <BEFEHL> dann (<LF> CONTROL J) dann (03 (hex = CONTROl C = END OF TEXT))
Die Befehle habe ich alle als String eingegeben also so sieht das komplett aus wenn man mit einem anderen Programm wie REALTERM mit dem Gerät kommuniziert: => ist immer was ich eingebe und - immer was zurückkommt.
=> 030 030 030 030 s73 r72 Connect
=> 05 ENQUIRY
-06 ACKNOWLEDGE vom Gerät
=> 02 START OF TEXT
=> :3A D44 I49 S53 P50 :3A B42 A41 C43 K4B ?3F 20 131 // Licht an - (BEFEHL)
=> 0A NEW LINE /n
=> 03 END OF TEXT
-06 ACKNOWLEDGE vom Gerät
=> 04 END OF TRANSMISSION
Licht aus:
3A D44 I49 S53 P50 :3A B42 A41 C43 K4B ?3F 20 030 statt das oben
Beim log sehe ich jedoch nur
Msg 06.10.11 10:29:16 :Code 0 at 110 Text: Msg start reactivating Port
Msg 06.10.11 10:29:16 :Code 2 at 112 Text: Error reopening Port
Msg 06.10.11 10:29:33 :Code 0 at 110 Text: Msg start reactivating Port
Msg 06.10.11 10:30:00 :ComEvent48
Msg 06.10.11 10:30:06 :ComEvent48
Msg 06.10.11 10:30:07 :ComEvent48
Msg 06.10.11 10:30:13 :ComEvent48
Msg 06.10.11 10:30:19 :ComEvent48
Hat er schon connectet? hat irgendwas geklappt? werde aus den
Weiss jemand wie man die Befehle oder wie man überhaupt contact über seriell ng mit dem gerät am COM 4 aufnimmt und wann ich sehe ob es geklappt hat. Welche demo muss ich dafür öffnen? die Serielladvdemo.dpr?
Delete - Fr 07.10.11 12:17
ich weiss jetzt wie ich die befehel eingebe im code
in der
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| procedure TForm1.ModemComm; /7sind diverse Aufrufe wie SerialPortNG1.SendString('AT'+#$0d); SerialPortNG1.SendString('030 030 030 030 s73 r72'+#$05); if WaitForAnswer(100) < 0 then begin memoResult.Lines.Add('Error: No Answer on'); Exit; end; s := SerialPortNG1.ReadNextClusterAsString; if (Length(s) = 1) and (s[1] = #$06) then |
ich habe jetzt folgendes problem, musste serialng nochmal neu drauf machen, beim installieren von Serial ng compiliert die datei SerialNGDll.dpr nicht mehr richtig
und gibt mir folgende fehlermeldung:
[Warnung] SerialNGDll.dpr(35): Unsicherer Typ 'PChar'
[Warnung] SerialNGDll.dpr(37): Unsicherer Typ 'procedure, untyped pointer or untyped parameter'
[Warnung] SerialNGDll.dpr(38): Unsicherer Typ 'procedure, untyped pointer or untyped parameter'
[Warnung] SerialNGDll.dpr(82): Unsicherer Typ 'PChar'
[Warnung] SerialNGDll.dpr(86): Unsicherer Typ 'PortName: PAnsiChar'
[Warnung] SerialNGDll.dpr(113): Unsicherer Typ 'procedure, untyped pointer or untyped parameter'
[Warnung] SerialNGDll.dpr(122): Unsicherer Typ 'PChar'
[Warnung] SerialNGDll.dpr(122): Unsicherer Code '@ operator'
[Warnung] SerialNGDll.dpr(132): Unsicherer Typ 'procedure, untyped pointer or untyped parameter'
[Warnung] SerialNGDll.dpr(140): Unsicherer Code '@ operator'
Die anderen SerialNGDemos laufen alle beim compilieren nur er öfnnet zum beispiel beim Quiet demo programm nicht den COM PORT vorhin ging es noch jetzt hab ich nochmal alles runter gemacht und drauf gemacht ,serial ng, jetzt kommen diese Fehlermeldungen beim compilieren. Er öffnet wahrs nicht weil die Serial ng dll .dpr nicht richtig compiliert wurde was hab ich vergessen Commportlist.pas habe ich auch schon ins dpk integriert!?
außerdem sagt er mir ich muss einen start parameter angeben welchen muss ich bei dieser SerialNGDll dpr angeben
Moderiert von Narses: Delphi-Tags hinzugefügt
Delete - Fr 07.10.11 12:57
Ich glaube nicht, dass sich viele für so ein uraltes "SerialNG" interessieren.
Da sind sicher viele Funktionen drin, die niemand mehr braucht.
Wenn ich mit USB-SERIAL-Wandler oder Modems kommuniziere, nehme ich was Einfaches, das keine Installation braucht.
Schau Dir erst mal Demos an, bevor Du etwas Eigenes entwickelst.
Hinweis:
Bei DELPHI 2009 /RAD6 folgende Änderung durchführen:
//function PosCRLF(const Value: AnsiString; var Terminator: AnsiString): integer;
function PosCRLF(const Value: String; var Terminator: String): integer;
ODER alternativ:
function TBlockSerial.RecvTerminated(Timeout: Integer; const Terminator: string): string;
var
s, t: Ansistring;
...
Delete - Fr 07.10.11 14:46
hathor hat folgendes geschrieben : |
Ich glaube nicht, dass sich viele für so ein uraltes "SerialNG" interessieren.
Da sind sicher viele Funktionen drin, die niemand mehr braucht.
Wenn ich mit USB-SERIAL-Wandler oder Modems kommuniziere, nehme ich was Einfaches, das keine Installation braucht.
Schau Dir erst mal Demos an, bevor Du etwas Eigenes entwickelst.
Hinweis:
Bei DELPHI 2009 /RAD6 folgende Änderung durchführen:
//function PosCRLF(const Value: AnsiString; var Terminator: AnsiString): integer;
function PosCRLF(const Value: String; var Terminator: String): integer;
ODER alternativ:
function TBlockSerial.RecvTerminated(Timeout: Integer; const Terminator: string): string;
var
s, t: Ansistring;
... |
Ich benutze Delphi 7, welches programm wären denn am besten um mit der Seriellen schnittstelle zu kommunizieren?? das mit SerialNg hat shcon fast funktioniert er hat schon port geöffnet und ich konnte glau bich auhc schon was hinschicken bin mir nur nicht sicher weil es dann probleme gab.. welche Komponente wäre denn deiner Meinung nach am Besten dafür geeignet, eine neuere? ,aber kompatibel mit delphi 7?!
Delete - Fr 07.10.11 15:22
Wie geschrieben:
Schau Dir erst mal Demos an, bevor Du etwas Eigenes entwickelst.
Mit DELPHI 7 geht das auch.
Was für ein Messgerät ist das ?
Herstellerlink, bitte !
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!