User Tools

Site Tools


en-us_products:mpaino_8a8r

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
en-us_products:mpaino_8a8r [2026/09/12 15:37] – 바깥 편집 127.0.0.1en-us_products:mpaino_8a8r [2026/09/15 15:28] (current) – external edit 127.0.0.1
Line 5: Line 5:
 The selected I/O and optional modules are assembled and shipped as one product. Users cannot add or remove modules. The selected I/O and optional modules are assembled and shipped as one product. Users cannot add or remove modules.
  
-[[:en-us_products:mpaino_x|X analog input module details — DIP settings, wiring and examples →]] +[[:en-us_products:mpaino_x|X analog input module details]] \\ 
-[[:en-us_products:mpaino_f|F PT100 input details — wiring, channels and example →]] +[[:en-us_products:mpaino_y|Y analog output module details]] \\ 
-[[:en-us_products:mpaino_y|Y analog output details — DIP settings, wiring and example →]] +[[:en-us_products:mpaino_f|F PT100 temperature input module details]] \\ 
-[[:en-us_products:mpaino_k|K pulse output details — channels, Timers and examples →]]+[[:en-us_products:mpaino_k|K high-speed pulse output module details]]
  
 MPAINO-8A8R provides 8 digital inputs and 8 relay outputs. RS-232, RS-485, UART, and I²C communication are available. MPAINO-8A8R provides 8 digital inputs and 8 relay outputs. RS-232, RS-485, UART, and I²C communication are available.
  
 Program the controller with Arduino IDE (Arduino C/C++) or MPINO STUDIO 2 (Arduino C/C++ & ladder logic). Program the controller with Arduino IDE (Arduino C/C++) or MPINO STUDIO 2 (Arduino C/C++ & ladder logic).
 +
 +See the [[:en-us_products:mpaino#mpaino_series_specifications|MPAINO Series specifications]] for the board name and base pin numbers for MPAINO-8A8R.
 +
 +
 +
 +
  
 \\ \\
Line 42: Line 48:
 ===== Digital inputs ===== ===== Digital inputs =====
  
 +[[:en-us_guide:wiring#digital_input_one_channel_check|See the one-channel digital-input check before wiring for the first time. →]]
 ^ Group ^ Terminal ^ Input Configuration ^ Terminals and Wiring Example ^ ^ Group ^ Terminal ^ Input Configuration ^ Terminals and Wiring Example ^
 | COM0 | D0~D3 | 4 isolated digital inputs \\ D0/D1 also serve as INT0/INT1 |  {{:en-us_products:mpaino-input-io8.svg?740|MPAINO-8A8R digital input terminals and NPN/PNP wiring}}  | | COM0 | D0~D3 | 4 isolated digital inputs \\ D0/D1 also serve as INT0/INT1 |  {{:en-us_products:mpaino-input-io8.svg?740|MPAINO-8A8R digital input terminals and NPN/PNP wiring}}  |
Line 75: Line 82:
  
 === Function example · consecutive-read filter: IdigitalRead() === === Function example · consecutive-read filter: IdigitalRead() ===
 +
 +**Function details:** [[en-us_commands:reference:idigitalread|IdigitalRead()]]
  
 **Function prototype** **Function prototype**
Line 97: Line 106:
  
 === Function example · debouncing: Ibounce(), IbounceOn(), IbounceOff() === === Function example · debouncing: Ibounce(), IbounceOn(), IbounceOff() ===
 +
 +**Function details:** [[en-us_commands:ibounce|Ibounce()]] · [[en-us_commands:reference:ibounceon|IbounceOn()]] · [[en-us_commands:reference:ibounceoff|IbounceOff()]]
  
 **Function prototype** **Function prototype**
Line 139: Line 150:
  
 === Function example · input toggle: Ialt() === === Function example · input toggle: Ialt() ===
 +
 +**Function details:** [[en-us_commands:reference:ialt|Ialt()]]
  
 **Function prototype** **Function prototype**
Line 171: Line 184:
 ===== Relay outputs ===== ===== Relay outputs =====
  
 +[[:en-us_guide:wiring#relay_output_one_channel_check|See the one-channel relay-output check before wiring for the first time. →]]
 ^ Group ^ Output terminals ^ Contact configuration ^ Terminals and Wiring Example ^ ^ Group ^ Output terminals ^ Contact configuration ^ Terminals and Wiring Example ^
 | COM2 | D64~D67 | 4 relay outputs share COM2 |  {{:en-us_products:mpaino-output-relay8.svg?740|MPAINO-8A8R output terminals and load wiring}}  | | COM2 | D64~D67 | 4 relay outputs share COM2 |  {{:en-us_products:mpaino-output-relay8.svg?740|MPAINO-8A8R output terminals and load wiring}}  |
Line 209: Line 223:
 ==== Example program · pulse counting ==== ==== Example program · pulse counting ====
  
-SDA(D20) on the I²C terminals is a 4.7kΩ pull-up input. Do not use this example simultaneously with I²C communication. In the current core, argument 2 of digitalPinToInterrupt() is the logical interrupt number assigned to SDA, not digital input 2. Count FALLING edges when SDA changes from HIGH to LOW. This is a software ISR example and does not guarantee lossless counting at the maximum frequency.+SDA(D20) on the I²C terminals is a 4.7kΩ pull-up input. Do not use this example simultaneously with I²C communication. In the MPAINO board package, argument 2 of digitalPinToInterrupt() is the logical interrupt number assigned to SDA, not digital input 2. Count FALLING edges when SDA changes from HIGH to LOW. This is a software ISR example and does not guarantee lossless counting at the maximum frequency.
  
 <code cpp> <code cpp>
Line 234: Line 248:
 ==== Example program · encoder inputs ==== ==== Example program · encoder inputs ====
  
-SDA(D20) on the I²C terminals is a 4.7kΩ pull-up input. Do not use this example simultaneously with I²C communication. In the current core, argument 2 of digitalPinToInterrupt() is the logical interrupt number assigned to SDA, not digital input 2. Connect phase A to SDA and phase B to SCL. At the falling edge of phase A, increment when B is HIGH and decrement when B is LOW. The direction changes with the phase A/B connections. Because SCL overlaps the digital module logical numbers, read the physical pin state directly.+SDA(D20) on the I²C terminals is a 4.7kΩ pull-up input. Do not use this example simultaneously with I²C communication. In the MPAINO board package, argument 2 of digitalPinToInterrupt() is the logical interrupt number assigned to SDA, not digital input 2. Connect phase A to SDA and phase B to SCL. At the falling edge of phase A, increment when B is HIGH and decrement when B is LOW. The direction changes with the phase A/B connections. Because SCL overlaps the digital module logical numbers, read the physical pin state directly.
  
 <code cpp> <code cpp>
Line 279: Line 293:
  
 <code cpp> <code cpp>
-// Serial Monitor via MP download cable ↔ RS-232 Serial1+// Serial Monitor via USB download port ↔ RS-232 Serial1
 void setup() { void setup() {
   Serial.begin(115200);   Serial.begin(115200);
Line 298: Line 312:
  
 <code cpp> <code cpp>
-// MP download cable Serial monitor ↔ RS-232 Serial2+// USB download port Serial Monitor ↔ RS-485 Serial2
 void setup() { void setup() {
   Serial.begin(115200);   Serial.begin(115200);
Line 317: Line 331:
  
 <code cpp> <code cpp>
-// MP download cable Serial monitor ↔ RS-232 Serial3+// USB download port Serial Monitor ↔ UART Serial3
 void setup() { void setup() {
   Serial.begin(115200);   Serial.begin(115200);
Line 371: Line 385:
  
 === Function example · Modbus RTU Slave: ImodbusRTUMem(), ImodbusRTUAdr(), ImodbusRTUInit(), ImodbusRTU() === === Function example · Modbus RTU Slave: ImodbusRTUMem(), ImodbusRTUAdr(), ImodbusRTUInit(), ImodbusRTU() ===
 +
 +**Function details:** [[en-us_commands:reference:imodbusrtumem|ImodbusRTUMem()]] · [[en-us_commands:reference:imodbusrtuadr|ImodbusRTUAdr()]] · [[en-us_commands:reference:imodbusrtuinit|ImodbusRTUInit()]] · [[en-us_commands:reference:imodbusrtu|ImodbusRTU()]]
  
 **Function prototype** **Function prototype**
Line 415: Line 431:
  
 === Function example · Modbus RTU Master: ImodbusRTUmasterInit(), ImodbusRTUmaster() === === Function example · Modbus RTU Master: ImodbusRTUmasterInit(), ImodbusRTUmaster() ===
 +
 +**Function details:** [[en-us_commands:reference:imodbusrtumasterinit|ImodbusRTUmasterInit()]] · [[en-us_commands:reference:imodbusrtumaster|ImodbusRTUmaster()]]
  
 **Function prototype** **Function prototype**
Line 455: Line 473:
  
 === Function example · LS Industrial Systems Cnet SLave: ICnetMem(), ICnetAdr(), ICnetInit(), ICnet() === === Function example · LS Industrial Systems Cnet SLave: ICnetMem(), ICnetAdr(), ICnetInit(), ICnet() ===
 +
 +**Function details:** [[en-us_commands:reference:icnetmem|ICnetMem()]] · [[en-us_commands:reference:icnetadr|ICnetAdr()]] · [[en-us_commands:reference:icnetinit|ICnetInit()]] · [[en-us_commands:reference:icnet|ICnet()]]
  
 **Function prototype** **Function prototype**
Line 500: Line 520:
  
 ===== Optional modules ===== ===== Optional modules =====
 +
 +The following optional modules can be added to the product configuration. The product is assembled and shipped in the selected configuration. \\
 +Users cannot add or remove I/O modules or optional modules.
 +
 +^ Code ^ Function ^ Points per module ^ Maximum configuration ^ Key features ^
 +| [[:en-us_products:mpaino_x|X · Details]] | Analog inputs | 4 points | Up to 5 units, 20 points | ADS1118 \\ Select DC 0~5V / 0~10V / 0(4)~20mA / NTC input |
 +| [[:en-us_products:mpaino_f|F · Details]] | PT100Ω temperature sensor input | 4 points | Up to 5 units, 20 points | ADS1118 \\ 2-wire or 3-wire PT100Ω input |
 +| [[:en-us_products:mpaino_y|Y · Details]] | Analog outputs | 3 points | Up to 4 units, 12 points | PWM smoothing \\ Select DC 0~5V / 0~10V / 0(4)~20mA output |
 +| [[:en-us_products:mpaino_k|K · Details]] | High-speed pulse outputs | 6 points | Up to 2 units, 12 points | Direct MCU PWM signal output |
 +
 +The combined total of analog inputs and PT100Ω temperature sensor inputs cannot exceed 20 points. \\
 +The combined total of analog outputs and high-speed pulse outputs cannot exceed 12 points. \\
 +Products with optional modules are custom-built, so exchanges or refunds may be difficult.
  
 This example is for a product shipped with the corresponding optional module. Match the module configuration shown in the example to the actual factory configuration. This example is for a product shipped with the corresponding optional module. Match the module configuration shown in the example to the actual factory configuration.
Line 525: Line 558:
  
 === Function example · input range scaling: IanalogRead(), IanalogReadf() === === Function example · input range scaling: IanalogRead(), IanalogReadf() ===
 +
 +**Function details:** [[en-us_commands:reference:ianalogread|IanalogRead()]] · [[en-us_commands:reference:ianalogreadf|IanalogReadf()]]
  
 **Function prototype** **Function prototype**
Line 556: Line 591:
  
 === Function example · 4~20mA range scaling: IanalogRead2(), IanalogRead2f() === === Function example · 4~20mA range scaling: IanalogRead2(), IanalogRead2f() ===
 +
 +**Function details:** [[en-us_commands:reference:ianalogread2|IanalogRead2()]] · [[en-us_commands:reference:ianalogread2f|IanalogRead2f()]]
  
 **Function prototype** **Function prototype**
Line 589: Line 626:
  
 === Function example · moving average: analogReadAvg(), analogRead2Avg() === === Function example · moving average: analogReadAvg(), analogRead2Avg() ===
 +
 +**Function details:** [[en-us_commands:reference:analogreadavg|analogReadAvg()]] · [[en-us_commands:reference:analogread2avg|analogRead2Avg()]]
  
 **Function prototype** **Function prototype**
Line 638: Line 677:
  
 === Function example · NTC temperature conversion: ntcRead(), ntcReadf() === === Function example · NTC temperature conversion: ntcRead(), ntcReadf() ===
 +
 +**Function details:** [[en-us_commands:reference:ntcread|ntcRead()]] · [[en-us_commands:reference:ntcreadf|ntcReadf()]]
  
 **Function prototype** **Function prototype**
Line 669: Line 710:
  
 === Function example · read PT100 input: pt100Read() === === Function example · read PT100 input: pt100Read() ===
 +
 +**Function details:** [[en-us_commands:reference:pt100read|pt100Read()]]
  
 **Function prototype** **Function prototype**
Line 713: Line 756:
  
 === Function example · output range scaling: IanalogWrite(), IanalogWritef() === === Function example · output range scaling: IanalogWrite(), IanalogWritef() ===
 +
 +**Function details:** [[en-us_commands:reference:ianalogwrite|IanalogWrite()]] · [[en-us_commands:reference:ianalogwritef|IanalogWritef()]]
  
 **Function prototype** **Function prototype**
Line 754: Line 799:
  
 === Function example · specify duty value: PWM() === === Function example · specify duty value: PWM() ===
 +
 +**Function details:** [[en-us_commands:reference:pwm|PWM()]]
  
 **Function prototype** **Function prototype**
Line 774: Line 821:
  
 === Function example · set frequency/duty: FDPWM() === === Function example · set frequency/duty: FDPWM() ===
 +
 +**Function details:** [[en-us_commands:reference:fdpwm|FDPWM()]]
  
 **Function prototype** **Function prototype**
Line 794: Line 843:
  
 === Function example · output a specified pulse count: NPWM_BEGIN(), NPWM() === === Function example · output a specified pulse count: NPWM_BEGIN(), NPWM() ===
 +
 +**Function details:** [[en-us_commands:reference:npwm_begin|NPWM_BEGIN()]] · [[en-us_commands:reference:npwm|NPWM()]]
  
 **Function prototype** **Function prototype**
Line 816: Line 867:
  
 === Function example · stop/resume channel output: PWMOFF() === === Function example · stop/resume channel output: PWMOFF() ===
 +
 +**Function details:** [[en-us_commands:reference:pwmoff|PWMOFF()]]
  
 **Function prototype** **Function prototype**
Line 843: Line 896:
  
 === Function example · stop/reset PWM timers: PWM_RESET() === === Function example · stop/reset PWM timers: PWM_RESET() ===
 +
 +**Function details:** [[en-us_commands:reference:pwm_reset|PWM_RESET()]]
  
 **Function prototype** **Function prototype**
Line 891: Line 946:
   - Select the verified COM number under Tools → Port in Arduino IDE.   - Select the verified COM number under Tools → Port in Arduino IDE.
   - Select ''MPAINO-8A8R(T)'' under Tools → Board.   - Select ''MPAINO-8A8R(T)'' under Tools → Board.
-  - Select ''AVR ISP'' under Tools → Programmer and upload the program.+  - Click **Verify (✓)** in Arduino IDE. If there are no errors, click **Upload ()** to transfer the program.
  
 [[https://www.ilogics.net/ko-kr/resources/downloads/manual/15|Download MPAINO manual]] [[https://www.ilogics.net/ko-kr/resources/downloads/manual/15|Download MPAINO manual]]
Line 913: Line 968:
  
 [[:en-us_products:mpaino|← Back to MPAINO Series comparison]] [[:en-us_products:mpaino|← Back to MPAINO Series comparison]]
- 
  
en-us_products/mpaino_8a8r.1789195022.txt.gz · Last modified: by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki