AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Relaisplatine über COM Port ansteuern
Thema durchsuchen
Ansicht
Themen-Optionen

Relaisplatine über COM Port ansteuern

Ein Thema von Salomon · begonnen am 15. Okt 2002 · letzter Beitrag vom 21. Dez 2005
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von Salomon
Salomon

Registriert seit: 9. Jun 2002
453 Beiträge
 
#11
  Alt 16. Okt 2002, 17:19
Ich habe gerade festgestellt, das die Highlevel Function ein Abfragen des momentanen Status überflüssig machen. Hier nun die Function zum schalten der Relais:

Code:
Procedure SwitchRelais (CardNr: Byte; RelaisNr: Byte; SwitchOn: Boolean);
var
  n: Byte;
begin
 n := 0;
 n := n or (1 shl RelaisNr);
  if SwitchOn then
      rel.ActivatePorts(CardNr,n)
  else rel.DeactivatePorts(CardNr,n);
end;

Procedure InvertOneRelais (CardNr : Byte; RelaisNr: Byte);
Var n : byte;
Begin
 n := 0;
 n := n or (1 shl RelaisNr);
 rel.TogglePorts(CardNr,n);
end;
Mfg
Salomon
  Mit Zitat antworten Zitat
TraxTerra

Registriert seit: 4. Jan 2005
Ort: Hückelhoven
5 Beiträge
 
#12

Re: Relaisplatine über COM Port ansteuern

  Alt 4. Jan 2005, 19:25
Kann mir einer Sagen ob sich die Karte auch unter XP ansteuern lässt ?
Wenn Jaein, was brach ich für einen Treiber.

Danke im Voraus.
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#13

Re: Relaisplatine über COM Port ansteuern

  Alt 5. Jan 2005, 00:31
Moin!

Das Ding hängt an einer Standard RS232C Schnittstellen (serielle Schnittstelle) und ist damit unabhängig vom Betriebssystem ansteuerbar. Es sollte keinen Unterschied zwischen Windows 95 und Windows XP geben. Selbst die WinAPI Funktionen für CommIO haben keine grossen Änderungen erfahren.

Ansonsten für die Bits nochmal ein kleiner Link für die anderen die es lesen und vielleicht fragen würden: Bitoperationen

MfG
Muetze1
  Mit Zitat antworten Zitat
TraxTerra

Registriert seit: 4. Jan 2005
Ort: Hückelhoven
5 Beiträge
 
#14

Re: Relaisplatine über COM Port ansteuern

  Alt 5. Jan 2005, 19:25
Danke für die schnelle Antwort.

Habe gefragt weil XP normalerweise keinen direkten Zugriff auf die Ports zulässt, ok hab da vieleicht was in den falschen Hals bekommen.

mfg
Ralf
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#15

Re: Relaisplatine über COM Port ansteuern

  Alt 6. Jan 2005, 00:00
Moin!

Naja, das ist richtig, aber ich bin davon ausgegangen das beim Zugriff auf den COM Port die von Windows angebotenen Communication Funktionen benutzt werden und keine DLL die sich hinterrücks Hardwarezugriff holt damit man Windows von hinten in den Rücken schiessen kann. Deshalb meine Antwort.

In diesem Beitrag steht mehr zu den Windows Communication Functions

MfG
Muetze1
  Mit Zitat antworten Zitat
TraxTerra

Registriert seit: 4. Jan 2005
Ort: Hückelhoven
5 Beiträge
 
#16

Re: Relaisplatine über COM Port ansteuern

  Alt 6. Jan 2005, 18:58
Sorry das ich nochmal nach Frage.
Es geht sich um die Unit die weiter oben zum download angeboten wird, brauch ich für die einen extra Porttreiber für XP oder funst das auch ohne schon ?

mfg
Ralf
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#17

Re: Relaisplatine über COM Port ansteuern

  Alt 6. Jan 2005, 19:08
Moin!

Zitat von TraxTerra:
..., brauch ich für die einen extra Porttreiber für XP oder funst das auch ohne schon ?
Das funktioniert ohne Porttreiber auch unter XP, da die Unit ordentlich mit den WinAPI Comm Funktionen arbeitet.

MfG
Muetze1
  Mit Zitat antworten Zitat
TraxTerra

Registriert seit: 4. Jan 2005
Ort: Hückelhoven
5 Beiträge
 
#18

Re: Relaisplatine über COM Port ansteuern

  Alt 8. Jan 2005, 13:26
Uaaaaa... Kann mir mal einer verraten wie das mit dem GETPorts funktioniert ?

Ich bekomm immer False zurück, egal ob Port geschaltet oder nicht.
Mich wundert aber auch schon (besser da steig ich nicht ganz durch) warum ich bei
GetPorts den Port mit angeben muss obwohl der in der Funktion GetPorts gleich wieder auf 0
gesetzt wird. Was mach ich falsch.

Hier meine Function :

Delphi-Quellcode:
Function RelStatus (COM_Port : String; Karte_Nummer : Byte; Klemme : Byte) : Boolean;
var
  rel : TRelaisCard;
  n : Byte;
  Schalten : Boolean;
  begin
    Result := False;
    rel := TRelaisCard.Create;
    try

      rel.ComPort := COM_Port;
       if rel.Init > 0 then
          begin
          n := 0;
          n := n or (1 shl Klemme);

          Result := rel.GetPorts(Karte_Nummer,n);
        end;

  finally
    rel.Free;
  end;
end;
Hat einer mal einen Code Schnipsel für mich ?

mfg
Ralf
  Mit Zitat antworten Zitat
TraxTerra

Registriert seit: 4. Jan 2005
Ort: Hückelhoven
5 Beiträge
 
#19

Re: Relaisplatine über COM Port ansteuern

  Alt 8. Jan 2005, 14:20
Ich glaub ich hab die Antwort schon.
GetPorts kann nicht den aktuellen Schaltzustand abfragen nur ob ein Port exestiert oder nicht.
Wenn ich mir die Platine so anschaue geht das Technich garnicht.
Oder seh ich das Falsch ?

mfg
Ralf
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#20

Re: Relaisplatine über COM Port ansteuern

  Alt 20. Dez 2005, 16:29
Hallo,

ich hab mir mal vor ein paar Jahren diese Relaiskarten zugelegt, dazu aber auch noch die Conrad-Win-Software.
Da ich diese Software aber nicht mehr habe (ich weiss nicht wo die geblieben ist), möcht ich selbst ein Programm
schreiben, um diese Karten anzusteuern.

Ich hab mir diese Unit runtergeladen, zum Ansteuern der Karten. Aber ich komme auf keinen grünen Zweig.

Anbei mal mein Testprogramm. Vielleicht kann mir ja jemand sagen, was ich verkehrt mache.

Vielen Dank im Vorraus!

Angehängte Dateien
Dateityp: zip test_relaiskarten_192.zip (202,8 KB, 32x aufgerufen)
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 23:41 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