The leader in industrial automation and control solutions

Introduction

The HMC2000 and HMC4000 HMI + PLC Series supports the following I/O expansion modules. These modules provide digital and/or analog I/O (inputs and outputs) for an electrical control system. All of the I/O Modules are CE and UL Certified.

I/O Module Part NumberDescription
HMC3-M0808Y0401T V28 Digital Inputs (2 high speed pairs, up to 200kHz)
8 Digital Outputs (6 Relay, 2 PWM up to 200kHz)
4 Analog Inputs (Voltage: 0-5V, 0-10V Current: 0-20mA, 4-20mA, Thermocouple, RTD)
1 Analog Output (Voltage: 0-5V, 0-10V Current: 0-20mA, 4-20mA)
HMC3-M1212P0200 V212 Digital Inputs (2 high-speed pairs, up to 200kHz)
12 Digital Outputs (1 PWM, up to 1kHz)
2 Analog Inputs (Voltage: 0-5V, 0-10V Current: 0-20mA, 4-20mA)
HMC3-M1212Y0200 V212 Digital Inputs (2 high-speed pairs, up to 200kHz)
12 Digital Outputs (10 Relay, 2 PNP w/ 1 PWM up to 1kHz)
2 Analog Inputs (Voltage: 0-5V, 0-10V Current: 0-20mA, 4-20mA)
HMC3-M1210P0201 V212 Digital Inputs (2 high-speed pairs, up to 200kHz)
10 Digital Outputs (1 PWM up to 1kHz)
2 Analog Inputs (Voltage: 0-5V, 0-10V Current: 0-20mA, 4-20mA)
1 Analog Output (Voltage: 0-5V, 0-10V Current: 0-20mA, 4-20mA)
HMC3-M1210Y0201 V212 Digital Inputs (2 high-speed pairs, up to 200kHz)
10 Digital Outputs (8 Relay, 2 PNP w/ 1 PWM, up to 1kHz)
2 Analog Inputs (Voltage: 0-5V, 0-10V Current: 0-20mA, 4-20mA)
1 Analog Output (Voltage: 0-5V, 0-10V Current: 0-20mA, 4-20mA)
HMC3-M1614Y V216 Digital Inputs (2 high-speed pairs, up to 200kHz)
14 Digital Outputs (12 Relay, 1 PWM, up to 1kHz))
HMC3-M1616P V216 Digital Inputs (2 high-speed pairs, up to 200kHz)
16 Digital Outputs (1 PWM, up to 1kHz)

I/O Expansion Module Overview

Each I/O terminal is labeled for easy identification on the modules. ‘COM’ is the common ground terminal. A terminal with an ‘X’ followed by a number is an input terminal and a terminal with a ‘Y’ followed by a number is an output terminal. The number refers to the position associated with each terminal on the I/O module.

When a project is created in MAPware-7000, bit/register memory addresses are assigned for each terminal on the expansion module. MAPware-7000 provides the option to allow the software to do this automatically. In this case, it will assign memory addresses according to the position and expansion slot in which the I/O module is located.

In addition, many of the I/O modules have a two-pin connector that is used to connect a voltage source (usually +24VDC). This voltage source drives the output terminals of the I/O modules.

Installing I/O Modules

The expansion modules for the HMC2000 and HMC4000 base units attach onto the back of the unit via expansion slots and are secured with a Phillips screw on the top-right and bottom-left corners of the module. The 4.3” screen supports one expansion module. The 7” screen supports up to three modules, while the 10.1” unit supports up to five modules. Modules connected to the 4.3” unit are attached horizontally to the rear housing, while the 7” and 10.1” units allow for vertical mounting of the modules to the rear housing.

Configuring the I/O Modules

The I/O expansion modules for the HMC2000 and HMC4000 Series are assigned to the proper slot using MAPware-7000. Note that any project downloaded into a HMC base unit with modules that do not match the physical configuration of the unit will not run. Therefore, it is important to correctly identify the I/O modules in the MAPware-7000 project.

Instructions: Configuring the I/O Modules
  1. Create New Project

    Open a new project and select the appropriate HMC2000 or HMC4000 model. Click OK.
  2. Find the Expansion Folder

    In the Project Information Window, click the IO Allocation folder, then click the Expansion folder.
    Open the Expansion Folder
  3. Select the Slot

    Double-click Slot 1 to display the IO Allocation dialog:
    Select your I/O Module in the IO Allocation Window
  4. Choose the IO Module

    Select the particular I/O expansion module installed in Slot 1 of the HMC base unit from the drop-down Model selection menu. When the checkbox to ‘Add tags for XW, YW, and MW’ option is checked, MAPware-7000 automatically assigns tags to the Tag Database for the I/O module. The tags configured are based upon the module and the slot location. Click OK to close the IO Allocation window, or click the Configure button to pre-configure the module’s input and output channels.
  5. View the tags

    In this example, Slot 1 is identified with an I/O module, along with a description and memory address allocation. The tags are available in the Tag Database as seen below. These tags can be used in the project to address the I/O, or they can be preconfigured.
    System Tags auto-generated into the tag database
  6. Optional Pre-Configuration

    If pre-configuring the I/O modules, simply choose the appropriate Digital or Analog tab and set the respective parameters of each input/output channel to your desired specifications. This will allow configuration of the I/O module automatically, without the need to configure the module elsewhere in the project, such as from a window or via a power-up task. The available options will depend on the module being configured. Select the channel and desired configuration, then click the Confirm button to save the configuration.
    The Module can be configured in this window
  7. Digital Config Options

    The image below lists the digital configuration options for this specific module:
    All Config Options for the selected module are shown
  8. Analog Config

    For the Analog configuration of this module, the behavior is the same; choose the channel and the configuration, then click the Confirm button to complete the configuration.
    Analog tab configures the analog I/O of the module
  9. Analog Config Options

    Options for the Analog configuration of this specific module:
    Analog Configuration of this specific module

Common Terms and Definitions

This section defines some common terms used to describe various types of inputs and outputs. The terms explained below are generic descriptions. Be sure to consult the datasheet for the specific requirements when installing and wiring a module.

Digital Inputs and Outputs

Digital inputs provide physical connections and interpretations of input devices using discrete signals. The input is represented in the PLC input registers as a 1 for the on state and 0 for the off state. Each digital input terminal is associated with an internal Input Coil (X) in the tag database of the HMC. Similarly, each digital output terminal is associated with an Output Coil (Y).

Analog Inputs and Outputs

Analog inputs provide physical connections and interpretations of input devices using analog signals. The input range depends on the type of input device. Configure analog inputs to work with current or voltage sources. Each analog input terminal is associated with an internal Input Register (XW) in the tag database of the HMC IO module. Similarly, each analog output terminal is associated with an Output Register (YW).

Sinking versus Sourcing

These terms refer to the type of digital inputs or outputs used. A sourcing I/O provides a voltage source, and a sinking I/O provides a ground. Any module that is not bidirectional (meaning current can go in either direction) requires that the circuit conduct current in a specific direction. In order to have current flow, each I/O terminal on the expansion module must have a return path or a signal ground connection. In most modules, multiple I/O terminals share the signal ground connection.

For a sourcing module, the current flows out of the expansion module terminal and into the common (signal ground) terminal. The term source indicates the terminal on the expansion module provides the current to the switch contact or load. For a sinking module, the current flows into the expansion module terminal and out of the common terminal on the I/O module. The term sink indicates the terminal takes in the current from the switch contact or load.

Diagram illustrating both sinking and Sourcing inputs and outputs

Note: Arrow indicates current flow direction

Digital Outputs (PNP or NPN type)

The output terminals of a digital I/O module use an optically isolated PNP or NPN transistor to energize the connected load. PNP/NPN outputs are faster than relay outputs but can only work with low current DC loads (typically 500mA max per terminal). PNP modules are sourcing modules, and NPN modules are sinking modules.

Diagram shows PNP and NPN type connection

Note: the above diagrams show that a PNP output is ‘sourcing’ current and the NPN output is ‘sinking’ current.

Digital Outputs (Relay type)

The output terminals of a relay-type digital module typically control loads that require an AC power source.

Use a Relay Output module to connect a DC load that requires more current than the maximum available when using a PNP or NPN output. For AC loads, each relay output contact can handle up to 230VAC with a 2A load per contact. For DC loads, each relay output contact can handle a 2A load per contact for up to 30VDC.

Relay Output diagram

Analog Voltage

Analog voltage inputs can measure DC voltage ranges of 0-5 and 0 to 10 volts. With analog inputs, the analog module writes a data value to the assigned register (XW) based upon the measured DC voltage at the input. Analog outputs can provide 0 to 5VDC and 0 to 10 VDC with a minimum resistance of 1000 ohms depending upon the value in the assigned register (YW). Input resolution is 16-bits and Output resolution is 12-bits.

Analog Current

Analog current inputs can measure DC current ranges from 0 to 20mA and 4 to 20mA. With analog inputs, the analog module writes a data value to the assigned register (XW) based upon the measured DC current at the input. The analog outputs can provide 0 to 20mA and 4 to 20mA. Analog outputs can deliver a DC current of up to 20mA to a load with a maximum resistance of 500 ohms based upon the data value in the assigned register (YW). Input resolution is 16-bits and Output resolution is 12-bits.

Configuring High-speed Counters

Maple Systems’ HMC modules have built-in High-Speed counters that link directly to specific inputs and outputs. Specific registers and bits are predefined for setup and control of these counters. No logic is required to run the counters, other than logic that may be used for configuration and control.

Two inputs on the module are used as the Triggers for the High-Speed counters, and two outputs are used as the Done bits. The inputs support a maximum speed of 200 KHz.

The following bits and registers are associated with a High-Speed counter:

Register/BitDescription
Configuration
Register
The 16-bit register that controls how the High-Speed counter operates.
Current Count
Register
The 32-bit register that counts the number of times that the Trigger has transitioned. The specified register is the Least Significant Word (LSW); the next consecutive register is the Most Significant Word (MSW).
Preset RegisterThe 32-bit register that defines the number of counts at which the Done bit will be set (see description of Done Bit below). The specified register is the Least Significant Word (LSW); the next consecutive register is the Most Significant Word (MSW).
Trigger BitThe input bit that triggers the count. The counter will increment by one on each bit transition. The counter can operate on a falling (default) or rising edge.
Enable BitThe counter will not run unless this bit is set. If this bit is reset while the counter is running, the current values will be maintained, but the Trigger bit will have no effect. The Done bit is reset if the Enable bit is reset. If the Current Count value is greater than or equal to the Preset value, the Done bit is set after the Enable bit is set again.
Reset BitWhen this bit goes from false to true, the current count will reset to 0 and the Done bit is reset. The reset occurs even when the Enable bit is reset. The reset is accomplished by an internal bit or a physical input.
Done BitThe physical output that turns on when the Current Count is equal to or greater than the Preset value. The bit remains set until the Reset bit goes true, even if the counter counts beyond the preset. If the Enable bit is reset, the Done bit will reset. If the Enable bit is set while the Current Count is equal to or greater than the Preset, the Done bit is set.

Reference the tables below when configuring each HSC Configuration Register:

Input ModeOutput ModeRegister Value
Normal InputN/A0
High Speed,
Single Phase,
Up/Down Counter
Output ON when preset is reached2
High Speed,
Single Phase,
Up/Down Counter
Output ON when counter is enabled,
OFF when preset is reached
258
Quadrature 4XOutput ON when preset is reached131
Quadrature 4XOutput ON when counter is enabled,
OFF when preset is reached
387

HSC Configuration Register Bit table

BitsFunction
15-12Not used
11-1000: Reset counter if SW Reset bit or physical I/Preset bit goes from 0 to 1
01: Reset counter if the SW reset bit goes from 0 to 1
11: reserved for future use
9Forced Output Configuration
0: Forced output ON for Preset 1
1: Forced output ON when enabled and OFF when Preset 1 reached
8Forced Output Control
0: Forced Output Disabled
1: Forced Output Enabled
7-6Quadrature mode
00: Reserved
01: Reserved
010: 4X Quadrature mode
4-5HSC
00: Single Phase Up counter
30: Falling Edge
1: Rising Edge
2, 1, 0Module Operating Mode
000: Normal Operation
010: Up Counter HSC
011: Quadrature

To Implement High-speed Counter Operation

Instructions: To Implement High-speed Counter Operation
  1. Connect HSC Source

    Connect a device that will provide the high-speed pulses to one of the high-speed inputs on the expansion module.
  2. HSC Config

    Configure the HSC using the I/O Allocation > Expansion window, assign your I/O module to the slot, and press “Configure”.
    You can also write to the configuration register value using the Power-Up logic block or in a Power-Up Task.
    A Screenshot of the I/O configuration in MAPware that's demonstrating the area and options for configuring a High Speed Counter
  3. Preset Count

    Write the HSC preset count value in that channel’s Preset Register.
  4. Enable

    Enable the HSC by setting the HSC Enable Bit for that channel.
  5. HSC Operation

    HSC increments the current value register for that channel until the preset value is reached.
  6. Enable Reset

    Enable the HSC Reset Bit for that channel. This will cause the HSC current value to reset back to 0.
  7. Clear and start again

    To start the process again, simply reset (clear) the HSC Reset Bit and set the HSC Enable Bit.
    If the HSC Enable Bit is still ON, you must reset (clear) this bit, and then set it again.

Specific High-Speed Counter Registers

The registers and I/O associated with the High-Speed Counter can be found below.

FunctionCounter 1 (Channel 0)Counter 2 (Channel 1)
Trigger BitXnn000Xnn002
Enable BitMnn080Mnn176
Reset BitMnn081Mnn177
Configuration RegisterMWnn00MWnn06
Current Count Register (LSW, MSW)MWnn01, MWnn02MWnn07, MWnn08
Preset Register (LSW, MSW)MWnn03, MWnn04MWnn09, MWnn10

Note: nn is the slot in which the module is installed (slot 1 is 01, slot 2 02, etc.)

For example, a module installed in Slot 3 has the following assignments:

FunctionCounter 1 (Channel 0)Counter 2 (Channel 1)
Trigger BitX03000X03002
Enable BitM03080M03176
Reset BitM03081M03177
Configuration RegisterMW0300MW0306
Current Count Register (LSW, MSW)MW0301, MW0302MWnn07, MW0308
Preset Register (LSW, MSW)MW0303, MWnn04MW0309, MW0310

Pulse Width Modulation (PWM) Outputs

Maple Systems’ HMC3000 I/O modules have built-in Pulse Width Modulation functionality. Specific registers and bits are predefined for setup and control of these functions. No logic is required to run the PWM, other than logic that may be used to configure and control them.

There are four modes of PWM: Normal, CW/CCW, Pulse/Direction and Fixed Pulse. Use the information below to configure the desired PWM output mode.

Note: For each table below, nn is the slot in which the module is installed (slot 1 is 01, slot 2 02, etc.)

Normal PWM

The frequency must be the same for channel 1 and channel 2, but the Duty Cycle is independently adjustable for each channel. Duty Cycle can be adjusted while the output is running. The valid range is 0 to 100%, but the effective range will vary depending on the device being controlled. The frequency can be adjusted while running (place a 2 in the Config register). The Channel 1 and Channel 2 outputs can be enabled and disabled independently.

FunctionRegister Register Description
Output, PWM PulseY0 (Channel 1)Y1 (Channel 2)Physical Output
Configuration RegisterMWnn24MWnn30Value = 1 for this mode
Frequency Setting RegisterMWnn25MWnn31Range = 1 to 200000
ON Duty Setting Register (Duty Cycle)MWnn27MWnn33Range = 0 to 100
Pulse Enable FlagMnn576Mnn577Output enabled when ON
ON Duty Setting Error FlagMnn466Mnn471ON = error
(resets automatically)
Frequency Setting Error FlagMnn467Mnn472ON = error
(resets automatically)
PWM Oscilloscope Display

CW/CCW (Clockwise/Counter Clockwise)

When the frequency is positive, the output signal is generated on Channel 1, and Channel 2 is not used. When the frequency value is negative, the output signal is generated on Channel 2, and Channel 1 is not used. The frequency can be adjusted while running (place a 4 in the Config register instead of 3), and the Duty Cycle is fixed at 50%.

FunctionRegister Register Description
Output, PWM PulseY0 (Channel 1)Y1 (Channel 2)Physical Output
Configuration RegisterMWnn24MWnn30Value = 3 for this mode
Frequency Setting RegisterMWnn25MWnn31Range = -100000 to -1 and
1 to 100000
Pulse Enable FlagMnn576Mnn577Output enabled when ON
Frequency Setting Error FlagMnn467Mnn472ON = error
(resets automatically)
PWM Oscilloscope Display: Positive Frequency
PWM Oscilloscope Display: Negative Frequency

Pulse/Direction

The output signal is generated on Channel 1. If the frequency value is positive, Channel 2 is held low. If the frequency value is negative, Channel 2 is held high. The frequency can be adjusted while running (place an 8 in the configuration register), and the Duty Cycle is fixed at 50%.

FunctionRegister Register Description
Output, PWM PulseY0 (Channel 1)Y1 (Channel 2)Physical Output
Configuration RegisterMWnn24MWnn30Value = 7 for this mode
Frequency Setting RegisterMWnn25MWnn31Range = -100000 to -1 and
1 to 100000
Pulse Enable FlagMnn576Mnn577Output enabled when ON
Frequency Setting Error FlagMnn467Mnn472ON = error
(resets automatically)
PWM Oscilloscope Display: Positive Frequency
PWM Oscilloscope Display: Negative Frequency

Fixed Pulse Mode

The output signal is generated on Channel 1. The frequency ramps up from the minimum frequency to the maximum frequency in the interval specified by acceleration time. The output signal is generated until the specified number of pulses has been sent. As the number of pulses approaches the specified count, the frequency ramps down from the maximum frequency to the minimum frequency in the interval specified by the deceleration time. When the specified number of pulses is reached, the output signal stops but remains enabled. The Duty Cycle is fixed at 50%.

FunctionRegisterRegisterDescription
Output, PWM PulseY0
(Channel 1)
Y1
(Channel 2)
Physical Output
Configuration RegisterMWnn24MWnn30Value = 9 for this mode
Minimum Frequency RegisterMWnn25MWnn31Range = 1 to 100000
Maximum Frequency RegisterMWnn27MWnn33Range = 1 to 100000
Acceleration Time RegisterMWnn37MWnn38Range: 0 to 65535
Deceleration Time RegisterMWnn39MWnn40Range: 0 to 35536
Total Pulses RegisterMWnn41MWnn430 to 4294967295
Elapsed Pulses RegisterMWnn45MWnn470 to 4294967295
Pulse Enable FlagMnn576Mnn577Output enabled when ON
Frequency Setting Error FlagMnn467Mnn472ON = error (resets automatically)
Acceleration Time Error FlagMnn468Mnn473ON = error
Deceleration Time Error FlagMnn469Mnn474ON = error
Total Pulses Setting Error FlagMnn470Mnn475ON = error
Total Pulses ReachedMnn784Mnn785ON when Total Pulses have been sent
PWM Oscilloscope Display