Is there a limit how many bytes a parameter can be? See example below.
<Param id="502" trending="false">
<Name>responseFrame_Get_Config</Name>
<Description>Response Frame Get Config</Description>
<Type>read</Type>
<Interprete>
<RawType>other</RawType>
<Type>string</Type>
<LengthType>fixed</LengthType>
<Length>1283</Length>
</Interprete>
<Alarm>
<Monitored>false</Monitored>
</Alarm>
<Display>
<RTDisplay>false</RTDisplay>
</Display>
<Measurement>
<Type>string</Type>
</Measurement>
</Param>
Hi,
I'm not aware of an internal limit that would cap the size.
The length itself is determined by a 4 byte unsigned number, which would in theory come down to 4 294 967 295 bytes.
Of course other limitations would come into play before that, for example a string object can store up to 2 147 483 647, so a string parameter can never be larger than this. Then there are other practical limitations like if this is read out by a QAction then copying the value from one object to another would already reach an out of memory exception (32-bit SLScripting process). It's also depending on where the data is coming from: if this is coming from SNMP then it means that UDP packets are being used, which is capped to 65535 bytes. If it enters through serial communication then that goes through SLPort, which is also a 32-bit process.
To try to summarize: in theory the length of a string parameter would be 2 147 483 647 bytes (2GB), but before this limit is reached there will other limits be reached first, all depending on how much the memory consumption is of the processes that need to fill the value in: SNMP and serial UDP will be capped to 65535 bytes, other communication or via QAction are 32-bit processes so filling in such parameter of 2 147 483 647 bytes will not be possible as copying the value already means out of memory limit. In the given example of 1283 bytes this should not be a problem. Out of practical experience I remember that having a parameter with 25MB was a lot, but was still possible.
Regards,