Additional DIO-Modules

From CPR Wiki
Jump to: navigation, search


The Commonplace Robotics control for the igus robolink robots comes with one digital input / output module with seven digital inputs (24V via Optocoupler) and 7 digital outputs (24V max 300 mA via reed relay). If these DIOs are not enough it is possible to add two further digital input / output modules to the control.

Mechanical Integration

Caution.png Do not hotplug! Disconnect the control from the power source before changing components of plugging / unplugging cables!

  • Add the bus extenders to the control. They have to be pressed in the C-Rail and pressed to the existing control beneath the Digital IO module.
  • Plug the additional digital IO module
  • Set the CAN ID with the selector on the front face:
    • First (already existing) IO module: 0 (this results in CAN ID 0x70 = 112)
    • Second (additional) IO module: 2 (this results in CAN ID 0x80 = 128)
    • Third (additional) IO module: 4 (this results in CAN ID 0x90 = 144)


Electrical Integration

DIO pinout.png

Digital Inputs:

  • Connect the ground pin (Output connector 1, to GND
  • Supply 24V to one of the input pins
  • Example on the left: 24V via switch to input pin 4
  • Result in CPRog: digital input Din24 is triggered

Digital Outputs

  • Connect the supply pin to 24V power supply
  • The supply is forwarded to one of the outputs pins via reed relays
  • Connect a valve or another component to the output pin
  • Connect the component to GND to close the electrical circuit
  • See the example with the lamp on output 5 on the left.
  • In CPRog:
    • Reset and Enable the robot
    • Set DOut 25 to true to switch on the lamp

Software Integration

  • Open your project file, e.g. C:\CPRog\Data\Projects\51_IGUS_arm5DOF_SV.prj with and editor.
  • Find the line with the <DIOModule> Tag, e.g. line 30.
  • Add one (for one additional module) or two lines (for two additional modules) as follows.
  • The number in the ID tag is the CAN ID in decimal writing.

The first line <DIOModule ID="112"> should exist already.

<DIOModule ID="112">
<DIOModule ID="128">
<DIOModule ID="144">

Use of DIOs in CPRog

Manual Use

This is e.g. useful for an initial test: The tab "DIN-Rail Input/Output" in CPRog allows to check the input states and to set the output channels for up to three DIO modules.

When the physical robot is connected, only the outputs can be set. The inputs are shown based on the signals from the electronics. (During simulation, i.e. with the physical robot disconnected, also the input channels can be set to simulate e.g. sensors.) DIO cprog.png

Use in CPRog Programs

The modules can be used the same way as the standard module:

Digital Output Numbers Digital Input Numbers
Module 1 (standard) 21 to 27 21 to 27
Module 2 (additional) 31 to 37 31 to 37
Module 3 (additional) 41 to 47 41 to 47


For a detailed how-to on operating a gripper via the DOut of the DIO module, have a look at: How to operate a gripper using CPRog and the Modular Control Electronics

Here's the short version for those who have used DIOs in CPRog before:

This enables the

  • first output of the first DIO module (DOut21)
  • first output of the second DIO module (DOut31)
  • second output of the second DIO module (DOut32)
  • first output of the third DIO module (DOut41)
  • seventh output of the third DIO module (DOut47)

DIO CPRog outputs.png

This waits until the fifth input of the third module is high:

DIO CPRog inputs.png