AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi CPort -> Parity und FlowControl Einstellungen
Thema durchsuchen
Ansicht
Themen-Optionen

CPort -> Parity und FlowControl Einstellungen

Ein Thema von hirnstroem · begonnen am 31. Okt 2006 · letzter Beitrag vom 31. Okt 2006
Antwort Antwort
hirnstroem

Registriert seit: 21. Sep 2005
297 Beiträge
 
Delphi 2006 Professional
 
#1

CPort -> Parity und FlowControl Einstellungen

  Alt 31. Okt 2006, 08:26
'loha Folks,

ich suche nach einer Möglichkeit, um die Parity und FlowControl des COM-Ports zu setzen. Die verwendete Komponente ist die ComPort Library ver. 3.0.

Normalerweise werden diese Einstellungen über ein zur Laufzeit generiertes Fenster gemacht. Da ich die Einstellungen allerdings über ein Webinterface machen muss, kann dieses Fenster nicht verwendet werden.

Die folgenden Einstellungen können reibungslos gemacht werden (die Werte kommen aus einer Datenbank):
Delphi-Quellcode:
  IWServerController.ComPort.Port :=
    ADODataSet_BusParameter.FieldByName('COMPort').Value;
  IWServerController.ComPort.BaudRate :=
    StrToBaudRate(ADODataSet_BusParameter.FieldByName('BaudRate').Value);
  IWServerController.ComPort.DataBits :=
    StrToDataBits(ADODataSet_BusParameter.FieldByName('DataBits').Value);
  IWServerController.ComPort.StopBits :=
    StrToStopBits(ADODataSet_BusParameter.FieldByName('StopBits').Value);
Für sämtliche Einstellungen werden diese StringToIrgendwas Funktionen bereitgestellt, auch für Parity und FlowControl. Allerdings ist es so, dass z.B. die Eigenschaft Parity des COM-Ports vom Typ TCOMParity ist, die entsprechende Konvertierung (StrToParity) aber den Typ TParityBits verlangt. Bei der FlowControl dasselbe, die Eigenschaft hat den Typ TCOMFlowControl, die Konvertierung verlangt ABER TFlowControl.

Kennt jemand eine Möglichkeit, diese zwei Eigenschaften direkt im Code zu setzen und wäre zudem so nett sie mir mitzuteilen?

Parity und FlowControl werden in meinem Fall auf jeden Fall die Eigenschaft None haben.

Vielen Dank.
Grüsse
hirnstroem
inde deus abest
  Mit Zitat antworten Zitat
hirnstroem

Registriert seit: 21. Sep 2005
297 Beiträge
 
Delphi 2006 Professional
 
#2

Re: CPort -> Parity und FlowControl Einstellungen

  Alt 31. Okt 2006, 08:34
*sternkreuzrautetotenkopffluch*

Delphi-Quellcode:
  IWServerController.ComPort.Parity.Bits := prNone;
  IWServerController.ComPort.FlowControl.FlowControl := fcNone;
inde deus abest
  Mit Zitat antworten Zitat
hirnstroem

Registriert seit: 21. Sep 2005
297 Beiträge
 
Delphi 2006 Professional
 
#3

Re: CPort -> Parity und FlowControl Einstellungen

  Alt 31. Okt 2006, 10:24
Langsam nervt die Sache.

Die Situation ist folgende:

An einem Server ist ein USB-CAN-Dongle angeschlossen, welcher über einen virtuellen COM-Port angesprochen wird.

Um mit den über einen CAN-Bus am CAN-USB-Dongle angeschlossenen Geräten zu kommunizieren, habe ich eine normale Delphi VLC-, sowie eine Webapplikation geschrieben. Die normale Delphi VLC-Applikation dient aber nur zu Testzwecken. Wie auch immer.

In der Testapplikation werden folgende COM-Port Einstellungen gemacht:

Port: COM4
Baud rate: 57600
Data bits: 8
Stop bits: 1
Parity: None
Flow control: None

Diese lassen sich über ein zur Laufzeit von der CPort Library erzeugtes Fenster tätigen.

In der Webapplikation versuche ich dieselben Einstellungen zu machen, bin auch mehr oder minder überzeugt, dass diese korrekt sind, aber die Kommunikation kommt nicht zu Stande. Der Code, in welchem diese Einstellungen gemacht werden sehen folgendermassen aus:

Delphi-Quellcode:
  with ComPort do
  begin
    Connected := True;
    Port := 'COM4';
    BaudRate := StrToBaudRate('57600');
    DataBits := StrToDataBits('8');
    StopBits := StrToStopBits('1');
    Parity.Bits := prNone;
    FlowControl.FlowControl := fcNone;
  end;
Nun versende ich irgendwelche Strings.

ComPort.WriteStr('T000000018B0A1010203040510'#$D) ^^ Dieser String über meine Testapplikation abgesetzt, öffnet einen Rollladen im Büro nebenan, so dass es mir möglich ist, zu sehen, ob die Sache funktioniert oder nicht. Denselben String über die Webapplikation abgesetzt hat keine Wirkung.

Sind die Einstellungen, welche über das COM-Port Setup Fenster gemacht werden dieselben wie jene, welche ich im Code mache? Oder übersehe ich da etwas grundlegendes?!

Beim öffnen des COM-Ports wird keine Fehlermeldung ausgegeben, deshalb nehme ich an, dass da schon irgendetwas verbunden ist.

Grüsse
hirnstroem
inde deus abest
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:32 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