Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi ADAM 5000 Auslesen (https://www.delphipraxis.net/66806-adam-5000-auslesen.html)

Schodn 4. Apr 2006 16:35


ADAM 5000 Auslesen
 
kann mir hier wer weiterhelfen?

Die Muhkuh 4. Apr 2006 16:36

Re: ADAM 5000 Auslesen
 
Hi,

es würde sich nicht wehtun, wenn du noch das Problem etwas genauer beschreibst, bzw. wenn du schon Code hast, diesen postest ;)

Luckie 4. Apr 2006 16:41

Re: ADAM 5000 Auslesen
 
Also ich bin ja echt versucht diesen Thread einfach zu schließen: Nichts sagender Titel, kein Inhalt nur ein belangloses "Kann mir wer helfen." :evil:

Schodn 4. Apr 2006 16:42

Re: ADAM 5000 Auslesen
 
Delphi-Quellcode:
var
   i,j             : Integer;
   iRetVal         : Integer;
   wModuleName     : WORD;
   wDeviceID       : WORD;
   wStartDO        : WORD;
   wCount          : WORD;
   byData    : Array [0..63] of Byte;
   i_ok, ii : Integer;
   s_dateiname, s_pfad, dateioef, satz : String;
    datei : textfile;
    st: TStringList;
begin

    i_ok := 0;
    ii := 0;

    while (i_ok = 0) AND (ii < 5) do
    begin
        try
            //--- try to create a connection to 5000/TCP ---
            iRetVal := ADAMTCP_Connect(PChar(edtIPAddress.Text),DEFAULT_PORT,
              iConnectionTimeout, iSendTimeout, iReceiveTimeout);
            if ( iRetVal<0 ) then
            begin
                ShowMessage('Fehlgeschlagen');
                i_test := 0;
            end
            else
            begin
                i_ok := 1;
                i_test := 1;
                break;
            end;
        except
        end;
        ii := ii + 1;
    end;

er besteht aus 5 modulen zu je 16 ausgängen

so verbinde ich mit einem ADAM 5000

nur wie lese ich es aus, wenn einer seiner ausgäng aus 1 steht.

Jens Schumann 4. Apr 2006 17:28

Re: ADAM 5000 Auslesen
 
Was ist ein ADAM 5000 :gruebel:

Klaus01 4. Apr 2006 18:39

Re: ADAM 5000 Auslesen
 
Hallo Schodn,

hast Du kein Manual für die Kiste?

ADAM 5000 -> http://www.esis.com.au/Adam-5000/Adam-5000.htm
http://www.advantech.com.tw/support/...=ADAM-5000/485

Auf der Webseite von Esis steht etwas von einer DLL um Applikationen
für die Kiste zu schreiben.

Grüße
Klaus

Schodn 4. Apr 2006 18:42

Re: ADAM 5000 Auslesen
 
Danke für eure antworten. Hab das problem jetzt gelöst

Delphi-Quellcode:
var
   i,j             : Integer;
   iRetVal         : Integer;
   wDeviceID       : WORD;
   wStartAddress   : WORD;
   wCount          : WORD;
   byData    : Array [0..127] of Byte;
begin

        //--- try to create a connection to 5000/TCP ---
        iRetVal := ADAMTCP_Connect(PChar(edtIPAddress.Text),DEFAULT_PORT,
              iConnectionTimeout, iSendTimeout, iReceiveTimeout);
        if ( iRetVal<0 ) then
        begin
           ShowMessage('ADAMTCP_Connect() Failure!, Error Code:' + IntToStr(iRetVal) );
           ADAMTCP_Close();
           close;
        end;

        //--- reading Coil ---
        wDeviceID:=StrToInt(edtID.Text);
        wStartAddress := StrToInt('1');
        wCount := StrToInt(edtCount.Text);
        if ( (wCount<1) or (wCount>128) ) then
        begin
           ShowMessage('No. have to between 1 to 128');
           ADAMTCP_Disconnect();
           ADAMTCP_Close();
           close;
        end;

   for i := 0 to wCount - 1 do
          byData[i] := 255;
        iRetVal := ADAMTCP_ReadCoil(PChar(edtIPAddress.Text), wDeviceID, wStartAddress, wCount, @byData);
        if ( iRetVal <> 0 ) then
        begin
           ShowMessage('ADAMTCP_ReadCoil() Failure!, Error Code:' + IntToStr(iRetVal) );
           ADAMTCP_Disconnect();
           ADAMTCP_Close();
           close;
        end;

        mem_adam.Lines.Clear();
        j := wStartAddress;
        for i:=0 to wCount -1 do
        begin
           mem_adam.Lines.Add('Address:' + IntToStr(j)
                           + '  Value:' + IntToStr(byData[i]) );
           inc( j );
        end;

     //---  disconnt connection to 5000/TCP ---
     ADAMTCP_Disconnect();

Klaus01 4. Apr 2006 18:46

Re: ADAM 5000 Auslesen
 
kleine Korrektur:
Zitat:

ShowMessage('No. has to be between 1 and 128');
falls das Programm mal verkauft werden sollte.

Grüße
Klaus

Schodn 4. Apr 2006 18:48

Re: ADAM 5000 Auslesen
 
danke :-D

renekr 4. Apr 2006 19:00

Re: ADAM 5000 Auslesen
 
Hi,

Ist damit dein Problem gelöst?

Wenn nicht ,ich kenn mich da zwar nicht aus ,aber ein Kollege Programmiert einen Adam für ein Komplettes Productions Band der Firma Bosch.

Wenn noch Hilfe brauchst kann i dir ev. helfen.

mfg


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:41 Uhr.
Seite 1 von 2  1 2      

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