multiLink / multiIO

multiIO / Supported devices / Ian Fellows

Ian Fellows CSW-20

One indicator, two weight strings, and the whole entry set drawn from a single document. Both field diagrams are labelled figures whose text extraction returns the labels in an order unrelated to the frame, so both were read off rendered pages.

1

Models

2

Output formats

2

Catalogue entries

The multi-drop address and up to four operator-set prefix bytes are skipped rather than configured — both parsers anchor on the fixed tail, so an indicator on an RS485 network or with prefix bytes decodes with no reader setup at all.

Models and the formats they offer

Read live from the gateway's own device catalogue. A star marks the format that model leaves the factory set to.
ModelOutput formatsDefault baud
CSW-20SG0 · SG19600

The formats

Each one is a separate parser, because which format a site chose is not reliably detectable from the stream — you pick what the box's own menu is set to. Example frames below are produced by that format's own encoder and read back through its own parser.

SG0

SG0 — the default weight string

1 modelanswers host pollsfactory default on CSW-20

What the indicator transmits every display update, roughly every 300 ms, and what it answers the weight commands with. Four status bytes covering stability, gross/net/tare mode, setpoint I/O and print status, then sign, weight and unit.

⚠ The status byte carries two sign bits laid over a printable letter — one marks the net negative, the other the gross. Every documented letter has both bits clear, so the overlay is unambiguous, but miss it and every negative weight reads positive with a corrupted status letter. The setpoint byte is reported raw and never interpreted, because one byte means six different things across the indicator's six setpoint modes.

Example frame — CSW-20, a stable 12.34 kg gross reading

SG?R···12.34·kg<CR><LF>

53 47 3F 52 20 20 20 31 32 2E 33 34 20 6B 67 0D 0A

17 bytes · decodes back to 12.34 kg

Verified against: CSW-20 Operation Manual Rev B, page issue 008, software PO6_036/136, §5.3 "Serial Interface Weight Data Format"

SG1

SG1 — gross and net together

1 modelanswers host pollsno marked factory default

The alternative string, carrying gross and net in the same telegram so tare is arithmetic rather than a second poll, plus the discrete I/O state.

⚠ Its unit is reported as a number, deliberately. The display-format byte carries a units code of 0 to 7 and the manual never prints the table mapping those onto the twelve units the config menu offers. The obvious reading — that they are the first eight menu entries in order — is plausible and unverified, and a wrong unit is the error that looks right on a screen and is wrong on an invoice. So we report the code and set no unit. Use SG0 if you need the unit on the wire; it spells it out.

Example frame — CSW-20, a stable 12.34 kg gross reading

R··1234·<82>··1234··<CR><LF>

52 20 20 31 32 33 34 20 82 20 20 31 32 33 34 20 20 0D 0A

19 bytes · decodes back to 12.34 kg

Verified against: CSW-20 Operation Manual Rev B, page issue 008, software PO6_036/136, §5.3 "Alternative SG1 weight string"

Is your indicator here?

If it is, it works out of the box — pick the model and the format its menu is set to, and readings publish over MQTT, Modbus TCP, OPC UA, REST and six more transports at once. If it is not, describe the line's fields in the console and multiIO decodes it anyway, or send us the manual's serial chapter: that is how most of this catalogue got here.

Request an evaluation All supported devices