I was working with serial port reading strings and noticed that each string has a leading period and a trailing period is this the do=more way of showing nonreadable charters. If so how do I strip them from the leading edge?
Yes, it's impossible to display non displayable characters (e.g. CR/LF etc.), so in Ladder Status it replaces those characters with a PERIOD.
I recommend looking at DataView where it has multiple display formats for STRINGs.
*
ASCII (default, also same format as what is displayed in Ladder Status) - all displayable ASCII characters are shown, non-ASCII and control characters get replaced with a "."
*
Quoted - handles anything/everything, just as if you had to enter a string literal containing THAT character sequence in an instruction. Hence, it uses the $-based escape sequence for non-displayable characters (e.g. Hello<CR><LF> is shown as "Hello$0D$0A"
*
Hexadecimal - dumps the characters in groups of 4 as their hex equivalent, e.g.
48 65 6C 6C 6F 0D 0A
*
4/8/16/24/32 Hex/ASCII - both Hexadecimal and ASCII. If you've ever seen binary editors or debuggers where you see raw bytes followed by their ASCII equivalent, that's what this is. You can display 4, 8, 16, 24, or 32 characters per line (so you can view long strings in your Data View as either tall/thin or wide/short).
Attached is a screen shot showing those formats of the STRING
Hello<CR><LF> with the last two being 4 Hex/ASCII and 8 Hex/ASCII
Look at the Data View to see if these are non-critical data. If so, then use the STRSUB instruction to EXTRACT the "middle" out of the string. Offsets are 0-based, so to skip the first character, you would use STRSUB with Starting Offset of 1, whth a Length of 10 (you mentioned 10 readable characters), or possibly 8 if that length of 10 also included these two extra control characters.