ads sum (ADSRDWRT) für ST (bei Beckhoff) problem

jmgarcia

Level-1
Beiträge
4
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo alles, (entschuldigung für meine Deutsch)

Ich muss viele data lessen , denn Ich muss ein SUM ADS command . Aber meine problem ist das ein 1797 (Parameter size not correct.Error code: 1797(0x705).) Fehler habe. Ich habe info bei Beckhoff web page gelessen aber the Fehler ist da.

Meine code :

//
adsSum : ADSRDWRT;
indexGroup : UDINT:=16#0000F080;//"Index-Group/Offset" Specification of the TwinCAT ADS system services
indexOffset : UDINT; //Number of internal subcommands.
dstLength : DWORD;
dstBuffer : ARRAY [1..1000] OF BYTE;
srcLength : DWORD;
srcBuffer : ARRAY [1..30] OF DWORD;

PORT : UINT:= 852;
MAX_CMD : UINT:=10;
FIELD_PER_CMD: UINT:=3;
RSP_ERROR_SIZE : UINT:=4;
RSP_LEN_SIZE : UINT:=4;
RSP_RES_SIZE:UINT:=4;
RSP_SIZE : UINT:=RSP_ERROR_SIZE+RSP_LEN_SIZE;




//

FOR infoCounter:=1 TO MAX_CMD BY 1 DO
srcBuffer[infoCounter+0]:=symInfoARR[infoCounter].idxGroup;
srcBuffer[infoCounter+1]:=symInfoARR[infoCounter].idxOffset;
srcBuffer[infoCounter+2]:=symInfoARR[infoCounter].byteSize;
dstLength:=dstLength+symInfoARR[infoCounter].byteSize;
END_FOR

srcLength:=MAX_CMD*FIELD_PER_CMD*SIZEOF(srcBuffer[1]);
dstLength:=MAX_CMD*RSP_RES_SIZE+dstLength;
MEMSET(ADR(dstBuffer), 0, dstLength);




adsSum( NETID:='' ,PORT:=PORT ,
IDXGRP:=indexGroup ,(*Index Group where the list is to be written*)
IDXOFFS:=MAX_CMD ,(*How many values in the list are to be read*)
WRITELEN:=srcLength,
READLEN:=dstLength , (*Amount of data expected to be returned*)
SRCADDR:=ADR(srcBuffer) ,
DESTADDR:=ADR(dstBuffer) ,
WRTRD:=runAdsSum ,
TMOUT:=T#10s ,
BUSY=> busy,
ERR=> err,
ERRID=> errId);



Vielen dank.
 
Hallo,
Ich habe tauchen von 4bytes (DWORD) nach 8Bytes(ULINT) weil ich habe ein 64bits PLC ...

Jetz :
srcBuffer : ARRAY [1..30] OF ULINT;
RSP_ERROR_SIZE : UINT:=8;

und ein neue fehler : Invalid index offset.Error code: 1795(0x703), aber the index offset is die command nummer (MAX_CMD :=10)
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe beckhoff website beispiel 17 testen ( VC++) und functioniert ( 4bytes(DWORD) im 64PLC twincat 3)

Die probleme is gleich :

Im Windows VC++ : functioniert
Im PLC- ST : fehler 1797

Meine frage ist, ob im PLC-ST und VC++ anruf parameter sind gleich welche die PLC-ST probleme mit ADS SUM (ADSRDWRT) ist?

Viele dank.
 
Ich habe mein probleme findet, Ich anworte mich.

Die fehler 1797 'Parameter size not correct' ist weil in 'srcBuffer' Daten ist nich correct. Jetz mit correct Daten in SRCADDR param alles is gut.

jensemann . Danke, Index_Group F080 is correct, Ich möchte nur lessen.
 
Zurück
Oben