Using Discrete I/O

This topic describes many different ways to use the RMC discrete I/O.

Tag Names

General-purpose discrete I/O can be given tag names. To assign tag names to discrete I/O, use the Discrete I/O Configuration editor.

Setting Outputs

There are several ways to turn discrete outputs on or off:

Using Commands

The commands below operate on a single output. To operate on multiple outs simultaneously, use one of the methods above.

Set Discrete Output (60)

Clear Discrete Output(61)

Toggle Discrete Output(62)

From RMCTools

Use the Discrete I/O Monitor to toggle outputs on or off. See Toggling Outputs below.

Use the Discrete I/O Monitor to force the output on or off. See Forcing Inputs or Outputs below.

Note:
An output or input that is forced will always remain in the forced state until the force is removed. Toggling an output will change the state of the output if is not forced.

From a User Program

Use the Expression (113) command in a User Program to turn on outputs or get the state of inputs.

A sample expressions is:

MyOutput := True

The MyOutput tag must previously have been assigned to an output for this expressions to be valid.

From PLC or HMI

Write to the address of the output. See the RMC150 DI/O Register Map, RMC75 DI/O Register Map, or RMC200 DI/O Register Map for address details.

Using Inputs and Outputs in User Programs

You can use inputs and outputs in User Programs for calculations and controlling the flow of the program. Inputs and outputs are boolean Data Types and must match the data types in the expression or must be converted to match the other data types.

All variables, inputs and output tags in the sample expressions below must have been defined for the expression to be valid.

In the Expression (113) command:

Turning on an output:

To turn an output on or off, assign a value to the output.

Sample Expression:

MotorOnOutput := ( NOT LowPressureInput ) AND ( NOT ErrorInput )

 

Assigning a value to a variable:

You can assign a value to a variable based on the value of an input.

Sample Expression:

SystemOK.0 := LowPressureInput OR (_Axis[0].ActPos > 24.2)

Note:
SystemOK.0 is the first bit in the DWORD type variable SystemOK.

In the Conditional Jump link type:

The Conditional Jump type jumps to a step based on whether the expression evaluates to true or false. To use Discrete I/O, you must enter an expression. To do this, choose the Cnd Jmp link type, double-click the Link Condition box, choose Other, and click Next.

Sample expressions:

SawLimitInput

PressOnInput OR (_Axis[0].ActPos < 24.2)

Forcing Inputs and Outputs and Simulate Inputs

Inputs and Outputs can be forced on or off from RMCTools. The inputs and outputs will always remain in the forced state until the force is removed. To force an input or output, you must first Go Online with the controller, and open the Discrete I/O Monitor.

Forcing an Output

In the Discrete I/O Monitor, right-click the output you want to force, and click Force On or Force Off. The output will be highlighted with a yellow background to indicate is forced.

Forcing an output will force the physical output on or off. Until the force is removed, the RMC will ignore all other attempts to turn that output on or off. If an output is forced on, its corresponding LED on the expansion module will turn green, and the output will physically be on (conducting). If an output is forced off, its corresponding LED on the expansion module will turn off, and the output will physically be off (not conducting). Forcing an output only affects the physical output, and does not affect the corresponding software bit.

Forcing an Input (Simulate an Input)

In the Discrete I/O Monitor, right-click the input you want to force, and click Force On or Force Off. The input will be highlighted with a yellow background to indicate is forced.

Forcing an input will force the input on or off. Until the force is removed, the RMC will ignore the physical state of the input. The LED on the expansion module will not be affected by the force. The LED will still reflect the physical state of the input.

Removing a Force

In the Discrete I/O Monitor, right-click the input or output you want to remove the force from, and click RemoveForce. Or, in the Discrete I/O Monitor, right-click anywhere and click Remove All Forces.

Using Inputs to Start a User Program

To start a User Program based on an input:

Reading the Input or Output State

To read the state of an RMC input or output, read the bit in the register or read the entire register. See the Register Map for details.

Control Whether the RMC is in RUN, PROGRAM, or Disabled mode.

See the Configuring Discrete I/O for details on assigning an input to control whether the RMC is in RUN, PROGRAM, or Disabled mode.

Hardware Specifications

For hardware details on the discrete I/O, such as response times and voltage and current limits, see the specifications for the respective modules:

RMC150E CPU Module

RMC150 DI/O Module

RMC75 D8 Module

RMC200 DC24 Module

 

See Also

Discrete I/O Overview | Configuring Discrete I/O


Send comments on this topic.

Copyright © 2025 Delta Computer Systems, Inc. dba Delta Motion