Hi......, Sorry yaar, was busy in the project......, so unable to answer......., anywaz i will answer all ffice:smarttags" prefix="st1" />ur questions now.........,
POINTS TO BE REMEMBERED:
1) CLIENT = PC & SERVER = UNIT
2) FORGET ABOUT NORMAL TRANSFER U WILL NEVER USE IT. IMAGINE THERE ARE ONLY TWO TRANSFERS EXPEDITED & SEGEMENTED.
3) NOW FOR ALL UR QUESTIONS THE ANSWERS I AM GIVING, BY CONSIDERING ONLY EXPEDITED TRANSFER.
ANSWERS TO QUSETIONS ARE AS BELOW:ffice<img src="/i/smilies/16x16_smiley-surprised.gif" width="16" height="16" border="0">ffice" prefix="o" />
1) Its a 8-bit, becoz 'n' is of 2-bits.
2) Expedited transfer: used for data objects up to 4 bytes in length.
Segmented transfer: for objects with length > 4 bytes.
I have never used normal transfer, so i dont know abt it......, anywaz i will search & will tell abt normal transfer........., but its not necessary to use it, i mean u will never use it.
3) In SDO Protocol, u can transfer more than 8 bytes of data. But the explanation whatever i have sent to u i.e., restricted to sending only 8 bytes of data. If u want to use more than 8 bytes, u have to use block transfer.
In Initiate Domain Download which is of maximum 8 bytes.
1st byte = Command byte
2nd & 3rd bytes = Index of the OD (Object Dictionary )
4th byte = Subindex of OD.
5th,6th, 7th & 8th bytes are DATA BYTES.
EXPLANATION OF FIRST BYTE:
The bits of the COMMAND BYTE will tell u,
* out of 4 data bytes, how many are we sending
* whether its a expedited transfer.
* whether the transmission is from Client to Server or vice versa.
IN THE EXAMPLES BELOW, IMAGINE THAT U R USING EXPEDITED TRANSFER i.e., U R SENDING DATA BYTES EQUAL TO OE LESS THAN 4. THATS WHY e = 1.
'n' tells u the number data bytes that u r not sending out of 4 DATA bytes. If u r using 'n' then by defualt u make e = 1 & s = 1.
Example 1: Imagine that u want to send only 1 byte of data out of 4 bytes then n = 0 x 11, e = 1 & s = 1.
Example 1: Imagine that u want to send only 2 bytes of data out of 4 bytes then n = 0 x 10, e = 1 & s = 1.
Example 1: Imagine that u want to send only 3 bytes of data out of 4 bytes then n = 0 x 01, e = 1 & s = 1.
Example 1: Imagine that u want to send only 4 bytes of data out of 4 bytes then n = 0 x 00, e = 1 & s = 1.
5 ) Explanation of 0x2B is as below.
0x2B is the COMMAND BYTE.
Bits: 7 6 5 4 3 2 1 0
Client to Server: 0 0 1 0 1 0 1 1 = 0x2B
Client to Server: 0 0 1 ? n e s
The bit 7,6 & 5 tells u that the data is from Client to Server.From the above n = 10 which is 2 i.e., we r not sending 2 bytes of data from 4 data bytes. And e = 1 means we r sending lesser then 4 bytes. When 'n' has a meaning 'e' & 's' should be 1.
Explanation of 0x60 is as below.
0x60 is the COMMAND BYTE. This is the Acknowledgement from the Server to the Client, saying that it has completed the INITIATE DOMAIN DOWNLOAD.
Bits: 7 6 5 4 3 2 1 0
Server to Cli