Bench Commissioning Plan — Juliet Coffee Water System
| Field | Detail |
|---|---|
| Document Number | BENCH-001 |
| Revision | Rev B — added Phase 0 (receiving inspection); reframed loop calibrator as optional with workarounds |
| Anchored to | Wiring plan WIRE-001; System overview RO-SPEC-001 |
| Audience | Builder doing bench work on the PLC / HMI / drives before the panel is mounted on the skid and before the system is plumbed |
| Goal | A fully-programmed PLC and HMI with every I/O point validated against a known stimulus, and every drive proven on Modbus, before any field wiring or wet commissioning starts. Phase 0 is the day-the-parts-arrive smoke test that precedes the rest. |
1. Purpose & Scope
Bench commissioning is the period between "the parts are in" and "the panel is mounted on the skid". It exists because:
- The control program (ladder + HMI screens + Modbus scanning + alarm handling + recipe management) is the longest pole in the build, and it does not need water, plumbing, or pumps to be developed and tested.
- Catching a wiring or polarity mistake on a workbench takes 30 seconds. Catching the same mistake inside a sealed enclosure mounted on a wet skid takes 30 minutes.
- The 240 V feed to the panel is a separate piece of work (probably needs a licensed electrician to pull a circuit at the host facility). Decoupling PLC commissioning from that feed lets the two streams of work run in parallel.
1.1 In scope
- Phase 0 — receiving inspection / smoke test. The day the AutomationDirect parts arrive. Confirm every module boots, the PLC programming pipeline is up, and every I/O point responds to a basic stimulus. Output is "everything works, ready for Phase A" or "module X is dead, here's the warranty claim". Lower-bar than Phase A — no precision stimuli, no HMI development, no control logic — explicitly designed to fit in one weekend.
- Phase A — PLC dry bench. PLC, HMI, NDR-120-24, and the full discrete / analog / RTD / relay rail brought up off a single 120 V wall outlet. Every I/O point exercised with a known stimulus. Full ladder program and HMI screens developed and validated.
- Phase B — drive bench. A 240 V drop added to the bench. VFDs commissioned one at a time, with no motor connected. Modbus daisy-chain proven end-to-end. Run/stop relay outputs and status inputs verified.
- Phase C — wet test (out of scope here). Pump rotation bump-test, sensor-by-sensor wet calibration, PID loop tuning, mineral-dosing calibration. Documented separately as part of skid commissioning.
1.2 Out of scope
- Plumbing or any wet work.
- Final panel mounting in the enclosure (bench uses a temporary backboard).
- 240 V circuit installation at the host facility (precondition for Phase B, not a bench task).
- DEH plan-check submittal.
1.3 Success criteria — exit conditions
| Phase | Exit condition |
|---|---|
| 0 complete | PLC boots; all 5 I/O modules show as present and matched in Productivity Suite Hardware Configuration; every discrete input pin responds to a +24 V jumper; every relay output clicks when forced from the IDE; every analog channel returns a non-zero, non-pegged reading from a coarse stimulus (~1 kΩ resistor); every RTD channel returns ~25 °C from a 110 Ω resistor. Confidence that AutomationDirect sent functional parts. |
| A complete | PLC and HMI online; every discrete input toggles its tag in the program when stimulated; every analog channel reads correct engineering units across its range; every relay output fires under program control; every RTD channel reads correct temperature against a known resistance; full HMI screen set navigable; recipe management saves and loads. |
| B complete | All three drives boot, report status to the PLC over Modbus, accept speed setpoints from the PLC, and start/stop on PLC relay command — without motors connected. |
| Bench done | Whole panel can be unbolted from the bench backboard, mounted in its final NEMA enclosure, and re-energised on the skid with no surprises. The control program does not change between bench and field — only the field-side wires move. |
2. Bench Bill of Materials
These are bench-only items — test gear and consumables that are not part of the delivered system and are not on the main BOM. Total budget: ~$50–80 for Phase 0 alone, ~$100–150 for full Phase A if you don't already own this stuff.
2.1 Always required (Phase 0 + A + B)
| Item | Purpose | Approx. cost | Notes |
|---|---|---|---|
| Programming PC | Productivity Suite IDE + CM5 Series Software v8.0 | already owned | Both tools are free downloads from AutomationDirect. Windows 10/11 required. A Beelink (or any small Windows mini PC) works fine — same as a laptop. If headless, RDP from your normal machine and put the Beelink on wired Ethernet for stable downloads. |
| USB-A → USB-microB cable | PLC programming connection | $5 | Or use Ethernet — the P2-550 supports both. |
| Multimeter | Continuity, voltage, current sanity checks | already owned | Any decent DMM. |
| Jumper wire kit (M/M, M/F, F/F, ~6") | Toggle discrete inputs by jumping +24 V into the input pin | $10 | A bag of pre-crimped lab jumpers; also useful for dry-side relay output testing. |
| LED indicators (~10 ×) + 2.2 kΩ ¼ W resistors (~10 ×) | Visual feedback when a relay output fires | $5 | One LED per relay output; LED + resistor in series across the output's NO contact and 0 V (with +24 V on the common). When the relay closes, the LED lights. |
| Bench DIN rail (~18 in) | Mount the PLC + I/O modules + NDR-120-24 + a small terminal-block strip | included in main BOM (DN-R35S1) | Cut a piece off the main BOM rail stock; this section folds back into the final panel later. |
| Backboard (½" plywood, ~24" × 18") | Mount the DIN rail to something rigid | $10 | Drill four mounting holes for the rail; spare desk space works too. |
| Cat 5e/6 patch cable (~3 ft) | PLC ↔ HMI Ethernet link | $5 | Same cable used in the final panel — folds in. |
| 120 V cord set | Get power into the P2-01AC and 24 V PSU | $0–10 | Cut the female end off any old extension cord and land L/N/G on terminals. Or build a fused inline cord (1 A inline fuse) from a hardware-store lamp-cord pigtail. Better: wire it through CB-4 (GMCBU-1C-20) so the bench feed mirrors the final panel. |
| 24 VDC supply | Power discrete-input commons, P2-08AD-2 external 24 V input, future field devices | already on main BOM | The Mean Well NDR-120-24 on the main BOM is the right answer. If it hasn't arrived yet: use a $25 generic 24 V DIN-rail PSU from Amazon, or a $15 24 V wall wart with the barrel chopped off, as a Phase 0 stopgap. Either gets you unblocked tonight; swap to the NDR-120-24 when it arrives. |
2.2 Phase A additions (precision stimulus)
The items below are about producing precise, repeatable stimulus signals so you can verify engineering-unit scaling and exact alarm setpoints. None of them are required for Phase 0. Most have free or cheap workarounds called out in the rightmost column.
| Item | Purpose | Approx. cost | Notes & workarounds |
|---|---|---|---|
| 4–20 mA / 0–10 V loop calibrator | Drive each analog input from a known stimulus, sweep across its range, hit alarm setpoints precisely | $0–500 | Optional. Workarounds: (a) use the actual sensors (atmospheric for PTs ≈ 0 psi gauge; distilled / tap water + Hanna 1413 µS/cm calibration solution for CTs at known points); (b) use the IDE's tag-force feature to test alarm logic without injecting real signals at the analog input; (c) build a $5 voltage divider (10-turn pot + 9 V battery + 5 V regulator) for V source, and a similar pot + 1.2 kΩ resistor across the 24 V bus for mA source. If buying: $50 for a Mustool MT-688 / BSIDE T01, or wait for a used Druck DPI 802 or Fluke 715 in the $250–350 range on eBay. See loop-calibrator-spec.md in the ebay-finder project for a full requirements analysis. |
| Decade resistance box or a kit of 1 % precision resistors (100 Ω, 138.5 Ω, 1 000 Ω, 1 385 Ω) | Simulate Pt100 and Pt1000 RTDs at known temperatures for engineering-unit verification | $30 box / $5 resistors | 100 Ω = 0 °C on Pt100, 138.5 Ω = 100 °C on Pt100. 1 000 Ω = 0 °C on Pt1000. For Phase 0 a single 110 Ω resistor (reads ~26 °C) is enough to prove the channel works. |
| Pushbutton momentary switches (2–3 ×) | Stand in for level switches and demand switches during sustained ladder testing | $5 | Any panel-mount or breadboard pushbutton. Jumper wires work too; pushbuttons are nicer ergonomically when you're toggling the same input dozens of times. |
2.3 Phase B additions (240 V drive bench)
| Item | Purpose | Approx. cost | Notes |
|---|---|---|---|
| 240 V bench drop | Feed VFDs from a temporary L6-20 receptacle | depends on facility | Cleanest path: licensed electrician pulls a 240 V / 20 A 2-pole circuit off the host facility panel to a single L6-20R receptacle near the bench. If you already have a welder or dryer outlet (L14-30, NEMA 6-50, etc.) within reach, an adapter cable also works for one drive at a time. |
| L6-20P → terminal lugs cord | Get the 240 V feed into the bench breakers | $20 | Build from L6-20P plug + 12 AWG SO cord; lands on the line side of CB-1. |
3. Phase 0 — Receiving Inspection / Smoke Test
3.1 Purpose
Phase 0 is what you do the day the AutomationDirect parts arrive. Goal: prove every module is functional before it sits on a shelf for weeks while you write the program.
This is intentionally a lower bar than Phase A:
- No precision stimuli — a $0.50 1 kΩ resistor is fine for proving an analog channel responds; you don't need engineering-unit accuracy yet.
- No HMI screen development — just confirm the HMI boots, lights up, and talks Ethernet to the PLC.
- No control logic — just hello-world ladder rungs that pass an input through to an output.
- No 240 V required — drives can be deferred to a later session if your bench doesn't have a 240 V drop yet.
- One weekend at most. Probably one evening if everything in the box works.
Output: either "every module passed, ready to start writing the real program (Phase A)" or "module X is dead, here's the AutomationDirect RMA ticket". Either way, you find out now — not three weeks into program development.
3.2 What you need vs. what's in the box
| Source | Items |
|---|---|
| In the AutomationDirect box | P2-01AC, P2-11B, P2-550, P2-16ND3-1, P2-08TRS (×2), P2-08AD-2, P2-06RTD, NDR-120-24 (if shipped), CM5-T10W (if shipped), DIN rail, terminal blocks, jumpers |
| You source today | Multimeter, jumper wire kit, ~10 LEDs + 2.2 kΩ resistors, 1× 1 kΩ resistor (analog smoke test), 1× ~110 Ω resistor (RTD smoke test), 120 V cord set, USB-A → USB-microB cable, Cat 5e patch cable |
| You source if NDR-120-24 hasn't arrived | Any 24 VDC source — generic DIN-rail PSU, wall wart, even a stack of 16 AA batteries in a holder. Phase 0 only draws a few hundred mA on the 24 V rail. |
| You source if HMI hasn't arrived | Nothing — skip §3.8 and come back to it when the CM5 ships. |
| Defer to Phase B | 240 V drop, L6-20 cord, line reactors, VFD wiring. Phase 0 leaves the GS20 drives in their boxes. |
See §2.1 for the full required list.
3.3 Programming machine setup (~30 min, do this before parts arrive)
- On the Beelink (or any Windows 10/11 machine), download and install Productivity Suite from
automationdirect.com/support/software-downloads— search "Productivity Suite". Free, ~700 MB installer. - Same site, download and install C-more CM5 Series Software v8.0. Free, ~500 MB. (Skip if HMI hasn't arrived.)
- If the Beelink is headless: enable Remote Desktop, install on its wired Ethernet, and RDP from your normal machine. Wired Ethernet matters — the IDE is unhappy if the PLC connection drops mid-download.
- Reboot once after both installs to clear any USB driver staging.
You can do this step before any hardware arrives. It removes a multi-hour setup blocker from the day the box shows up.
3.4 Mount and power (~1 hour)
Mount on the bench backboard, top to bottom, per the layout in §4.1:
P2-01AC ─ P2-11B ─ P2-550 ─ P2-16ND3-1 ─ P2-08TRS ─ P2-08TRS ─ P2-08AD-2 ─ P2-06RTD
NDR-120-24 (or stopgap 24 V supply)
+24 V / 0 V terminal-block bus
| Step | What | Verify |
|---|---|---|
| 1 | Cut a ~18 in piece of DIN rail; screw it to the backboard with 4 wood screws. | Rail is rigid; modules slide on without binding. |
| 2 | Snap on the P2-01AC + P2-11B base. Snap the P2-550 CPU into the leftmost slot of the base. Snap the four I/O modules into slots 1–4 in this order: P2-16ND3-1 (slot 1), P2-08TRS #1 (slot 2), P2-08TRS #2 (slot 3), P2-08AD-2 (slot 4), P2-06RTD (slot 5). | Each module clicks home; the base's status LEDs are unobstructed. |
| 3 | Snap on the NDR-120-24 (or temporary 24 V PSU) below the PLC base. | — |
| 4 | Wire P2-01AC L and N to a 120 V cord; bond G to the cord's ground pin. | Multimeter at P2-01AC L–N reads 0 V (cord unplugged). |
| 5 | Wire NDR-120-24 input from the same 120 V cord. Output +V and −V to a 4-block terminal strip on the same rail. | Multimeter at PSU output terminals reads 0 V (cord unplugged). |
| 6 | Plug in the 120 V cord. | P2-01AC LED solid; P2-550 CPU LEDs come up; NDR-120-24 DC OK LED on. Multimeter at the +24 V bus reads 24 VDC ± 0.5 V. |
If anything smokes, smells hot, or trips the shop breaker — pull the plug immediately and re-check polarity. This is what the inline fuse in the cord set is for.
3.5 Talk to the PLC (~30 min) — the real receiving-inspection moment
This is the step that proves AutomationDirect sent you working hardware.
| Step | What | Verify |
|---|---|---|
| 1 | USB-microB from the Beelink to the P2-550. Launch Productivity Suite. File → New Project → P2-550 CPU. | IDE opens a blank project. |
| 2 | CPU → Choose CPU → USB. | IDE finds the P2-550, shows its serial number and firmware version. |
| 3 | Setup → Hardware Configuration → Read from PLC. | The IDE reads the populated base and shows all 5 I/O modules in slots 1–5 with the correct part numbers. This is the single most important Phase 0 check — if a module is missing or shows the wrong part number, that module is either DOA or seated badly. Re-seat and retry; if still missing, RMA. |
| 4 | Set the P2-550 ETH1 IP to 192.168.10.10/24 per WIRE-001 §11.2. Download. | OLED on the front of the P2-550 displays the new IP. ping 192.168.10.10 from the Beelink responds. |
If §3.5 step 3 passes for all 5 modules, 80 % of the receiving-inspection risk is gone — the rest of Phase 0 is just confirming each I/O point physically responds.
3.6 Hello-world ladder (~30 min)
In the IDE, drop in a single rung:
X1 ──┤ ├── ( Y1 ) // P2-16ND3-1 input 1 → P2-08TRS #1 output 1
Tag X1 to the P2-16ND3-1 channel 1 input; tag Y1 to the P2-08TRS #1 channel 1 relay. Download. Put the IDE in Online → Monitor mode so you can watch tags update live.
This rung exists for one reason: to give you a fast, non-precision way to confirm "input toggled → output fires" works end-to-end. Every smoke test below will use this rung pattern.
3.7 Smoke-test every I/O point (~2–3 hours)
For each test below, you're not verifying engineering units or alarm setpoints — you're confirming the channel responds to a stimulus. Pass criterion is "the tag changes state when I poke it; it doesn't change when I don't." If a channel stays stuck, swap the wire to a known-good channel; if the channel is still stuck, that channel is dead.
3.7.1 Discrete inputs — P2-16ND3-1
- Wire one of the module's
C(common) terminals to the bus 0 V. - With the IDE in monitor mode watching the input tags, take a jumper wire from the +24 V bus and briefly tap each input pin X1 → X16 in turn.
- The corresponding tag should flip true, then false when you remove the jumper.
Tick all 16 pins on the §7 sign-off checklist as they pass.
3.7.2 Relay outputs — both P2-08TRS modules
- Wire one LED + 2.2 kΩ resistor in series across the NO contact of channel 1 on each module: NO contact to LED anode, LED cathode through resistor to the bus 0 V; module common to +24 V bus.
- Modify the hello-world ladder so each Y output (Y1 → Y8 on each module) can be forced from the IDE:
[ Force_Y1 ]──( Y1 )— or use the IDE's built-in Tag Force feature on the output tag directly. - Force each output true: hear the relay click, see the LED light. Force false: click, LED off. Move the LED to the next channel and repeat.
You don't need 16 LEDs — one LED that you walk across all 16 outputs is fine for Phase 0.
3.7.3 Analog inputs — P2-08AD-2
- Wire the module's
+24 Vand0 Vterminals to the bus (this module needs external 24 V). - Smoke test for each channel 1 → 8: short the channel's
I+andI−pins together (or put a 250 Ω resistor across the bus 24 V and the channelV+for a voltage channel). Watch the raw count tag in the IDE. - Pass criterion: the raw count is non-zero and not pegged at full scale. A short on a current channel should read near 0 mA; a 250 Ω voltage divider off 24 V should read in the middle of the channel range.
Engineering-unit scaling and exact alarm setpoints are a Phase A problem.
3.7.4 RTD input — P2-06RTD
- Wire a 110 Ω resistor across the channel 1 EX+ / Sense / RTN terminals (3-wire jumper: EX+ and Sense to one resistor leg, RTN to the other).
- Configure the channel as Pt100 in the IDE's Hardware Configuration.
- Pass criterion: temperature tag reads ~26 °C (110 Ω is roughly 26 °C on a Pt100 curve). ± a few degrees is fine — this is a smoke test, not a calibration.
3.8 HMI smoke test (~30 min, if CM5 has arrived)
| Step | What | Verify |
|---|---|---|
| 1 | Wire CM5-T10W +24 V and 0 V to the bus; bond chassis ground. Patch CM5 ETH1 to P2-550 ETH1 with a Cat 5e cable. | HMI boots within ~30 s; backlight on; touchscreen responsive. |
| 2 | Set CM5 ETH1 to 192.168.10.20/24 from the HMI's setup screen. | HMI on the same /24 as the PLC. |
| 3 | Launch CM5 Series Software v8.0 on the Beelink; File → New Project → CM5-T10W; Panel → Discover over Ethernet. | HMI shows up in the discovery panel with the IP you set. |
| 4 | Drop one button on a blank screen, tied to a single PLC tag (Test_Bit_1). Download. Tap it. | The bit flips in the PLC online monitor. |
That's it for Phase 0 on the HMI. Real screen development is Phase A.
3.9 Drive smoke test (~15 min/drive, only if 240 V drop is available)
Most users will defer this to Phase B. If you happen to have a 240 V outlet near the bench now and want to confirm the GS20 drives boot:
- Wire CB-1 → LR2-21P0-1PH-A → VFD-101 R / S terminals. Motor side disconnected.
- Bond drive PE to the bench ground.
- Energise CB-1.
- Drive front panel boots; default display shows 0.00 Hz; no fault codes.
That's all you do at Phase 0 — full Modbus / parameter / run-stop testing is Phase B.
3.10 What you do NOT need at this stage
- A loop calibrator (Phase A; even then, optional)
- Recipe management or alarm logic
- Final HMI screens
- Modbus configuration on the drives
- 240 V power (unless you happen to have it for the optional §3.9)
- Field wiring to any sensor or pump
- The final NEMA enclosure — bench backboard only
3.11 Exit Phase 0
You exit Phase 0 with confidence that:
- Every module AutomationDirect shipped is alive and recognised by the IDE.
- The Beelink ↔ PLC ↔ HMI communication path works end-to-end.
- Every I/O point physically responds to a stimulus.
- You have a baseline working PLC project file in source control to start Phase A from.
If anything failed: file the AutomationDirect RMA before moving on. Their warranty turnaround is typically a week.
4. Phase A — PLC Dry Bench
4.1 What you mount
Mount on the bench backboard, top to bottom:
┌─────────────────────────────────────────────────────────┐
│ P2-01AC ─ P2-11B ─ P2-550 ─ P2-16ND3-1 ─ P2-08TRS ─ │
│ P2-08TRS ─ P2-08AD-2 ─ │
│ P2-06RTD │
├─────────────────────────────────────────────────────────┤
│ Mean Well NDR-120-24 │
├─────────────────────────────────────────────────────────┤
│ Small terminal-block strip (~12 × DN-T12-A on rail) │
│ +24 V bus (4 blocks jumpered with DN-24J2Y) │
│ 0 V bus (4 blocks jumpered) │
│ Spare blocks for ad-hoc test jumpers │
└─────────────────────────────────────────────────────────┘
This is the same DIN rail layout that goes into the final panel — when bench work is done, you unbolt it from the backboard and screw it onto the enclosure backplate.
4.2 Power-up — 120 V only
| Step | What | Verify |
|---|---|---|
| 1 | Wire P2-01AC L and N terminals to the 120 V fused cord; bond G to a temporary ground (any cold-water pipe or grounded outlet third pin via a cord stub). | Multimeter reads 120 VAC at the P2-01AC input terminals. |
| 2 | Wire NDR-120-24 input from the same 120 V cord; output to the +24 V / 0 V bus on the terminal-block strip. | Multimeter reads 24 VDC ± 0.5 V across the bus. |
| 3 | Plug in the 120 V cord. | P2-01AC LED solid; P2-550 LEDs come up; NDR-120-24 DC OK LED on. |
If anything smokes, smells hot, or trips the shop breaker — pull the plug immediately and re-check polarity and fusing. This is what the inline fuse is for.
4.3 PLC and HMI bring-up
| Step | What | Verify |
|---|---|---|
| 1 | Connect laptop to P2-550 via USB-microB. Install / launch Productivity Suite IDE. | IDE finds the CPU, OLED on the P2-550 shows IP / status. |
| 2 | Set P2-550 ETH1 IP to 192.168.10.10/24 (per WIRE-001 §11.2). | ping 192.168.10.10 from the laptop responds. |
| 3 | Wire CM5-T10W +24 and 0V to the bus; bond chassis ground. Patch CM5 ETH1 to P2-550 ETH1 with the Cat 5e cable. | HMI boots; backlight on; touchscreen responsive. |
| 4 | Set CM5 ETH1 to 192.168.10.20/24. Install / launch CM5 Series Software v8.0 on the laptop. | HMI shows up in the CM5 software's discovery panel. |
| 5 | Download a one-button test screen with a single bit tied to a PLC tag. Toggle it. | Tag flips in the PLC online monitor. |
At this point the platform is alive. Everything from here is exercising I/O.
4.4 Discrete-input validation — P2-16ND3-1
For each input X1 through X9 (per WIRE-001 §5):
- In the IDE, watch the corresponding tag (
LSH_101,LSL_101,FT_101_PULSE, etc.). - With the module commons jumpered to 0 V, jump +24 V into the input pin with a test lead.
- Tag should go true. Remove the jumper; tag goes false.
- Tick the box on the §7 sign-off checklist.
For the three flow-pulse inputs (FT-101, FT-102, FT-103), also verify that a fast manual toggle (~5 cycles/sec by tapping the lead on and off) produces a non-zero rate in the PLC's pulse-counting logic.
4.5 Analog-input validation — P2-08AD-2
The module needs external 24 V — wire its +24 V and 0 V terminals to the bus before testing.
For each channel 1 through 8 (per WIRE-001 §6):
| Test signal | What to verify on the HMI |
|---|---|
| 0.5–4.5 V channels (PT-101…PT-104) — feed 0.5 V from the calibrator → expect 0 psi; feed 2.5 V → expect ~150 psi; feed 4.5 V → expect 300 psi | Pressure display matches within ± 1 % of reading |
| 4–20 mA channels (CT-101, CT-102, CT-103, LT-102) — sweep the loop calibrator from 4 mA → 12 mA → 20 mA | Engineering value sweeps from 0 → 50 % → 100 % of the range configured for that tag |
This validates both the channel hardware and the engineering-unit scaling defined in the program. It also lets you exercise the deviation alarm logic on CT-103 by dialling the simulated reading away from the active recipe target.
No calibrator on hand? The Phase 0 smoke test (§3.7.3) already proved the channels work. To validate engineering-unit scaling without a calibrator: (a) wire up the actual sensors and use atmospheric or distilled-water reference points, or (b) build a 10-turn potentiometer voltage divider off the 24 V bus for V channels and a similar pot in series with a 1.2 kΩ resistor for mA channels — accuracy is ±2 % which is enough to verify scaling math but not enough to verify alarm setpoints precisely. For alarm-setpoint verification, use the IDE's tag-force feature on the engineering-unit tag downstream of the analog scaling instead of injecting at the analog input.
4.6 RTD-input validation — P2-06RTD
Channel 1 (TT-101) only is populated.
| Resistance | Pt100 reads | Pt1000 reads |
|---|---|---|
| 100 Ω | 0 °C | n/a |
| 138.5 Ω | 100 °C | n/a |
| 1 000 Ω | n/a | 0 °C |
| 1 385 Ω | n/a | 100 °C |
Wire the resistor across the EX+ / Sense / RTN terminals (3-wire jumper: EX+ and Sense to one resistor leg, RTN to the other). Verify the displayed temperature matches the table within ± 1 °C.
4.7 Relay-output validation — both P2-08TRS modules
Wire one LED + 2.2 kΩ resistor in series across each output's NO contact, with +24 V on the common (or 120 V if you also want to verify AC switching — your call, but DC at 24 V is safer on the bench).
For each output Y1 through Y8 on each module (per WIRE-001 §8 and §9):
- In the IDE, force the corresponding output tag true.
- Hear the relay click; LED lights.
- Force false; click; LED off.
- Tick the box.
4.8 Program development & validation
With every I/O point proven, the bench is now a complete simulator. You can:
- Toggle level switches with pushbuttons to exercise the tank cascade interlock (T-101 low + T-102 low → P-101 priority).
- Sweep PT-103 with the loop calibrator to verify the high-pressure alarm latches and clears correctly.
- Force the UV fault input to verify SV-TREAT and SV-ICE close, the HMI annunciates, and the alarm-clearance workflow demands operator acknowledgement.
- Build and test all HMI screens: main mimic, alarm bar, recipe editor, trend displays, manual-override page, diagnostic page.
- Simulate full fill cycles by jumping inputs in sequence — start with a "T-102 low" trigger, watch SV-TREAT open, watch the metering-pump relay outputs fire at the recipe rate, watch the simulated CT-103 reading drift toward the target.
This is the longest phase by elapsed time (probably weeks of evening work) and the highest-value one. Every bug caught here is a bug not caught at 11 p.m. with a flooded shop.
5. Phase B — Drive Bench
Precondition: Phase A is complete and signed off; 240 V drop is in place at the bench (L6-20R or equivalent). All three drives, both line reactors (LR2-21P0-1PH-A and 2× LR2-20P5-1PH), and CB-1/2/3 are mounted on the bench backboard per WIRE-001 §10.1.
5.1 First drive — VFD-101 alone
| Step | What | Verify |
|---|---|---|
| 1 | Wire CB-1 → LR2-21P0-1PH-A → VFD-101 R/S terminals. Leave the motor side disconnected. Bond drive PE to the bench ground bus. | Multimeter reads 240 VAC at the drive R/S terminals after CB-1 is closed. |
| 2 | Energise CB-1. | Drive front panel boots; default display shows 0.00 Hz. No fault codes. |
| 3 | On the drive keypad, set parameters per the Phase A program assumptions: Modbus address = 1, baud = 38 400, 8N1, RTU; motor nameplate (HP, FLA, base freq = 60 Hz, base RPM per pump motor); accel/decel ramps; max freq = 60 Hz. | Drive accepts and saves parameters. |
| 4 | Wire the drive's RS-485 port (S+ / S−) to the P2-550 RS-485 port (D+ / D−) with Q8302-1 cable. No termination yet — single-drive bus is short enough to skip it for this test. | — |
| 5 | In the IDE, verify Modbus master polls drive at address 1 and reads its status register (running / fault / freq). | Status register shows "stopped, no fault." |
| 6 | Wire P2-08TRS #1 Y6 (VFD-101 RUN) to drive MI1; drive DCM to bus 0 V. Wire drive MO1 (status) to P2-16ND3-1 X6; MCM to bus 0 V. | — |
| 7 | From the IDE, force Y6 true. | Drive display goes from 0.00 Hz to whatever speed setpoint the PLC wrote (test with 10 Hz first). PLC reads X6 high (drive running). |
| 8 | Force Y6 false. | Drive ramps to 0 Hz; X6 goes low. |
5.2 Add VFD-102 and VFD-103 to the daisy chain
| Step | What |
|---|---|
| 1 | Wire CB-2 → LR2-20P5-1PH → VFD-102 (motor side disconnected). Repeat parameter set with Modbus address = 2. |
| 2 | Wire CB-3 → LR2-20P5-1PH → VFD-103 (motor side disconnected). Modbus address = 3. |
| 3 | Extend the RS-485 daisy chain: PLC → VFD-101 → VFD-102 → VFD-103. |
| 4 | Install 120 Ω termination resistors at both ends of the bus (PLC end across D+/D−, VFD-103 end across S+/S−) per WIRE-001 §11.1. |
| 5 | Verify the PLC polls all three drives and reads consistent status with no Modbus timeout errors over a 10-minute sustained scan. |
| 6 | Wire run-command outputs Y7 → VFD-102 MI1, Y8 → VFD-103 MI1; status inputs X7 ← VFD-102 MO1, X8 ← VFD-103 MO1. |
| 7 | Cycle each drive run/stop from the IDE. Confirm correct speed setpoint propagation and status round-trip on each drive independently. |
5.3 Common gotchas
- Modbus polarity reversed. Symptom: zero response from any drive. Fix: swap D+ ↔ D− at the PLC.
- Termination missing or doubled. Symptom: intermittent timeouts that worsen as you add drives. Fix: 120 Ω at exactly two points — bus ends only.
- Drive parameter set saved but not active. GS21 series usually requires a power cycle after Modbus address / baud changes. Cycle CB-x.
- Run command flickers. Symptom: drive starts and stops repeatedly. Fix: confirm the relay output is configured for latched operation in the ladder, not pulsed.
- Drive faults on first start with
oC(overcurrent). Symptom: drive trips the moment Y6 closes. With no motor connected, this typically means the drive is configured for sensorless vector control with no auto-tune done; switch to V/Hz mode for bench testing and re-enable SVC at site commissioning when the motor is connected.
5.4 What's still NOT tested at the end of Phase B
These are deliberately left for site commissioning (Phase C):
- Actual motor rotation direction (need a motor to bump-test).
- Closed-loop PID tuning on PT-104 → VFD-103 (need real distribution-header pressure feedback).
- Mineral-dosing calibration (needs water and CT-103 wet readings).
- Tank level transmitter calibration (needs T-102 with known fill levels).
- UV unit operational behaviour (the lamp shouldn't be run dry — bench-power the controller for ≤ 30 seconds to verify the controller boots, then leave it alone until wet commissioning).
6. Phase C — Wet Test (Out of Scope Here)
Documented separately as part of skid commissioning. High-level only:
- Bolt the panel into its NEMA enclosure on the skid; transfer field wiring from the bench terminal strip to the final TB1–TB8 strips per WIRE-001 §2 / §10–§12.
- Connect motors to drives one at a time; bump-test for rotation; reverse two phase leads if needed.
- Connect each sensor; verify the bench-validated reading at the HMI now reads a sensible field value.
- Wet-run the system in manual mode (HMI manual-override page) to verify each subsystem in isolation: RO production, recirculation, ice-machine supply, T-102 fill with each metering pump.
- Switch to auto mode; tune the PT-104 → VFD-103 PID loop for distribution constant-pressure control.
- Calibrate mineral dosing against laboratory-verified TDS measurements (per system overview §5.5).
- Sign off the as-built wiring document with field cable lengths recorded.
7. Sign-off Checklist
Tick each item as you complete it. Re-test from the top if you change any I/O assignment in the PLC program.
Phase 0 — Receiving Inspection
Programming machine
- Productivity Suite installed on Beelink (or laptop)
- CM5 Series Software v8.0 installed (skip if HMI not yet shipped)
Mount & power
- DIN rail screwed to backboard
- PLC base + CPU + 5 I/O modules snapped in (slots 1–5: 16ND3-1, 08TRS, 08TRS, 08AD-2, 06RTD)
- 24 V supply (NDR-120-24 or stopgap) wired and reads 24 V ± 0.5 V at the bus
- P2-01AC powered from 120 V cord; P2-550 LEDs healthy
Talk to the PLC
- IDE finds CPU over USB
- Hardware Configuration → Read from PLC shows all 5 I/O modules with correct part numbers in the right slots ← the receiving-inspection moment
- ETH1 set to 192.168.10.10, pings from Beelink
Hello-world ladder
- One-rung X1→Y1 ladder downloads and runs
Smoke test — discrete inputs (P2-16ND3-1)
- All 16 input pins toggle their tag in monitor mode when jumped to +24 V
Smoke test — relay outputs (both P2-08TRS)
- All 16 output channels click + light an LED when forced from the IDE (one LED walked across all channels is fine)
Smoke test — analog input (P2-08AD-2)
- Module +24 V wired
- All 8 channels return a non-zero, non-pegged raw count from a coarse stimulus (short, or 250 Ω divider)
Smoke test — RTD input (P2-06RTD)
- Channel 1 returns ~26 °C from a 110 Ω resistor (Pt100 mode)
HMI smoke test (skip if not yet shipped)
- CM5-T10W boots and is responsive
- ETH1 set to 192.168.10.20, discovered by CM5 software
- Single-button test screen toggles a tag in the PLC
Drive smoke test (skip unless 240 V is available now)
- At least one VFD boots on 240 V with no fault codes
Phase 0 sign-off: _______________________ (date) — every module proven alive; OK to start Phase A
Phase A — PLC Dry Bench
Power-up
- P2-01AC: 120 VAC in, no smoke, status LED on
- NDR-120-24: 24 VDC ± 0.5 V at the bus, DC OK LED on
- P2-550: CPU LEDs healthy, OLED shows expected IP
PLC + HMI bring-up
- Productivity Suite connects via USB
- P2-550 ETH1 set to 192.168.10.10, pings from laptop
- CM5-T10W boots, touchscreen responsive
- CM5 ETH1 set to 192.168.10.20, discovered by CM5 software
- Test screen toggles a tag in the PLC
Discrete inputs (P2-16ND3-1)
- X1 LSH-101 — true on +24 V jump, false on remove
- X2 LSL-101 — true / false
- X3 FT-101 — toggles, pulse-rate logic counts
- X4 FT-102 — toggles, pulse-rate logic counts
- X5 FT-103 — toggles, pulse-rate logic counts
- X6 VFD-101 status — true / false
- X7 VFD-102 status — true / false
- X8 VFD-103 status — true / false
- X9 FS-101 — true / false
Analog inputs (P2-08AD-2)
- Module +24 V wired
- Ch 1 PT-101 — 0.5 V → 0 psi, 4.5 V → 300 psi
- Ch 2 PT-102 — 0.5 V → 0 psi, 4.5 V → 300 psi
- Ch 3 PT-103 — 0.5 V → 0 psi, 4.5 V → 300 psi
- Ch 4 PT-104 — 0.5 V → 0 psi, 4.5 V → 300 psi
- Ch 5 CT-101 — 4 mA → 0 µS/cm, 20 mA → 3 999 µS/cm
- Ch 6 CT-102 — 4 mA → 0 µS/cm, 20 mA → 1 000 µS/cm
- Ch 7 CT-103 — 4 mA → 0 µS/cm, 20 mA → 1 000 µS/cm
- Ch 8 LT-102 — 4 mA → 0 %, 20 mA → 100 %
- Recipe deviation alarm latches on simulated CT-103 mismatch
RTD input (P2-06RTD)
- Ch 1 TT-101 — 100 Ω → 0 °C, 138.5 Ω → 100 °C (Pt100) or 1 000 Ω → 0 °C, 1 385 Ω → 100 °C (Pt1000)
Relay outputs (P2-08TRS #1, slot 2)
- Y1 BV-101 — clicks, LED on/off
- Y2 UV-101 — clicks, LED on/off
- Y3 MP-A — clicks, LED on/off
- Y4 MP-B — clicks, LED on/off
- Y5 MP-C — clicks, LED on/off
- Y6 VFD-101 RUN — clicks, LED on/off
- Y7 VFD-102 RUN — clicks, LED on/off
- Y8 VFD-103 RUN — clicks, LED on/off
Relay outputs (P2-08TRS #2, slot 3)
- Y1 SV-RECIRC — clicks, LED on/off (note convention chosen per WIRE-001 §9)
- Y2 SV-ICE — clicks, LED on/off
- Y3 SV-TREAT — clicks, LED on/off
Program & HMI
- Tank cascade interlock exercised with simulated inputs
- High-pressure alarm latches and clears
- UV fault simulation closes SV-TREAT and SV-ICE; HMI annunciates; clearance workflow demands acknowledgement
- Recipe management: create, save, load, switch active recipe
- All HMI screens drawn and navigable
- Trend displays log all key process variables
- Datalogging to microSD verified (insert card, run for 10 min, pull and inspect file)
Phase B — Drive Bench
240 V bench drop installed and verified ☐
VFD-101 alone
- CB-1 closed, drive boots, no fault
- Modbus parameters set (addr 1, 38 400 8N1)
- PLC reads status register
- Run command Y6 spins drive to 10 Hz; status X6 reads back
- Stop command ramps drive to 0 Hz
Three-drive daisy chain
- VFD-102 added (addr 2)
- VFD-103 added (addr 3)
- 120 Ω terminations at both bus ends
- PLC sustains 10-minute scan with zero Modbus timeouts
- Each drive starts/stops independently from PLC
- Each drive accepts speed setpoints (test 10 Hz, 30 Hz, 60 Hz)
Phase B sign-off: _______________________ (date)
8. Cross-References
- WIRE-001 — Wiring plan — every wiring detail referenced from this doc lives there. This doc tells you what to test; WIRE-001 tells you how to wire it.
- RO-SPEC-001 §5 — Control system — I/O assignments and control-logic intent. The bench validates the program against this spec.
- RO-SPEC-001 §5.6 — PLC control logic summary — the behaviour list that Phase A's program-and-HMI testing exercises.
- RO-SPEC-001 §6 — Electrical requirements — branch-circuit and grounding conventions; same conventions apply on the bench.
- BOM Rev H — the procured hardware that this bench tests. Bench-only test gear (jumpers, LEDs, RTD resistors, optional loop calibrator) is not on the main BOM and lives in §2 of this doc.