⚠ Scene is in a background tab — browser may throttle it. Open in a separate window for best performance.
TANK FILL STATION v1.100
STOPPED
SIM SCAN: 
DISCONNECTED
Drag=Orbit · +−=Zoom · Arrows=Orbit
BRIDGE WS URL: Run acc-modbus-bridge.js first, then click CONNECT
ACC MODBUS BRIDGE  —  INSTALL GUIDE

What is the ACC Modbus Bridge?

A small Node.js program that runs on your PC and connects this browser scene to a real Modbus TCP or Modbus RTU master such as a PLC, SCADA system, or Modbus Poll software.


Step 1 — Download the installer

Download the zip file and extract it to a folder on your PC.

Download acc-modbus-bridge.zip

Step 2 — Install Node.js (one-time)

The bridge requires Node.js. Download the LTS version from nodejs.org and run the installer.


Step 3 — Run the installer

  1. Extract the zip file
  2. Windows: double-click install.bat
  3. macOS: double-click install.command
  4. Follow the on-screen prompts to choose Ethernet (TCP), Serial (RTU), or both
  5. The installer creates a start-modbus-bridge shortcut for you

Step 4 — Start the bridge

  1. Double-click start-modbus-bridge.bat (Windows) or start-modbus-bridge.command (macOS)
  2. Keep the terminal window open while using Modbus

Step 5 — Connect this scene

  1. Confirm the Bridge WS URL is ws://127.0.0.1:8502
  2. Click CONNECT — the badge turns amber when linked

Modbus Address Map — Tank Fill Station

  1. Coil 00001  →  Y1 Inlet Valve (master writes)
  2. Coil 00002  →  Y2 Drain Pump (master writes)
  3. Coil 00003  →  Y3 Overflow Alarm (master writes)
  4. Coil 00004  →  Y4 Mixer Motor (master writes)
  5. DI   10001  →  X1 Low Float 20% (master reads)
  6. DI   10002  →  X2 High Float 85% (master reads)
  7. DI   10003  →  X3 Start PB N.O. (master reads)
  8. DI   10004  →  X4 Stop PB N.C. (master reads)
  9. DI   10005  →  X5 E-Stop N.C. (master reads)
  10. DI   10006  →  X6 Auto/Manual Selector (master reads)
  11. DI   10007  →  X7 Inlet Valve PB Manual (master reads)
  12. DI   10008  →  X8 Drain Pump PB Manual (master reads)
  13. DI   10009  →  X9 Mixer PB Manual (master reads)
  14. DI   10010  →  X10 Overflow Float 95% (master reads)
  15. IR   30001  →  Tank Level ×10 — 0–1000 = 0.0–100.0% (master reads)

More tutorials at  accautomation.ca  ·  YouTube @ACCautomation

OUTPUTS Y
Y1
Inlet ValveSolenoid fill
Y2
Drain PumpEmpty tank
Y3
Overflow AlarmHigh-level warn
Y4
Mixer MotorAgitator drive

Level & Mode

Level: 0%
State: IDLE
Mode: MANUAL
Drag to orbit · Scroll/+−=Zoom · Arrows=Orbit
INPUTS X
X1
Low FloatAuto sensor
AUTO
X2
High FloatAuto sensor
AUTO
X10
Overflow FloatAuto — 95% level
AUTO
X3
StartN.O. Panel PB
X4
StopN.C. Panel PB
N.C.
X5
E-StopN.C. Latch — click to engage / release
N.C.
X6
Auto/ManualSelector switch
X7
Inlet Valve PBManual mode
X8
Drain Pump PBManual mode
X9
Mixer PBManual mode

Sequence Log

Open ACC PLC Simulator to link — or press RUN for standalone modeSCAN #0

TANK FILL STATION SCENE

Process Tank with Auto/Manual Control

An industrial process tank with an inlet solenoid valve, drain pump, agitator mixer, three float level switches, and an overflow alarm light. The floor-mounted control panel features an IEC-style emergency stop mushroom button, an Auto/Manual selector switch, and individual indicator lights for all key states. The tank operates in two modes: an automatic Fill→Mix→Drain cycle, and a manual mode where each device is controlled by individual pushbuttons on the panel.

I/O MAP
AddressDirDescription
X1INLow float switch — ON when fluid is at or below low level (20%), indicating tank approaching empty
X2INHigh float switch — ON when fluid above high level (85%)
X3INStart pushbutton — N.O.
X4INStop pushbutton — N.C.
X5INEmergency Stop — N.C. latching mushroom (click to engage, click again to release)
X6INAuto/Manual selector switch — OFF=Manual, ON=Auto
X7INInlet valve pushbutton (Manual mode) — N.O.
X8INDrain pump pushbutton (Manual mode) — N.O.
X9INMixer pushbutton (Manual mode) — N.O.
X10INOverflow float switch — ON when fluid reaches overflow level (95%). Use to trigger Y3 alarm and close inlet.
Y1OUTInlet solenoid valve — opens when ON
Y2OUTDrain pump motor — runs when ON
Y3OUTOverflow alarm — strobe light on top of control panel
Y4OUTMixer / agitator motor — runs when ON
ANALOG — MODBUS INPUT REGISTER (scene → master, read-only)
IR 30001OUTTank Level ×10 — integer 0–1000 represents 0.0–100.0%. Divide by 10 in your PLC to get the display value (e.g. 437 = 43.7%). Updates continuously during fill and drain. Use for analog bar display on HMI or SCADA trend. Available via Modbus TCP — connect the ACC Modbus Bridge, then read Input Register 30001.
FIVE STEPS TO PLC PROGRAM DEVELOPMENT

Use these five steps to develop your ladder program for this scene. Run standalone mode first to observe correct behaviour, then build and test your program in the ACC PLC Simulator.

STEP 1

Define the Task

A process tank must automatically fill to the high level (X2), mix for 15 seconds, then drain until empty (X1 OFF), and repeat. The control panel has a latching E-Stop mushroom (X5) that must immediately shut everything off when engaged. A separate Stop (X4) halts the auto cycle cleanly. An overflow float (X10) at 95% level must trigger the alarm (Y3) and close the inlet valve if the high float fails to stop filling. Manual mode allows individual operation of each device for maintenance.

STEP 2

Define the Inputs and Outputs

Three level sensors: X1=Low Float (20%), X2=High Float (85%), X10=Overflow Float (95%). Control inputs: X3=Start (N.O.), X4=Stop (N.C.), X5=E-Stop (N.C. latching mushroom — click to engage/release), X6=Auto/Manual selector. Manual pushbuttons: X7=Inlet, X8=Drain, X9=Mixer. Outputs: Y1=Inlet Valve, Y2=Drain Pump, Y3=Overflow Alarm (strobe on panel top), Y4=Mixer. Stop and E-Stop are N.C. for safety. X10 gives the PLC a dedicated physical overflow input — your program uses X10 to energise Y3 and force Y1 OFF. When using the ACC Modbus Bridge, the scene also publishes a continuous analog level value as Input Register IR 30001 (scaled ×10: 0–1000 = 0.0–100.0%), which can drive an HMI bar graph or SCADA trend without requiring extra float switches.

STEP 3

Develop the Sequence of Operation

Auto cycle: (1) Fill — open inlet (Y1) until X2=ON. If X10 activates before X2, alarm (Y3=ON) and close inlet. (2) Mix — close inlet, run mixer (Y4) for 15 seconds via timer. (3) Drain — stop mixer, run pump (Y2) until X1=ON (low level reached), then return to Idle. Manual mode: X7→Y1, X8→Y2, X9→Y4 directly (OTE rungs — outputs drop when button released). E-Stop (X5 latching): engaging X5 opens the N.C. contact, immediately de-energising all outputs regardless of mode or phase. The machine must not restart until X5 is released AND a new Start is given.

STEP 4

Develop the PLC Program

Use C bits to track which Auto phase is active (fill, mix, drain). A TON timer drives the 15-second mix phase. Structure the E-Stop and Stop as overriding conditions that de-energise all outputs when true. In manual mode, outputs use OTE (not OTL) so they drop when the button is released. Add an XIO X10 interlock on Y1 so the inlet valve cannot open while the overflow float is active, even in manual mode. Test each safety interlock independently. If using the ACC Modbus Bridge, read Input Register IR 30001 into a word register in your PLC program. Divide the raw value by 10 to obtain the tank level in tenths of a percent (e.g. raw 437 ÷ 10 = 43.7%). Use this value to drive an analog bar graph on your HMI, a SCADA trend historian, or add custom setpoint logic (e.g. begin drain at a programmable level rather than fixed float switches).

STEP 5

Test the Program

Test Auto mode: tank fills to 85%, mixer runs for 15 seconds, then drains completely. Test overflow: manually toggle Y1 ON and let the level reach 95% — Y3 alarm should activate and Y1 should close. Test E-Stop: engage the mushroom button at any point in the Auto cycle — all outputs must drop immediately. Release the mushroom and verify a new Start command is required to resume. Test Manual mode: verify each button controls only its device and outputs drop on release. Use the event log to track float switch transitions. If using the ACC Modbus Bridge: open ACC Modbus Poll, connect to the bridge, and monitor IR 30001 while the tank fills and drains — the value should climb from 0 to ~1000 during fill and fall back to 0 during drain. Confirm the value crosses the expected thresholds: 200 (20% low float), 850 (85% high float), and 950 (95% overflow) at the same moments X1, X2, and X10 change state in the I/O panel.