![]() |
ADAM 5000 Auslesen
kann mir hier wer weiterhelfen?
|
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 ;) |
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:
|
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. |
Re: ADAM 5000 Auslesen
Was ist ein ADAM 5000 :gruebel:
|
Re: ADAM 5000 Auslesen
Hallo Schodn,
hast Du kein Manual für die Kiste? ADAM 5000 -> ![]() ![]() Auf der Webseite von Esis steht etwas von einer DLL um Applikationen für die Kiste zu schreiben. Grüße Klaus |
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(); |
Re: ADAM 5000 Auslesen
kleine Korrektur:
Zitat:
Grüße Klaus |
Re: ADAM 5000 Auslesen
danke :-D
|
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 09:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz