Replace RSLogix 500 SCP in Studio 5000: AOI + Module Scaling
Replace the RSLogix 500 SCP instruction in Studio 5000 Logix Designer. Compare 1756 I/O module Engineering Units scaling, AOI download, and custom AOI.
The SCP (Scale with Parameters) instruction is familiar to every RSLogix 500 programmer. Studio 5000 Logix Designer does not place a drop-in SCP on the instruction toolbar. The same linear map must be rebuilt through module engineering-unit scaling, a Rockwell sample Scale AOI, or a project-local AOI/CPT sequence. Plants that simply leave raw counts unscaled until “later” discover later that PID, HMI, and historian tags disagree about engineering units.
Y = ((X − Xmin) ÷ (Xmax − Xmin)) × (Ymax − Ymin) + Ymin — and clamp the result the way SCP did.
Preserve clamping behavior
RSLogix 500 SCP holds results at Ymin/Ymax when the raw input walks outside the configured span. Any Logix replacement must do the same, or sensor faults will drive out-of-range values into control. Use REAL math end-to-end; integer division truncates sub-LSB resolution that PID loops need.
Solution 1: module engineering units
For fixed transmitter spans, enable Engineering Units on the analog channel (1756-IF8/IF16, 1769-IF4/IF8, 5069-IF8, and similar). Enter low/high signal and low/high engineering values, download, and consume the scaled REAL tag directly. No ladder math is required. Limitation: the span is static at download—runtime HMI re-ranging needs an AOI.
| Module family | EU scaling | Notes |
|---|---|---|
| 1756-IF8 / IF16 | Per channel | Preferred on ControlLogix |
| 1769-IF4 / IF8 | Per channel | CompactLogix |
| 5069-IF8 | Per channel | Studio 5000 v28+ |
Solution 2: import SCL_AOI
Download the Scale AOI sample (Answer ID 52412 / SCL_AOI.L5X class packages), import under Add-On Instructions, and drop the instruction on a rung. Bind Input, InputMin/Max, ScaledMin/Max, and ScaledValue. Because parameters are tags, HMI faceplates can rewrite spans online—the common field request when tanks are re-ranged without a download.
Solution 3: custom AOI or ST
IF (InMax - InMin) = 0.0 THEN ScaledValue := OutMin; ELSE ScaledValue := ((InputValue - InMin) / (InMax - InMin)) * (OutMax - OutMin) + OutMin; IF ScaledValue > OutMax THEN ScaledValue := OutMax; ELSIF ScaledValue < OutMin THEN ScaledValue := OutMin; END_IF; END_IF;
Ladder equivalents use SUB/DIV/MUL/ADD plus GRT/LES clamp branches. Guard divide-by-zero when InMax equals InMin. Expose InMin/InMax/OutMin/OutMax with Read/Write external access for HMI commits.
Parameter mapping from SCP
| RSLogix 500 SCP | Studio 5000 AOI |
|---|---|
| Input (INT/DINT) | Input (REAL preferred) |
| InputMin / InputMax | InMin / InMax |
| ScaledMin / ScaledMax | OutMin / OutMax |
| Built-in clamp | Explicit clamp logic |
HMI runtime re-ranging workflow
When operators must change engineering spans without a download, bind numeric inputs to the AOI’s InMin, InMax, OutMin, and OutMax tags and gate writes behind a momentary confirm bit. Physically realistic HMI limits (for example raw counts 0–32767 and engineering units within transmitter capability) prevent fat-finger entries that invert the span. Document the default factory spans in the faceplate so a bad edit can be restored without opening Studio 5000. If module EU scaling was used instead of an AOI, plan a controlled download whenever the engineering range must change—there is no safe online rewrite of those channel properties on most modules.
Commissioning checks
Force Input at min, mid, and max; confirm ScaledValue. Force above Xmax and confirm clamp high. Test reverse engineering ranges (OutMin > OutMax) if the legacy SCP used them. On HMI re-range screens, require InMax > InMin and a momentary commit so partial edits cannot leave a zero denominator. Migration of SCP rungs should follow the same change control used for other Logix PLC and PAC conversions.
About the Author
Mark Townsend | Senior Automation Engineer – Allen-Bradley Systems
Mark Townsend is a senior automation engineer with more than 18 years on Allen-Bradley platforms spanning ControlLogix, CompactLogix, and legacy SLC-500. His day-to-day work is RSLogix / Studio 5000 logic and FactoryTalk View HMI bring-up on aging and mixed fleets.