SimScaleSics is a lightweight, zero-dependency software emulator for industrial weighing terminals communicating over TCP/IP sockets. It implements the standard MT-SICS (Mettler Toledo Standard Interface Command Set) and MMR (Multi-Range / Multi-Platform) application block protocols, specifically engineered to test, debug, and validate dispensing recipes, dosing workflows, and Electronic Batch Records (EBR) within MES platforms (such as Rockwell PharmaSuite, Werum PAS-X, or custom Java/C# drivers).
--
- Dual Display Mode (Operator & Engineering):
- Compact View: High-contrast LCD terminal front-panel featuring gross/net indication, live status flags, load slider, and membrane keypads (
ZERO,TARE,CLEAR TARE). - Extended View: Full engineering dashboard with network interface binding, TCP port selection, decimal resolution, engineering units, scale capacity, and live bidirectional socket traffic logging.
- Compact View: High-contrast LCD terminal front-panel featuring gross/net indication, live status flags, load slider, and membrane keypads (
- Comprehensive Industrial Protocol Support:
- Instant response to stable and immediate weight requests (
S,SI). - Dedicated zeroing and taring functions (
Z,T,TAC). - Manual Tare (
TA <value>): Allows the MES to preset a known container/tare value remotely. - Multi-Platform Handshake: Handles platform status queries and scale selection blocks (
AR 010->AB 1andSNS 1->SNS A).
- Instant response to stable and immediate weight requests (
- Metrology & High Resolution:
- Configurable resolution up to 5 decimal places (
0.00001). - Selectable engineering units (
g,kg,mg,lb). - Toggleable dynamic/stable states and simulated overload/over-range conditions (
+/OVERLOAD).
- Configurable resolution up to 5 decimal places (
- Low Latency: Sockets operate with
TCP_NODELAYenabled to prevent packet batching (Nagle's algorithm) and ensure immediate telegram round-trip times.
| Command | Description | Simulated Response |
|---|---|---|
S |
Request stable net weight | S S <10-char value> <uom>\r\n |
SI |
Request immediate / dynamic weight | S D <10-char value> <uom>\r\n |
Z |
Zero the scale | Z A\r\n |
T |
Tare the current load | T S <10-char value> <uom>\r\n |
TAC |
Clear tare | TAC A\r\n |
TA <val> |
Preset manual tare from MES | TA A <10-char value> <uom>\r\n |
AR 010 |
MMR query platform / application block | AB 1\r\n |
SNS 1 |
Select scale / platform 1 | SNS A\r\n |
I2 / I4 |
Instrument serial number and info query | Identification string response |
Requires Java 11 or higher (no build tools or third-party dependencies required).
java SimScaleSics.java

