Xeall Posted May 23, 2013 Report Posted May 23, 2013 Hi there, I am having some trouble reading variable length numbers in a "Protocol TCP/IP Scan" block. We are receiving a message of the form "-9999999999.999 [Counts16Bit]". Messages can be positive or negative and can contain a variable number of digits, so "9.999 [Counts16Bit]" is also a valid message. I am able to successfully use the scan block with fixed length messages. If I construct a message like "111 [Counts16Bit]0A" where the numeric variable is "Decimal ASCII: Fixed Length", Vector Length = 1, Length = 3, "No Prefix", I can receive any 3 digit number successfully. If I change the numeric variable to "Negative Only (-)", I can only receive messages with a "-" sign. I would expect to be able to receive 3 digit messages with or without a "-" sign. If I construct a message like "1 [Counts16Bit]0A" where the numeric variable is "Decimal ASCII: No Fixed Length", "No Prefix", I do not receive any messages, even ones with a single digit. Is there something I am missing. I would really appreciate any suggestions.
Alexander Posted May 26, 2013 Report Posted May 26, 2013 Hello, When using a non-fixed length variable you can not have any other characters proceeding it, whether it is another variable or fixed text. Since you can not have any proceeding characters you can use a stream variable instead of numeric and set the vector length to the maximum message length. Converting 2 received bytes to one linked element will also conserve memory. You can use a terminating character such as the LF in your example, or a silence duration to signify that the message is complete.
Xeall Posted May 27, 2013 Author Report Posted May 27, 2013 Thanks, I didn't realise that there was that limitation on non-fixed length variables. Would you be able to point me to where this is documented for future reference. I was unable to find documentation of this limitation after looking through the manuals related to TCP/IP Scan function blocks and messages.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now