Rockwell Automation 1768-EWEB EtherNet/IP Web Server Module User Manual User Manual

Page 139

Advertising
background image

Publication ENET-UM527E-EN-P - October 2006

Socket Interface 139

This fragment Structured Text logic shows an example of handling a
partial Write service.

if ( WriteMSG0.ER ) then

/* write failed. if error was EWOULDBLOCK then it means less than the requested byte were sent.

*/

if ( WriteMSG0.EXERR = 70 ) then

/* need to issue another write, with the data that was not sent */

SentLen := WriteResponse; /* here's what was sent */

/* adjust the size */

WriteParams.BufLen := WriteParams.BufLen - SentLen;

/* copy remaining data to send to MSG buffer */

COP ( WriteBuf[SentLen], WriteParams.Buf[0], WriteParams.BufLen );

/* BufLen = Timeout + Sockaddr + data length */

WriteMSG0.REQ_LEN := 4 + 12 + WriteParams.BufLen;

MSG ( WriteMSG0 );

end_if;

end_if;

Advertising
This manual is related to the following products: