TCP Send Data Format (Zeros?)
-
Re: [TCP Send Data format](/topic/5110/tcp-send-data-format)
I found this previous thread with the same situation as the one I'm dealing with. However, my particular situation is that 0s (zero) are not being transmitted. It appears that if the parameter is a value of zero then it is just skipped. (I need the zero to be included to preserve the expected message format on the other end.)
I have reduced the situation to the very simple example below.
In the above example, parameter 1 and parameter 3 are transmitted as the anticipated values. However, parameter 2 is skipped - the zero is not transmitted
If I use any of the other available formats in the "TCP Send" actor I just get the ASCII representation of a zero and not the value zero.
What am I missing?
-
Have you read all the documentation about the syntax by using the "Help" button at the bottom left of the dialog that appears when you double left-click the TCP Send Data actor?
-
Have you tried these formats?
Px:n.m Output the number, with a maximum of n digits to the left of the decimal point and m digits to the right. If the input parameter is text, ignore n.m and just output the text. Px:Zn.m Same as above, but add leading zeros to ensure a total of n digits appear to the left of the decimal point. Here's the full table:
"ABC" When text is enclosed in double quotes, the ASCII code for each character is sent to the output. In this example, the numbers 65, 66, 68 (hex 41, 42, 43) would be sent to the output. You may also included escape characters to output special characters like a carriage return or line feed.
XX Outputs the single byte represented by the specified pair of hexadecimal digits. For instance, if you entered 1F then a single byte with the decimal value 31 (hex 1F) would be sent to the output.
Px Use the default formatting. For integer numbers, output the ASCII text of the number in decimal; for numbers with decimal points, output the ASCII text of the number and all the digits after the decimal point; for text inputs, output the text itself Examples: The integer 12 outputs the characters ‘1’, ‘2’ The floating point number 3.141 outputs the characters ‘3’, ‘.’, ‘1’, ‘4’, ‘1’ The text “hi!” outputs the characters ‘h’, ‘i', ‘!’.
Px:n.m Output the number, with a maximum of n digits to the left of the decimal point and m digits to the right. If the input parameter is text, ignore n.m and just output the text. Px:Zn.m Same as above, but add leading zeros to ensure a total of n digits appear to the left of the decimal point. Px:nX Output the ASCII representation of the number as n hexadecimal digits. If the input parameter is a floating point number, the digits after the decimal are ignored. If the input parameter is text, ignore the nX and just output the text. Example: Px:2X applied to the decimal value 254 outputs ‘F’, E’
Px:ZnX Same as above, but add leading zeros to ensure a total of n digits. Px:C Output the character as a single byte of data. Examples: The number 65 gives ‘A’ The number 13 gives a carriage return character