Autor Beitrag
Jana
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18

Win XP, Win Vista
Delphi 2005, Visual Basic .Net
BeitragVerfasst: Do 17.08.06 15:04 
Hallo,

ich habe zwar den Thread von Roboman gelesen und auch umgesetzt, was darin stand, aber irgendwie will es bei mir immer noch nicht klappen.
Die C Control I ist bei mir über ein Programmiermodul und die RS232 mit dem Computer verbunden.

Mein bisheriges Programm sieht so aus:
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
unit MALP;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, CPort, StdCtrls;

const
  cmd_Digitalport = 65;
  cmd_Analogport = 66;
  TimeOut = 3//Sekunden

type
  TForm1 = class(TForm)
    ComPort1: TComPort;
    Button1: TButton;
    Button2: TButton;
    LAktion: TLabel;
    LAntwort: TLabel;
    Label1: TLabel;
    Label2: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    procedure SendeUndWarte(cmd: Integer);
    function AnsToBy(Ans: String): Integer;
    function ByToAns(By: Integer): String;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  ComPort1.BaudRate := br9600;
  ComPort1.DataBits := dbEight;
  ComPort1.Parity.Bits := prNone;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
   ComPort1.Open;
   ComPort1.Connected := true;
   LAktion.Caption := 'Digitalport 1';
   LAntwort.Caption := 'warte...';
   SendeUndWarte(cmd_Digitalport);
   ComPort1.Connected := false;
   ComPort1.Close;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  ComPort1.Open;
  LAktion.Caption := 'A/D 2';
  LAntwort.Caption := 'warte...';
  SendeUndWarte(cmd_Analogport);
  ComPort1.Close;
end;

procedure TForm1.SendeUndWarte(cmd: Integer);
var t: longInt;
    r: string;
    rBy: Integer;
    Fehler: Boolean;
    cmdStr: string;
    argStr: string;
begin
   cmdStr := Chr(cmd);
   Label1.Caption := cmdStr;
   Label2.Caption := argStr;
   ComPort1.WriteStr(cmdStr);
   ComPort1.ReadStr(r,1);
   LAntwort.Caption := r;
end;


Die C Control I empfängt dann diese Daten und sendet daraufhin andere Daten zurück als Word zurück.
Kann mir vielleicht jemand helfen?