Which ASCII read command are you using and what parameters are you passing to it? If possible please point to a page number and a link to the PLC instructions manual you are using.
There is usually a version of ASCII read instructions that reads up to a terminator/delimiter (e.g. <CR><LF>), and sets its done bit when it reads that terminator. So, assuming the device is sending a continual stream of characters like this
x+/-value<CR><LF>x+/-value<CR><LF>x+/-value<CR><LF>x...
where <CR><LF> is the terminator and [x] is start of message, and there will never be more than N (in your case 17, or maybe 15) characters between <CR><LF>, then you can then ask that terminator-aware instruction to read N+2 characters, and after a clear-buffer instruction, it will give you something like [ue] on the first read (since clearing the buffer removed the ...value<CR><LF>[x+/-val], so you discard that first result [ue] because it does not start with [x], and then then next read will have the full 17 (or 15) characters [x+/-value] without the <CR><LF>, which you cut after the [x] using MID and then parse the rest using STOR or whatever.
A bit of a run on sentence there, but I hope it's clear.
[Update oh never mind all that, you are already using ARL, which is the line-buffered read. I don't think you need the ABL, just read the stream with ARL, and when [the ARL done bit has a rising edge AND the result starts with the [x]] then parse it via MID/STOR, or if [the ARL done bit has a rising edge AND the result does
not start with the [x]], then throw it away because on the next rising edge of the ARL done bit it almost certainly will start with the [x].
The PLC presumably uses a UART, which is always hardware-buffering the current stream; what it does on overflow you don't care because you clear the buffer once at start of program before starting the ARL reads and after that the PLC and ARL checks and drains the UART buffer content frequently enough that it should neither ever overflow again nor ever have more than one [x+/-value<CR><LF>], and even if it does that gets tossed and the second read picks up the full string].