AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein c-control unit einbinde, dauersignal per rs232 möglich?
Thema durchsuchen
Ansicht
Themen-Optionen

c-control unit einbinde, dauersignal per rs232 möglich?

Ein Thema von tillitanglebob · begonnen am 16. Okt 2006 · letzter Beitrag vom 17. Okt 2006
Antwort Antwort
tillitanglebob

Registriert seit: 8. Okt 2006
Ort: Dresden
7 Beiträge
 
Delphi 6 Personal
 
#1

c-control unit einbinde, dauersignal per rs232 möglich?

  Alt 16. Okt 2006, 23:35
Wie alle Anfänger die mit der rs232 Schnittstelle arbeiten wollen, bitte auch ich um etwas Nachsicht in Bezug auf meine Fragen und meine Unfähigkeit viele der hier geposteten Quelltexte nachvollziehen zu können.
Mein Problem ist fogendes:
Ich will per rs232 Schnittstelle Befehle an meine C-Control Unit schicken, habe aber absolut keine Ahnung wie ich mitgelieferte Treiber oder die port.dll, von der hier immer mal wieder berichtet wird wo ich aber noch keinen Link zum downloaden gefunden hab, in mein Programm einbinden kann. (wie krieg ich zum Beispiel raus was für Funktionen die dll oder Treiber hat?; Wie kommuniziere ich mit sowas usw.)
Alernativ dazu wäre es auch möglich Dauerströme (wenn das denn möglich ist) an verschiedenen Pins der Schnittstelle auszugeben und darauf mit meiner Unit zu reagieren. Wie kann ich also Dauerströme ausgeben und geht das überhaupt?
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#2

Re: c-control unit einbinde, dauersignal per rs232 möglich?

  Alt 16. Okt 2006, 23:52
Zitat von tillitanglebob:
Ich will per rs232 Schnittstelle Befehle an meine C-Control Unit schicken, habe aber absolut keine Ahnung wie ich mitgelieferte Treiber oder die port.dll, von der hier immer mal wieder berichtet wird wo ich aber noch keinen Link zum downloaden gefunden hab, in mein Programm einbinden kann.
Port.dll ist für die parallele Schnittstelle verwendet worden. Bei der seriellen Schnittstelle wird kein Portzugriff nötig, da hier die WinAPI alles zur Verfügung stellt was man braucht.

Zitat von tillitanglebob:
(wie krieg ich zum Beispiel raus was für Funktionen die dll oder Treiber hat?; Wie kommuniziere ich mit sowas usw.)
Zum Beispiel mit dem bei Borland mitgelieferten Tool TDUMP.EXE oder einem anderen Tool deiner Wahl. Und die Kommunikation läuft im Normalfall durch Aufruf der von der DLL exportierten (für dich öffentlich gemachte) Funktionen ab.

Zitat von tillitanglebob:
Alernativ dazu wäre es auch möglich Dauerströme (wenn das denn möglich ist) an verschiedenen Pins der Schnittstelle auszugeben und darauf mit meiner Unit zu reagieren. Wie kann ich also Dauerströme ausgeben und geht das überhaupt?
Nein, ist nicht möglich, da eine serielle Schnittstelle eine serielle Kommunikation mit seinem gegenüber betreibt und keine parallele mit eigenem Takt. Die serielle Schnittstelle ist selbst-getaktet.
  Mit Zitat antworten Zitat
runger
(Gast)

n/a Beiträge
 
#3

Re: c-control unit einbinde, dauersignal per rs232 möglich?

  Alt 17. Okt 2006, 06:35
Hallo,

Zitat:
Wie kann ich also Dauerströme ausgeben und geht das überhaupt?
1.)
Was bitte schön verstehst du unter Dauerstrom?

Zitat:
Port.dll ist für die parallele Schnittstelle verwendet worden. Bei der seriellen Schnittstelle wird kein Portzugriff nötig, da hier die WinAPI alles zur Verfügung stellt was man braucht.
2.)
Diese Aussage ist so nicht richtig. Auch die paralelle Schnittstelle ist ohne port.dll erreichbar.
Port.dll ist nur eine Hilfskrücke mit der man die Einschränkungen des protected mode umgehen kann (absolut nicht zu empfehlen) und eigentlich für Winnt,Win2k winxp nicht zulässig.
Spezielle Dinge, wie setzen des Pegels einzelner Pins, sind ohne Verwendung solcher Pfuschereien (port.dll) nicht möglich. Die einzige Möglichkeit wäre die Verwendung selbstgeschriebener Treiber.

Zitat:
Nein, ist nicht möglich, da eine serielle Schnittstelle eine serielle Kommunikation mit seinem gegenüber betreibt und keine parallele mit eigenem Takt. Die serielle Schnittstelle ist selbst-getaktet.
3.) Ohne Systemtakt läuft im Rechner garnichts. Die Serielle Schnittstelle generiert aus einem externen Takt die Baudrate, das ist die Anzahl der Signalwechsel (positive Flanke) pro Sekunde.
Sie paralelle Schnittstelle läuft im Handshakeverfahren und benötigt zur Kommunikation selbst überhaupt keinen externen Takt ( abgesehen von internen Abläufen ).

Rainer
  Mit Zitat antworten Zitat
tillitanglebob

Registriert seit: 8. Okt 2006
Ort: Dresden
7 Beiträge
 
Delphi 6 Personal
 
#4

Re: c-control unit einbinde, dauersignal per rs232 möglich?

  Alt 17. Okt 2006, 10:09
@ Meutze1, Runger:
erstmal danke, dass hilft mir schon weiter.

Zitat:
1.)
Was bitte schön verstehst du unter Dauerstrom?
ich versteh unter dauerstrom die zeitl konstante ausgabe eines stromes mit konstanter polung und amplitude an einem pin der schnittstelle. Ist die konstante amplitude nicht gegeben gibts da aber immer noch den guten alten kondensator.
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#5

Re: c-control unit einbinde, dauersignal per rs232 möglich?

  Alt 17. Okt 2006, 10:30
Zitat von runger:
3.) Ohne Systemtakt läuft im Rechner garnichts. Die Serielle Schnittstelle generiert aus einem externen Takt die Baudrate, das ist die Anzahl der Signalwechsel (positive Flanke) pro Sekunde.
Sie paralelle Schnittstelle läuft im Handshakeverfahren und benötigt zur Kommunikation selbst überhaupt keinen externen Takt ( abgesehen von internen Abläufen ).
Der Systemtakt ist der Schnittstelle Schnuppe. Die serielle Schnittstelle hat eine eigene, ratenabhängige, Taktung in deren Takt die Signalflanken wechseln (synchron serial). Die parallele Schnittstelle hingegen hat keinen feste Frequenz sondern legt Daten an ihre Datensignalleitungen und gibt über eine softwaregesteuerte Flanke die Gültigkeit der ganzen Daten an. Dies wäre der Takt, welcher aber softwareseitig gesteuert ist und keine feste Periode hat (asynchron parallel). Die parallele Schnittstelle hat keine festen Taktzyklen und kann daher Signale einfach nur anliegen lassen, während die serielle Schnittstelle ihre Perioden einhalten muss und nicht einfach ein Signal auf "high" setzen kann.
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#6

Re: c-control unit einbinde, dauersignal per rs232 möglich?

  Alt 17. Okt 2006, 10:37
Hi und erstmal herzlich Willkommen in der DP

Zitat von tillitanglebob:
Ich will per rs232 Schnittstelle Befehle an meine C-Control Unit schicken
Erstmal dazu, da gibt es eine Menge guter Kapselungen. Am häufigsten wirst du hier auf AsyncPro und das von mir favorisierte TComPort treffen. Bei beiden handelt es sich direkt um Komponenten die dir das einfache verschicken von Bytes über die RS-232 Schnittstelle erlauben. Du hast dazu eine Hilfe (da sind dann all die Funktionen, die zur Verfügung stehen erklärt), kannst aber einige Einstellung auch schon zur Designzeit vornehmen. An sich ist die Arbeit mit diesen Kapselungen denkbar einfach, du stellst einfach deine Verbindungsdaten ein (Baudrate, Stoppbits, Flusskontrolle, ...) und kannst Befehle verwenden, die ein Array of Byte oder auch einen String verschicken bzw. aus dem Puffer auslesen.
Bei der TComport Kapselung stehen dir dann (bei AsyncPro weiß ich es nicht) noch Ereignisse zur Verfügung, die dich über das Eintreffen von Daten informieren (es kann auch auf ein spezielles Zeichen reagiert werden). Damit entfällt dann auch gleich das unschöne polling wenn du auf eine Antwort warten solltest.

Zitat von tillitanglebob:
Alernativ dazu wäre es auch möglich Dauerströme (wenn das denn möglich ist) an verschiedenen Pins der Schnittstelle auszugeben und darauf mit meiner Unit zu reagieren. Wie kann ich also Dauerströme ausgeben und geht das überhaupt?
Das erfordert (imho) dann doch etwas mehr Arbeit. Wenn ich mich nicht ganz irre, dann sollte das was du vor hast nicht so ohne weiteres klappen. Die Spannung, die an jedem Pin abfällt ist nicht regelbar. Hier wird mit diskreten Werten gearbeitet, überschreitet sie eine gewisse Grenzspannung, dann ist dies einfach eine logische 1, unterschreitet sie einen Wert ist das logisch 0, dazwischen hat man dann einen ungültigen Bereich. Die Genauigkeit dürfte hier schon nicht all zu hoch sein, die abfallende Spannung sich mit jedem Rechner unterscheiden. Wenn du hier mittels Strömen oder Spannungen etwas regeln möchtest, dann müsstest du eher zu einer I/O Karte greifen, die können dass sehr gut (kosten aber auch einiges mehr).
Wenn du also einen Microcontroller hast, der für dich die Steuerung übernimmt und sich per RS-232 ansprechen lässt, dann solltest du lieber den vewenden.


Gruß Der Unwissende
  Mit Zitat antworten Zitat
tillitanglebob

Registriert seit: 8. Okt 2006
Ort: Dresden
7 Beiträge
 
Delphi 6 Personal
 
#7

Re: c-control unit einbinde, dauersignal per rs232 möglich?

  Alt 17. Okt 2006, 16:49
@ der unwissende:
das mit tcomport klingt echt gut. das problem, dass ich damit hab ist bloß, dass tcomport nicht in meiner hilfe auftaucht (die ohnehin echt mieß ist). könnte es sein, dass mein delphi ein stück zu alt dafür ist? wo wir schon bei der hilfe sind: hat jemand nen guten tipp wo ich mir eine delphi6 hilfe auf deutsch runterladen kann(oder wenigstens eine in der ich auch mal das finde was ich suche)? die themen in meinem englischunterricht umfassen leider nicht fachsimpeleien über programmiersprachen.
  Mit Zitat antworten Zitat
tillitanglebob

Registriert seit: 8. Okt 2006
Ort: Dresden
7 Beiträge
 
Delphi 6 Personal
 
#8

Re: c-control unit einbinde, dauersignal per rs232 möglich?

  Alt 17. Okt 2006, 17:38
hab jetzt ein paar tcomport komponenten gedownloadet und werd sehen ob ich damit zurechtkomme, die frage mit der hilfe steht aber noch.

und danke für eure beteiligung!
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#9

Re: c-control unit einbinde, dauersignal per rs232 möglich?

  Alt 17. Okt 2006, 18:14
Zitat von tillitanglebob:
hab jetzt ein paar tcomport komponenten gedownloadet und werd sehen ob ich damit zurechtkomme, die frage mit der hilfe steht aber noch
Also die Hilfe zu TComport findest du natürlich auch auf den Downloadseiten. Die kannst du dann auch in Delphi einbinden (glaube da gab es einen Punkt unter Hilfe, um diese um weitere Dateien zu erweitern).
Die Frage nach der Delphi Hilfe auf Deutsch lässt sich schon etwas schwerer beantworten. Die Hilfe-Datei zu Delphi wird imho nur mit Delphi ausgeliefert und unterliegt damit natürlich auch den Copyrights von Borland. Hier würde also ein weiterreichen einer solchen Datei als evtl. illegal gelten.

Der einfachste (und völlig legale) Weg besteht nun darin, dass du dir eine freie dt. Delphi Version besorgst. Hier käme immer noch sehr aktuelle TurboDelphi in Frage. Die TurboDelphi Explorer Edition ist kostenlos verfügbar (Einschränkungen bestehen dann aber schon, z.B. keine Designtime-Packages die du nachträglich integrieren kannst). Die Hilfe ist hier aber auf einem sehr aktuellen Stand (insbesondere auch was das MS PSDK angeht) und zudem deutsch. Die meisten Dinge solltest du auch in Delphi 6 wieder finden, es kann natürlich sein, dass du auf einzelne Punkte triffst, die nicht schon unter Delphi 6 verfügbar sind (sollte mich aber schon fast wundern).
  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 11:02 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