
MPS Series
MPS-16A8R
MPS-16A8R Industrial PLC Controller
MPS-16A8R is an industrial PLC controller with 16 isolated digital inputs and 8 relay outputs. Onboard RS-232, RS-485, UART, I²C, programmed in MP STUDIO ladder logic. DIN-rail mountable for automation, testing, HMI integration and machine control.


International shipping (EMS) — calculated at checkout by destination & weight
Shipping weight 300 g (per unit)
Ships the next business day (regardless of order time)
Large orders may take 1 extra day to dispatch
Cancel before dispatch · request a return/exchange after delivery
Key features
/ FEATURES- Programmed in MP STUDIO ladder logic
- 16 opto-isolated digital inputs (NPN/PNP, up to 40 V tolerant)
- 8 relay outputs for AC/DC dry-contact switching
- 4 analog inputs (0–5 V / 4–20 mA / 0–10 V ranges)
- Industrial communication: RS-485, RS-232, UART, I²C · Modbus RTU
- DIN-rail 35 mm mountable, isolated field I/O for the factory floor
Specifications
/ SPEC| Power input | DC 9V – 12V |
|---|---|
| Digital inputs | 16 |
| Relay outputs | 8 |
| Analog inputs | 4 |
| High-speed pulse inputs | 1 |
| Encoder inputs | 1 |
| RS-232 | 1ch |
| RS-485 | 1ch |
| UART | 1ch |
| I²C | 1ch |
| Modbus RTU | Yes |
| LS Cnet | Yes |
Software
MP STUDIO — Ladder Logic
The MPS series is programmed in MP STUDIO, a free ladder-logic IDE. Draw the control logic as a ladder diagram and call analog, temperature, high-speed counter and pulse output straight from function blocks.
Ladder logic only
Contacts and coils — existing PLC experience transfers directly
Function blocks
ADC · NTEMP · HCNT · ENCODER · PWM, each a single block
Live monitoring
Ctrl+T to download, Ctrl+M to monitor and debug on the machine
Before the first download
Install MP STUDIO from the ILOGICS download centre, pick your model in the device list, set the COM port, and you can download straight away.
This model connects to the PC with an ordinary USB cable — no MP download cable is required, and the driver is Silicon Labs CP210x.
Digital input
16 isolated digital input channels
16 digital input channels read external switches and sensors straight from the terminal block. In the ladder program they are the contacts P0–P15.
P0–P15 inputs
16 isolated digital input points in total
COM0 / COM1 commons
COM0 = P0–P7 · COM1 = P8–P15 (8 points per COM)
DC 0–40 V input
DC 5 V and above reads as HIGH · optocoupler isolated
NPN / PNP sensors
Either sensor wiring convention is read as-is
Input channel layout
* Example wiring for external switches or sensors — applying DC 12–24 V at the terminal turns that contact memory ON
Optocoupler isolation
The digital inputs use a bidirectional optocoupler stage — anti-parallel LEDs into a phototransistor — so either NPN or PNP wiring is read, and the field side stays electrically separate from the control circuit.
Example ladder — reading an input
P0 P32
0000 --| |---------------------------------( )--
P0 = push button (digital input), P32 = motor on the relay output.
P0 ON -> P32 ON P0 OFF -> P32 OFF
P0~P7 return to COM0 and P8~P15 to COM1 - sixteen inputs on two commons.Relay output
8 isolated relay output channels, volt-free contacts
8 relay output channels switch external loads. Turning one of the output contacts P32–P39 on in the ladder closes that contact onto its COM — a volt-free contact, so it takes DC and AC loads alike.
P32–P39 outputs
8 isolated relay output points
COM2 / COM3 commons
COM2 = P32–P35 · COM3 = P36–P39 (4 points per COM)
DC or AC loads
0–30 V D.C / 0–250 V A.C volt-free contact
Rated 5 A
5 A per point · 15 A per COM
Output channel layout
* Example wiring for external loads — the load supply comes in on the COM side. The relay contact is volt-free, so it may switch DC of either polarity or AC. The contact is rated 0–30 V D.C / 0–250 V A.C, 5 a per point · 15 a per com.
Relay output stage
The control circuit drives the relay coil, and the load is switched by a contact that is electrically separate from that coil. The contact carries no voltage of its own, so neither the type nor the polarity of the load supply matters.
Example ladder — driving a relay output
P0 P32
0000 --| |---------------------------------(S)--
P1 P32
0001 --| |---------------------------------(R)--
P0 = start button, P1 = stop button, P32 = motor on the relay output.
P0 ON latches P32 on (it stays on when P0 is released); P1 ON clears it.
P32~P35 share COM2 and P36~P39 share COM3, at 5A per point and 15A per COM.Analog inputAnalog Input
4 analog input channels on a screw block — the range is a soldered build
AI0–AI3 and AGND come out on one screw block. All 4 channels are 10-bit (0~1023) and the ladder reads them with the ADC function block. The input range is set by the resistors fitted to each channel: the board ships built for 0–5 V, and 3 other builds are listed below. One of them turns the channel into a temperature input read with NTEMP — and that one is chosen when you order.
AI0–AI3 · 4 channels
4 analog input points, 10-bit (0~1023)
4 selectable builds
0–5 V · 0–10 V · 0–20 mA · NTC
Set by the fitted resistors
R1 and R4 ship fitted at 0 Ω; R2, R3, R5, C are left out
Input impedance 100 MΩ
Operating input 0–5 V D.C as shipped
Analog input terminal
* The screw block reads AI0 · AI1 · AI2 · AI3 and AGND. The manual's p.3 range-change figure labels the same poles A(0) · A(1) · A(2) · A(3) · AGND. The range is decided by the resistors on the board, so check which build you have before wiring a sensor.
Input ranges and the resistors that set them
| Range | R1 · R2 · R3 · R5 | How you get it |
|---|---|---|
| 0–5 V | R1 0 · R2 N.C · R3 N.C · R5 N.C | Factory default |
| 0–10 V | R1 1k · R2 1k · R3 N.C · R5 N.C | Resistor change |
| 0–20 mA | R1 0 · R2 N.C · R3 250 · R5 N.C | Resistor change |
| NTC | R1 0 · R2 N.C · R3 N.C · R5 10k | Specify when ordering |
Every channel is 10-bit (0~1023) with an input impedance of 100 MΩ, and the ladder reads one with the ADC function block. Boards leave the factory with R1 and R4 fitted at 0 Ω and R2, R3, R5, C not fitted, which is the 0–5 V build. R4 and C form a low-pass filter and are fitted only where a noise frequency has to be removed. For a temperature input the thermistor connects to AI0–AI3 and AGND, and the ladder reads it with NTEMP — a reading of 234 on AI0 means 23.4℃. This build is selected WHEN ORDERING; the board cannot be switched to it in the field.
Example ladder — reading an analog input
@ON ADC
0000 --| |---------------[ CHANNEL:0 | MAX VALUE:1000 | MIN VALUE:0 | OUT:D0 ]--
@ON NTEMP
0001 --| |---------------[ CHANNEL:0 | OUT:D10 ]--
AI0 arrives in D0 as 0~1000. Boards ship built for DC 0~5V with R1 and R4 fitted at
0 ohm; another range means changing R1/R2/R3/R5 on that channel.
A channel built for NTC is read by NTEMP instead: D10 = 234 means 23.4 degrees.
The NTC build is chosen when ordering - it is not a field change.Encoder · high-speed counterCounter · Encoder
One encoder channel on the I2C pair, up to 0–50 kHz and above
An A / B quadrature encoder connects to the I2C block: SDA takes the A phase and SCL the B phase, with a 4.7 kΩ pull-up already on both lines. The ladder reads the count with ENCODER and presets it with ENMOV. The same SDA pole doubles as HCNT channel 0 for a plain pulse source. This pair IS the I²C bus — using either function takes it away from the other.
Encoder A and B phases
SDA is the A phase and SCL the B phase — B lagging A counts up
4.7 kΩ pull-up built in
Already fitted on the I2C lines — no external resistors
Counter on SDA
HCNT channel 0 counts plain pulses on the same pole
DC 0–5 V · 0–50 kHz and above
HIGH is recognised as GND (LOW)
What the channel is for
* The encoder's A phase goes to SDA and its B phase to SCL; direction is decided on the A phase's rising edge, and a B phase that lags counts up. A plain pulse source can use SDA alone as HCNT channel 0. Both lines carry a 4.7 kΩ pull-up on the board.
I2C terminal
* The I2C block on the board's right edge, SDA · SCL from the top. The same two poles serve the encoder, the high-speed counter and I²C — one at a time.
Before you wire it
- Using the encoder — or SDA as HCNT channel 0 — takes the SDA and SCL lines, so I²C communication cannot be used at the same time. They are physically the same pair.
- The pair is NOT isolated and its operating range is DC 0–5 V. Field signals that need isolation belong on the digital inputs.
- HIGH is recognised as GND (LOW): the lines are pulled up on the board and the encoder pulls them down.
The channel and its function blocks
| Input | Terminals | Rating |
|---|---|---|
| Encoder | SDA (A) · SCL (B) | Not isolated · 4.7 kΩ pull-up · DC 0–5 V |
| High-speed counter | SDA = HCNT channel 0 | Up to 0–50 kHz and above · HIGH is GND (LOW) |
| ENCODER | Block | Read the encoder count |
| ENMOV | Block | Preset the encoder count |
| Shared with I²C | I2C block | The encoder and I²C cannot both be used |
The board publishes ONE encoder channel: SDA carries the A phase and SCL the B phase, at DC 0–5 V with a 4.7 kΩ pull-up built in, and HIGH is recognised as GND (LOW). Input frequency is 0–50 kHz and above. Direction is decided on the A phase's rising edge — a B phase that lags counts up, one that leads counts down. For a plain pulse train, HCNT reads SDA as channel 0. This pair is the whole of the board's counter and encoder input, and it is the I²C bus.
Example ladder — reading the high-speed counter
@ON HCNT
0000 --| |-----------------------[ CHANNEL:0 | OUT:D100 ]--
@ON is always on, so the counter free-runs and D100 always holds the count of the
pulses arriving on SDA. CHANNEL:0 is the channel this board's manual gives for that
pole, and using it takes the I2C bus for as long as the counter is running.Example ladder — reading and presetting the encoder
@ON ENCODER
0000 --| |-----------------------[ CHANNEL:0 | OUT:DD0 ]--
P0 ENMOV
0001 --| |-----------------------[ CHANNEL:0 | IN:100 ]--
DD0 is a double word, so the encoder count can run past a single word.
ENMOV writes a value INTO the encoder: here P0 presets channel 0 to 100.CommunicationRS-232 · RS-485 · UART
3 serial channels and one I²C channel, all down the board's right edge
This board brings out RS-232 · RS-485 · UART at the same time — RS-232 is channel 1, RS-485 is channel 2, UART is channel 3 in MP STUDIO's communication-port settings. All of them speak Modbus RTU and LS Cnet (XBC/LINK) as a slave, or your own protocol in NORMAL MODE. I²C is a separate master-mode channel with its pull-ups already fitted.
3 serial channels
RS-232 = channel 1 · RS-485 = channel 2 · UART = channel 3
RS-485 multidrop
485+ and 485- — one pair, many nodes
Modbus RTU slave
Also Cubloc Modbus RTU and LS Cnet (XBC/LINK), as a slave
I²C · 1 channel
Master mode · 1:N · 4.7kΩ pull-ups built in
RS-485 link
* 485+ and 485- are poles of the four screw blocks stacked down the board's right edge. It is channel 2 in MP STUDIO's communication-port settings, and one pair carries every node on the bus.
Communication terminals
* All four channels are on the four screw blocks stacked down the board's right edge. I²C reads SDA · SCL and carries 4.7kΩ pull-ups, so an I²C device connects with no external resistors. The manual's function-location drawing labels the three groups CH1 · CH2 · CH3.
Communication channels
| Channel | Terminals | What it supports |
|---|---|---|
| I²C · 1 channel | SDA · SCL | Master only · 1:N · 4.7kΩ |
| RS-232 · channel 1 | TX · RX · GND | Modbus RTU / LS Cnet slave |
| RS-485 · channel 2 | 485+ · 485- | Modbus RTU / LS Cnet slave |
| UART · channel 3 | TXD · RXD · GND | Modbus RTU / LS Cnet slave |
| NORMAL MODE | All 3 channels | PUT, GET, PUTLEN, GETLEN |
| Cubloc Modbus RTU | All 3 channels | Slave · Comfile HMI |
The three serial channels are addressed by NUMBER in MP STUDIO: RS-232 is channel 1, RS-485 is channel 2, UART is channel 3. Baud rate and the rest are set under the communication-port settings. I²C is separate again — master mode, 1:N, with its 4.7kΩ pull-ups on the board.
Before you wire it
- Using the encoder — or the high-speed counter on channel 0 — takes the SDA and SCL lines, so I²C cannot be used at the same time. They are physically the same pair.
- I²C is supported in MASTER mode only: this board addresses I²C devices, it does not answer as one.
- None of the communication channels is isolated — the specification lists every one of them as non-isolated.
- For how to reach an EasyView, M2I or Comfile HMI, ILOGICS publishes the wiring on its own blog, under PLC to HMI.
7-segment (FND) connectionFND · TM1637
A four-digit 7-segment display on two signal wires — up to 2 of them
The display module carries a TM1637 driver, so a four-digit readout needs only a clock line and a data line. This board has no dedicated display connector: the two signals go on ordinary screw poles — CLK = AI2 · DIO = AI3 is the pair the manufacturer's own wiring article uses — and +5V and GND come off the bottom power group (+5V · +12V · GND), which makes the whole run four wires. The ladder drives it with the FINI · FINT · FDATA function blocks.
Two wires: CLK and DIO
A TM1637 four-digit module needs no more
Up to 2 displays
Each on its own pair of poles
Powered from the board
+5V · GND on the bottom power group · up to 100mA
FINI · FINT · FDATA
Ladder function blocks — initialise, print a number, drive the segments
Displays and their poles
| Display | Terminals | Role |
|---|---|---|
| 1 | CLK = AI0 · DIO = AI1 | CLK / DIO |
| 2 | CLK = AI2 · DIO = AI3 | CLK / DIO |
| Supply | +5V · GND | Board output ≤ 100mA |
The signal poles are analog input terminals doing double duty, so a pole driving a display is spent for as long as it does. FINI is run once at power-up and takes the two port numbers; FINT prints a decimal number and FDATA drives the segments and the dot bit by bit. The display module itself is an accessory sold separately.
Connection from the wiring article
* The poles are silkscreened AI2 · AI3 · +5V · GND; nothing on the board says CLK or DIO, so the role of each wire is printed where it lands. The display comes in a decimal-point form and a time-displaying form, both sold separately.
Driving more than one
* Every display needs its own CLK and DIO pair; +5V and GND are shared by all of them. The manufacturer's own article says all four analog inputs AI0–AI3 can serve as CLK and DIO, and gives AI2 = CLK, AI3 = DIO as its example. The pairs below are one valid allocation, taken in port order — which two ports make a pair is your choice.
Before you wire it
- A pole used for a display cannot be used as analog input at the same time.
- These four poles are analog inputs, and a display can only be driven by a channel still in the DC 0–5 V build it ships in. A channel rebuilt for 0–10 V, 0–20 mA or NTC cannot carry one.
- FINI takes CONSTANTS for CLK and DIO; a memory address cannot be used there.
- The time-displaying form cannot control its decimal points. Use the decimal-point form if you need them.
- The 7-segment module is an accessory sold separately; it is not included with the board.
Example ladder — driving a 7-segment display
@BEGIN FINI
0000 --| |---------------[ CLK:2 | DIO:3 ]--
@ON FINT
0001 --| |---------------[ IN:D0 | POSITION:1 | LENGTH:4 | DOT:0 | ZERO:@OFF | SIGN:@OFF ]--
@BEGIN runs once at power-up: FINI takes the two analog port NUMBERS to use as CLK
and DIO - here AI2 and AI3, the pair the manufacturer's article gives as its example.
FINT then prints D0 as a decimal across all four digits.
CLK and DIO must be constants; a memory address cannot be used there.
A port driving the display cannot read an analog signal at the same time.Power · Data retentionPower · Backup
DC 9V ~ 12V in, 5 V out — and your data survives the blackout
The controller takes DC 9V ~ 12V and converts it to 5 V internally with a LM1117 regulator. Size the supply for at least 12V 1A.
DC 9V ~ 12V
Size the supply for 12V 1A or more
5 V internal
LM1117 DC-DC conversion
+5 V out 100mA
From the +5 V pole of the power terminal block
Supercapacitor hold-up
About ten seconds on the +5 V pole
Before wiring the supply
- An EEPROM section written about 100,000 times can fail, and a failed section reads back a random value after a power cut. For values that change constantly, use the methods below.
- Running on USB alone makes the USB 5 V the analog input's reference, so readings can wander. Use the external supply for precise measurement.
- This board takes 9–12 V DC only. Do not apply the 24 V the other MPS models use.
- Do not exceed the stated input voltage range.
- Do not reverse the supply polarity or mis-wire the input.
Where the power goes
* Either source runs the controller: the external supply through the regulator, or the download port's 5 V directly. The supercapacitor sits on the same 5 V node and keeps it alive when both go away.
Power and data retention
| Input voltage | DC 9V ~ 12V |
|---|---|
| Recommended supply | 12V 1A or more |
| Internal conversion | LM1117 DC-DC to 5 V |
| +5 V output | 100mA max, from the +5 V pole of the power terminal block |
| USB-powered operation | Runs on the PC's 5 V through the download port |
| Non-volatile memory | EEPROM, about 100,000 writes per section |
| Hold-up on a power cut | Supercapacitor on the +5 V pole, about ten seconds |
| Blackouts retained | More than 100,000, writing only when the mains drops |
Size the supply for 12V 1A or more, plus whatever the +5 V pole is feeding (up to 100mA). Conversion is more efficient at 9 V than at 12 V.
Keeping data through a blackout
Which method you want depends on how often the value changes. The first two are settings; the third needs one part and a few rungs.
EEPROM retentive area — values that change occasionally
Mark a retentive area under Settings → Data Memory in MP STUDIO and the runtime copies that memory into non-volatile EEPROM every time its value changes — no code to write. Because a section survives only about 100,000 writes, it belongs to setpoints, calibration data and machine configuration rather than to anything the scan updates.
T EEPROM INTERVAL — timer memory
Timer (T) memory changes constantly, so the same settings window carries a T EEPROM INTERVAL. Set a period and the timer values are stored once per period instead of on every change, which is what keeps the write count down.
Supercapacitor — values that change constantly
Fit a supercapacitor to the +5 V pole and the internal 5 V stays up for about ten seconds after the main supply is cut. Wire the main supply into a digital input as well, add a rung that moves the live value into the retentive memory the moment that input goes off, and a second rung that moves it back once on restart. The EEPROM is then written only at the instant of a blackout, so it survives more than 100,000 of them.
Mounting · DIN railDIN Rail
Clips onto a 35 mm DIN rail, or screws down through the PCB's own holes
Inside a control panel the board clips onto a 35 mm DIN rail; built into a machine it screws down through the mounting holes in the PCB. The board measures 116.8 × 100.0 mm without the rail clip, and stands 119.42 mm high once the clip is closed on the rail.
35 mm DIN rail
Clips onto the rail in a control panel
Direct PCB mounting
Screws through the mounting holes
116.8 × 100.0 mm
PCB outline with no rail clip fitted
119.42 mm engaged
124.68 mm with the clip open, 119.42 mm closed
Mounting and dimensions
| Mounting | 35 mm DIN rail, or direct to PCB |
|---|---|
| DIN rail | 35 mm |
| PCB alone (no clip) | 116.8 × 100.0 mm |
| Mounting holes | 100 × 90.0 mm apart |
| Clip open (before engaging) | approx. 124.68 mm |
| Clip closed (engaged) | approx. 119.42 mm |
Where no DIN rail is used, the board screws down through the mounting holes in the PCB; on a rail, the clip closes over a 35 mm profile and the assembly stands 119.42 mm high.
Mounting on a 35 mm DIN rail
* The clip hooks over a 35 mm DIN rail. Overall height is 124.68 mm with the clip open and 119.42 mm once it is closed and engaged. The drawing shows the mounting method rather than the clip's own shape.
Outline and mounting holes
* The outline and mounting holes with no rail clip fitted. All dimensions in millimetres.
Installation notes
- Indoor use only. Do not install where there is rain, dust, frost, direct sunlight or condensation.
- Do not install in an atmosphere containing flammable or explosive gas.
- Do not install where there is heavy vibration or shock.
- Where the equipment affects life or property (nuclear, medical, marine, vehicle, aviation and the like), a secondary safety device must be fitted.
FAQ
How many I/O points does the MPS-16A8R have?▾
The MPS-16A8R provides 16 isolated digital inputs and 8 relay outputs, with onboard RS-485, RS-232, UART, I²C communication. See the specification table for the full breakdown.
Does the MPS-16A8R support Modbus RTU?▾
Yes. The MPS-16A8R supports Modbus RTU — master and slave alike — over its serial interface.



