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 16:28] – 바깥 편집 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 513: Line 533:
 The combined total of analog outputs and high-speed pulse outputs cannot exceed 12 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. Products with optional modules are custom-built, so exchanges or refunds may be difficult.
- 
-==== Option module front views ==== 
- 
-These are the front views of the option modules. Click an image to enlarge it. 
- 
-^ X ^ F ^ Y ^ K ^ K2 ^ 
-| {{:en-us_products:mpaino-option-x-front.png?160|X analog input module front}} | {{:en-us_products:mpaino-option-f-front.png?160|F PT100 input module front}} | {{:en-us_products:mpaino-option-y-front.png?160|Y analog output module front}} | {{:en-us_products:mpaino-option-k-front.png?160|K pulse output module front}} | {{:en-us_products:mpaino-option-k2-front.png?160|K2 second pulse output module front}} | 
- 
-PWM0–PWM5 on the K2 image are terminal labels on the second K module. Its additional program channels are 6–11. 
  
 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 547: 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 578: 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 611: 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 660: 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 691: 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 735: 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 776: 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 796: 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 816: 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 838: 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 865: 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 913: 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 935: 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.1789198137.txt.gz · Last modified: by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki