When I look at the PDU size in Snap7 for a 1516, I see this is 480 bytes.
But when I informed with Siemens what the PDU size must be, they said it was 960 bytes.
Why is this not the same value?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
You (and Siemens) are confusing the max PDU acceptable by a CPU with the PDU negotiated by a client and the CPU.
480 byte is the default value requested by snap7 to the CPU during the negotiation (just after the TCP connection).
If the CPU accepts, the value the PDU size for that session is set to 480 bytes.
If the CPU cannot handle that size, then it replies with its maximum value (S7300 family, for example, handles only 240 bytes).
Look at pag.65 of the reference manual.
You can change the default PDU requested using Cli_SetParam().
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi,
When I look at the PDU size in Snap7 for a 1516, I see this is 480 bytes.
But when I informed with Siemens what the PDU size must be, they said it was 960 bytes.
Why is this not the same value?
You (and Siemens) are confusing the max PDU acceptable by a CPU with the PDU negotiated by a client and the CPU.
480 byte is the default value requested by snap7 to the CPU during the negotiation (just after the TCP connection).
If the CPU accepts, the value the PDU size for that session is set to 480 bytes.
If the CPU cannot handle that size, then it replies with its maximum value (S7300 family, for example, handles only 240 bytes).
Look at pag.65 of the reference manual.
You can change the default PDU requested using Cli_SetParam().
Is it worth to request a PDU of 960 if I plan to use Cli_ReadMultivar() as often as possible ?
No, it should be ok.