The RS232 Single cable interface works with OPOS.  If you choose to develop your own comport interface you will need to be aware of the data format and the commands to communicate with the scanner and scale.
The scan data (default configuration) is S08A123456789012<CR>
S is the programmable STX character
08 signifies scanner data
A is the label id, in this case it represents UPCA
123456789012 represents a UPCA barcode
<CR> is the programmable ETX character
 
Commands to the scanner must follow the same format of the STX and ETX characters programmed in the scanner.
Reset: S00<CR>
Enable: S01<CR>
Disable: S02<CR>
Not on file beep: S05<CR>
Good read beep: S334<CR>
 
Scale:
There are two ways to request weight from the scale a simple weight request and then a scale monitor request (this is geared toward supporting live weight as it has an extra status byte)
The actual request can vary as it depends on how the STX character and ETX character are programmed in the scanner.  The default value in most Magellans is “S” for the STX and a carriage return for the ETX.
The simple weight request is “S11<CR>” (<CR> = carriage return)
                The scale will only respond if there is a stable weight within in the min and max weight it supports
                The response is “S11<weight data><CR>”
When the scale is set to pounds the scale sends 4 digits.  When it is in metric the scale sends 5 digits.  In either case the scale does not send a decimal point.  The POS is required to interpret where that is.  This is the same for the following command as well.
The scale monitor command is “S14<CR>”
                The scale monitor command will also send a response back.
                                If there is a stable weight the response is “S144<weight data><CR>”
                                                The extra 4 you see is the status byte telling you a non-zero stable weight is found
                                Other responses, non-valid weight responses:
                                                “S141<CR>” = Scale unstable
                                                “S142<CR>” = Scale over capacity
                                                “S143<CR>” = Stable zero weight (our scales do not send a response “S1440000<CR>” when at zero weight)                                
                                                “S145<CR>” = Scale under zero