User Account 1 1
Cart 0  0,00

Digital I/O EA PLC module * USB module with 16*DI and 16*DO (digital inputs/outputs)

The DEDITEC digital I/O PLC USB module offers 16 digital inputs and outputs for reliable signal processing in automation projects. This compact solution enables easy integration of sensors and actuators via USB. It is ideal for controlling machines and for detecting switching states in industrial applications. Typical applications include monitoring limit switches or controlling relays and solenoid valves.

Price range: € 499,80 through € 523,60 Incl. 19% VAT plus shipping

SKU: BS-USB-OR16 Categories: ,

Our promise to you

Product Description – digital I/O E/A SPS module

The BS-USB-OR16 is an industrial I/O system for acquiring and controlling digital signals and features a USB interface as its primary communication link. Via USB, a direct connection to a PC is established with automatic device detection and control through the DEDITEC DELIB API, enabling fast integration into existing software environments. Communication is based on a driver and library structure that allows access to all module functions via standardized API calls. Optionally, CAN or serial interfaces (depending on the accessory variant) are available to flexibly integrate the digital I/O E/A SPS module into industrial fieldbus or legacy environments.
The digital inputs and outputs are designed for 24 V industrial signals and are implemented as opto-isolated inputs as well as relay- or MOSFET-based outputs, depending on the configuration. This allows both the acquisition of classic switching signals and the reliable control of different load types. Channel status LEDs provide direct visual indication of states, while integrated functions such as debouncing and counter logic support precise signal processing. Typical applications include machine control, test bench technology, and PC-based automation solutions.

Simple direct connection via USB thanks to plug & play

The USB interface of the BS-USB-OR16 is primarily designed for a direct, local connection between the module and a control computer and is characterized by simple commissioning. Thanks to plug-and-play functionality and appropriate drivers, the device is automatically recognized, allowing immediate access to the digital I/O E/A SPS module via software tools.
Technically, the interface is based on USB 2.0 with transfer rates of up to 480 Mbit/s, providing a stable and fast data connection for configuration and control. It is often used for initial setup or for applications where no network infrastructure is available.
Overall, USB provides a straightforward and reliable interface for direct access.

Optional CAN and serial interfaces for industrial communication

The optional CAN and serial interfaces extend the module with classic industrial fieldbus and point-to-point communication capabilities. Through the CAN interface, robust real-time data transmission can be achieved with configurable baud rates, standard or extended IDs, and selectable operating modes. A key feature is the integrated automatic CAN TX/RX mode, in which defined messages are transmitted and received cyclically or event-driven without requiring continuous control by higher-level software.
The configuration of TX/RX behavior is conveniently handled via the ICT-Tool, allowing transmission and reception logic to be easily parameterized. In addition, an open register protocol is available, enabling both CAN and serial data to be read and written directly.
The serial interface (e.g., RS-232 or RS-485, depending on the adapter) also supports configurable communication parameters such as baud rate, data bits, parity, and stop bits, making it suitable for integration into existing automation or legacy systems.
Both optional interfaces can be configured via a setup tool and permanently stored in the BS-USB-OR16 device memory, ensuring that communication automatically resumes after a restart. This makes them particularly well suited for autonomous applications and distributed systems without permanent PC connectivity.

USB control via API commands and integrated driver interface

The USB connection of the module enables direct and straightforward control via an integrated driver and API structure (DELIB API). Following the plug-and-play principle, the digital I/O E/A SPS module is automatically detected by the system and can then be addressed in software through standardized function calls. For all digital inputs and outputs as well as counter and status functions, defined API commands are available to read and control states.
Communication with the BS-USB-OR16 is typically handled via a DLL-based library that can be integrated into common programming languages such as C, C++, C#, Java, VB, and LabVIEW. This allows the development of custom applications, control programs, or test environments without the need to handle low-level USB communication.
In addition, the module provides a command-line interface (CLI), enabling simple control and query commands to be executed directly from scripts or terminal applications.
In practical use, this means that switching states of individual outputs or reading input signals can be controlled in real time using just a few API function calls. As a result, USB control is particularly well suited for automation tasks, test benches, and PC-based control applications with direct hardware integration.

Flexible CAN control via auto TX/RX and DELIB command mode

The control of the BS-USB-OR16 is based on two operating modes: the Auto TX/RX mode and the DELIB command mode. In Auto TX/RX mode, the module can automatically send and receive CAN messages without the need for a permanently connected control PC. This enables autonomous operation within a CAN network.
Alternatively, the DELIB command mode provides direct register-based access via a manufacturer-specific CAN protocol, where targeted commands are transmitted to the module. Read and write operations are implemented using defined CAN IDs and structured data packets, allowing highly flexible and precise control.
Configuration of these control modes is conveniently performed via the integrated USB interface on a PC. Using the corresponding tool, parameters such as communication behavior, TX/RX logic, and DELIB command structures can be easily configured and tested. This allows the digital I/O E/A SPS module to be quickly adapted to different applications and efficiently integrated into existing CAN systems.

Structured protocol control for flexible system integration

The control of the BS-USB-OR16 is carried out via a structured, command-based protocol that enables direct communication with higher-level control systems or PCs. Commands for configuration, querying, and parameterization are transmitted via the serial interface and are clearly interpreted by the digital I/O E/A SPS module.
Thanks to the modular structure of the protocol, easy integration into existing software and PLC environments is possible. Communication can be either cyclic or event-driven, allowing flexible adaptation to different applications.
Overall, this control approach enables precise and reliable operation as well as seamless integration of the module into industrial automation systems.

Galvanically isolated digital inputs with filtering functions for reliable signal acquisition

The digital inputs on the BS-USB-OR16 are implemented as opto-isolated switching inputs, ensuring reliable galvanic isolation between the field side and the internal electronics. They are designed for industrial 24 V AC/DC signals and enable safe detection of switching states even in electrically noisy environments. The integrated filtering function suppresses short interference pulses, ensuring stable signal processing.
In addition, the inputs feature event detection that reliably captures signal transitions and makes them available for further processing. In combination with counter and flip-flop functions, even fast pulses or state changes can be evaluated precisely. Each input of the BS-USB-OR16 is also equipped with an individual status LED that visually indicates the current switching state directly on the device, enabling fast on-site diagnostics.
As a result, the digital inputs are ideally suited for industrial automation tasks where robust and reliable signal acquisition is required.

Digital outputs with selectable load and switching technology (1A, 3A & MOSFET)

The digital outputs of the BS-USB-OR16 are available in different switching technologies depending on the version, each optimized for specific load types and applications. In the 1A variant, relay contacts are used, providing galvanically isolated mechanical switching and making them particularly suitable for general-purpose AC and DC loads in the lower power range.
The 3A variant is also based on relay technology but offers higher current-carrying capability, making it suitable for more robust loads and industrial applications where higher switching power is required.
The MOSFET version, in contrast, operates entirely electronically without moving contacts and is ideal for fast, wear-free switching in DC applications. It enables efficient control of resistive and inductive loads with high switching frequency and low power loss.
By combining these three variants, the digital I/O E/A SPS module can be flexibly adapted to a wide range of requirements—from classic switching tasks to high-speed electronic applications.
Each individual output also features its own status LED, which directly visualizes the current switching state on the device.

Event Control – event-based automation

The Event Control function enables direct, event-driven processing of both digital and analog signals in the digital I/O E/A SPS module, without requiring cyclic polling by higher-level software. Digital signal transitions can immediately trigger internal actions, while analog signals can generate events based on defined thresholds, measurement ranges, or significant value changes. This allows responses to be implemented much faster and more resource-efficiently compared to traditional polling-based processing.
The event logic can be flexibly configured, enabling both simple switching conditions and more complex dependencies between digital and analog signals. In addition, functions such as filtering, hysteresis, and threshold monitoring are available to ensure stable and reliable trigger conditions.
As a result, Event Control is particularly well suited for automation applications where signals must be evaluated intelligently and processed immediately.

M2M communication – direct device-to-device networking

The M2M (machine-to-machine) function enables direct communication between multiple modules or systems without a central control unit. States and events can be automatically exchanged and synchronized between devices, allowing the creation of distributed and autonomously operating automation structures. Communication is carried out via defined protocols and can be flexibly integrated into existing system architectures. As a result, M2M is particularly well suited for connected industrial and IoT applications.

Robust design with an industrial-grade enclosure and plug-in ready connection solution

The digital I/O E/A SPS module is housed in a compact, industrial-grade enclosure designed for use in control cabinets and technical environments. The robust construction reliably protects the electronics against mechanical influences while enabling space-saving installation, typically on a DIN rail or comparable mounting system.
For electrical connection, pluggable, industry-standard screw or spring-clamp terminals from Wago are used, ensuring secure and vibration-resistant wiring. The clearly structured terminal layout significantly simplifies installation and maintenance, especially in complex systems.
The design of the BS-USB-OR16 is complemented by easily accessible status indicators and clearly labeled interfaces, supporting commissioning and on-device diagnostics. Overall, the form factor is consistently optimized for industrial robustness, easy integration, and service-friendly handling.

Maintenance and Long-Term Planning

The BS-USB-OR16 supports users with a durable, industrial-grade architecture that enables predictable use over many years. The combination of robust drivers, comprehensive documentation, and the ICT diagnostic tool simplifies commissioning and maintenance. Electrical isolation and high-quality electronics ensure reliable operation, while support and continuous updates guarantee seamless integration into professional automation environments.

Technical Specifications

The digital I/O PLC module features 16 digital inputs and 16 digital outputs (relays or MOSFETs), a USB 2.0 interface with a data rate of up to 480 Mbit/s, and optionally expandable interfaces such as CAN or RS-232. The power supply ranges from +7 V to +24 V DC. Integrated 16-bit counters, configurable input filters, and a fail-safe mode ensure reliable operation. The device is designed for DIN rail mounting.

USB interface:

  • USB 2.0 interface up to 480 Mbit/s
  • Quick setup thanks to plug-and-play integration
  • Control: API for Windows and Linux (DELIB driver library), command-line interface

CAN interface:

  • Interface can be retrofitted as an option
  • CAN interface according to ISO 11898
  • Open CAN protocol (RAW CAN)
  • Automatic transmit/receive mode
  • Electrically isolated up to 500 V

RS-232 interface:

  • Interface can be retrofitted as an option
  • RS-232 interface with up to 115,200 baud

Relay outputs 1 A:

  • Type: Normally Open (NO)
  • Max. switching voltage: 36 V AC / DC
  • Max. switching current: 0.5 A AC / DC
  • Max. load current: 1 A AC / DC
  • Max. switching power: 10 W
  • Timeout protection function (configurable via software)
  • Status LED for each output

Relay outputs 3 A:

  • Type: Normally Open (NO)
  • Max. switching voltage: 48 V AC / DC
  • Max. switching current: 3 A AC / DC
  • Max. conduction current: 3 A AC / DC
  • Max. switching power: 90 W
  • Timeout protection function (configurable via software)
  • Status LED for each output

MOSFET outputs 3 A:

  • Max. switching voltage: 36 V DC
  • Min. switching voltage: 2.8 V DC
  • Max. switching current: 3 A DC
  • Max. switching power: 108 W DC
  • Timeout protection function (configurable via software)
  • Status LED for each output

Digital inputs:

  • Type: AC/DC optocoupler
  • Signal level: ±5 V to ±15 V or ±15 V to ±30 V
  • 16-bit counter per channel (up to 100 Hz)
  • Detects a transition from low to high and from high to low (flip-flop)
  • Status LED for each channel

Additional features:

  • Configurable event control
  • M2M functionality

The module is ideal for PLC-based automation tasks that require the reliable acquisition and switching of 24-V digital signals. With 16 galvanically isolated inputs, 16 high-performance outputs (relays/MOSFETs), counter functions, and fail-safe mechanisms, it is perfectly suited for sensor/actuator connectivity, machine control, signal testing, and condition monitoring.

Digital inputs

Digital signal states can be recorded with our optocoupler inputs. Input and output circuits are electrically isolated from each other up to 2.5 kV.

Digital-in input filter

With our digital-in modules, an input filter can be set in a time interval of 1 ms...255 ms for filtering interference pulses.

Counter

Each input has a 16-bit counter.

Detection of state changes

Status changes that occur between readout cycles are reliably recorded by internal status change flip-flops and can be read out separately via software. In addition, such an event is signaled by a status LED.

Icon Input Digital

Relay

Our digital outputs use power relays with normally open (NO) function.
All our relays are equipped with a software-based timeout protection function to protect against damage caused, for example, by contact breakage to the control PC.

Symbol digitale Ausgänge


Fail-Safe Mode

The Fail-Safe mode is a safety function in which the DEDITEC module switches to a previously configured, safe switching state in the event of a connection failure.
This is intended to prevent connected installations or systems from continuing to run in an uncontrolled manner.

Symbol für den Fail-Safe Modus


USB interface with Plug & Play

Thanks to Plug & Play, our modules with USB interface are automatically recognized and are immediately ready for use without any configuration. Configuration is only required if several USB modules from the same product series are used on the same system.

Symbol für USB Plug and Play


Plug connector

A screwless system from the manufacturer WAGO® Kontakttechnik is used as the connector. The 1-wire female connectors are 100 % protected against mismating and have an ejection and locking mechanism.

Symbol für Steckverbinder


LEDs

Each digital input and output has a separate LED that lights up when the signal status is active. The status of the operating voltage, communication with the interface, error events or the occurrence of a timeout can also be displayed.

Symbol für LEDs


M2M

Machine-to-machine, or M2M for short, involves direct communication between two or more modules. Analog or digital input signals from one transmitter module can be automatically transmitted to another module on a channel-by-channel basis.
M2M transmission is supported by all our products in the WEU series or by products with a CAN interface.

Symbol für M2M


Event-Control

This function can be used to implement small control tasks that are saved in the module. These control tasks are configured as events and actions and then executed automatically according to the “if-then” principle.

Symbol für Event-Control


Software and control for programmers

Our supplied DELIB driver library makes it easy to address the product via our API in almost all programming languages under Windows and Linux.

We offer support for the following programming languages:

  • C
  • C++
  • C#
  • VB
  • VBA
  • VB.Net
  • Java
Symbol für unterstützte Programmiersprachen


Command-Line-Interface

With the help of the command line interface, or CLI for short, our products with Ethernet or USB interface can be easily addressed via the command line. Our digital and analog inputs/outputs are supported. The CLI is available for Windows and Linux operating systems.

Symbol DEDITEC Treiberbibliothek

General information

Power supply + 7 V DC ... +24 V DC
LEDs
  • Operating voltage
  • Interface activity
  • ERROR
  • Input status change
  • Timout shutdown
  • I/O-access
  • One LED per I/O-channel
DIN rail mounting 35 x 7,5 mm
Operating temperature +10 °C ... +50 °C
Dimensions 105 mm x 135 mm x 74.5 mm (H x W x D)


Special features

Event-Control With our event control, you have the option of linking occurring events to a specific action. With the help of our ICT tool, the control tasks can be stored directly in the module memory thanks to an intuitive “if-then” logic. Monitor, control and regulate without an additional control PC.

Fail-Safe-function

FAIL-SAFE-function
  • Simple and uncomplicated setting of the timeout protection function possible via software
  • Time-definable automatic activation of the timeout protection function in the event of a timeout (between 0.1 seconds and 6553 seconds)
  • In the event of a timeout, digital outputs can be activated, deactivated or left unchanged
Timeout-mode "Normal" The "Normal mode" is valid once and must be reactivated manually by software command after each timeout event. The customer application still has access to all controller outputs.
Timeout-mode „Auto reactivate“ In “Auto reactivate mode”, the timeout function is automatically reactivated once communication with the control PC has been re-established. The customer application still has access to all outputs of the control unit.
Timeout-mode "Secure Outputs" The “Secure outputs mode” blocks access to the outputs after the timeout event. Unlocking can only be carried out by software command. This is an important safety aspect in the event of a fault.


Interfaces

CAN Interface

CAN-Interface
  • Connection: 9-pin D-Sub socket
  • CAN 2.0A or 2.0B
  • 1 Mbit/s, 500 Kbit/s, 250 Kbit/s, 125 Kbit/s, 100 Kbit/s, 50 Kbit/s, 20 Kbit/s or 10 Kbit/s
  • Galvanically isolated up to 500 V
  • Open CAN protocol
  • Automatic processing of CAN packets (Auto TX/RX mode)

USB Interface

USB-Interface
  • Connection: Type B
  • USB 2.0 / USB 1.1 interface with up to 480 Mbit/s

RS-232 Interface

RS-232 Interface
  • Connection: 9-pin D-Sub socket
  • RS-232 interface with up to 115.200 baud
  • Galvanically isolated up to 500 V (does not apply to modules in the BS-WEU series)
  • Configurable via the ICT tool or additionally via DIP switch


Inputs/Outputs

Digital outputs (MOSFET)

MOSFET 2A
  • Type: IRFR5505PBF
  • Max. Switching voltage: 30 V DC
  • Min. switching voltage: 2.8 V DC
  • Max. switching current Switching current: 2 A DC
  • Max. Switching power: 60 W DC

Digital outputs (relay)

Relay up to 1 A
  • Type: SIL05-1A72D
  • Type: Normally open contact (NO)
  • Max. Switching voltage: 36 V AC / DC
  • Max. Switching current: 0.5 A AC / DC
  • Max. Transport current: 1 A AC / DC
  • Max. Switching power: 10 W
  • Galvanic isolation between contact and coil: 1.5 kV RMS /1 min

Digital outputs (relay)

Relay 3 A
  • Type: PCN105D3MHZ
  • Type: Normally open contact (NO)
  • Max. Switching voltage: 48 V AC / DC
  • Max. Max. switching current: 3 A AC / DC
  • Max. Transport current 3 A AC / DC
  • Max. Switching power: 90 W
  • Galvanic isolation between contact and coil: 3 kV RMS /1 min

Digital inputs (optocoupler)

Optocoupler
  • Type: AC / DC
  • +-15 V ... +-30 V AC / DC signal voltage (optional +-5 V ... +-15 V AC / DC)
  • Galvanic isolation between input and output circuit: up to 2.5 kV AC for 1 minute
  • Maximum input current: 14 mA
Input filter
  • Default value: 0 ms
  • Value range: 0 (off), 1 (ms) ... 255 (ms)
Input counter
  • 16-bit counter per channel
  • Maximum possible counts: 65535 per channel. Reset to zero after memory overflow
  • Internal counting logic up to 10 kHz
  • Programmable filter for input channels (flip-flop and counter)
  • Minimum low or high pulse duration: 5 ms ... 255 ms
Flip-flops
  • Detects a change from low to high and high to low level
  • Detects the input status change between two readout processes
  • Input status flag is reset during readout


Connectors

Plug connector 16-pin
  • Type: Wago contact technology 713-1108/037-000
  • Pluggable female connector with locking mechanism
  • 100 % protected against mismating
  • 1-wire connection for all conductor types up to 1.5 mm²

The ICT-Tool

Integration, configuration and testing - Our all-in-one Windows tool contains all the functions you need to put our products into operation quickly, easily and efficiently. Start with the setup and configuration, install firmware updates and use the extensive test and diagnostic options. The integrated help menu provides additional support if required.

Below you will find a brief overview of the program’s basic menus.

Module selection
Here you can integrate a new product into the ICT tool by clicking on the “+” symbol and then configure it.

ICT TreeView
In the TreeView, on the left-hand side of the program window, you can see the respective control elements or functions that are supported by your selected module. The scope of the functions depends on the respective product.

Overview
All relevant module information can be accessed here at a glance.

  • Module name
  • Module ID
  • Firmware revision
  • MAC address
  • LAN and WiFi Network address (module dependent)

Inputs / Outputs
This overview shows the number of I/Os supported by your module.

Module infos
Here you will find all the important feature information for your module.

General features
Here you will find all the important feature information for your module.

Digital I/O features
Here you will find information about the digital I/Os supported by the module.

Analog I/O features

Here you will find information about the type of analog I/Os supported by your module.

Special I/O features

Here you will find information about the type of special I/Os supported by your module.

In den folgenden Kapitel, würden wir Ihnen unsere neue All-In-One-Software gerne genauer vorstellen.

Info
All relevant module information can be called up here at a glance.

  • Module name
  • Module ID
  • Firmware revision
  • Interface type
  • Current DIP switch setting (only for Ethernet modules)

Identification
If several DEDITEC Ethernet modules are active in the network, a signal LED on the selected module can be activated via an identification function. This facilitates visual assignment.

Restart
You can restart your module here. The module status shows whether the restart was successful.

USB configuration
If you want to use several USB modules from the same product series on one PC, each of these modules must first be assigned its own module number.

LAN info
On this information page, you will find the current LAN network information and all the settings for your module at a glance.

LAN configuration
Integrate the product into your network or control it directly via a 1-to-1 connection.
The following parameters can be changed.

  • Board name
  • DHCP on/off
  • IP address
  • Subnet mask
  • Default gateway
  • TCP Port

WiFi info
All important WiFi settings are displayed on this page

WiFi configuration
Here you can change the network settings of the selected WiFi product.

The following settings can be made:

  • Board name
  • WLAN on/off
  • Router name
  • Router password

WPS
With the WPS function, your module can be connected to the router quickly and easily, automatically (WPS on the router is required)

CAN configuration
With our CAN products in the BS, NET and UC series, settings for the interface and the TX/RX packets can be made using the ICT tool.

More information can be found here:

Serial configuration
For our serial products in the BS, NET, UC and RO series, changes to the interface can be made using the
ICT tool.

More information can be found here:

Modbus TCP
Here you can set the Modbus TCP configuration of the module.
 
The following configurations can be made.

  • Enable/disable access via Modbus TCP
  • TCP port

TCP encryption
Here you can make settings for the encryption of your module.

The following configurations can be made.

  • Allow unencrypted protocol
  • Allow “User” encryption mode
  • User password
  • Allow “Admin” encryption mode
  • Admin password

NTP configuration
You can make changes to the NTP service here.

The following configurations can be made.

  • NTP service on/off
  • server
  • Port
  • Timezone

WEB-Login
Here you can change the login settings of the web interface.

The following configurations can be made.

  • Session duration
  • Login name
  • Login password
  • Allow I/O access via web interface

D/A Default Values
Here you can set the D/A values and modes with which the module should be started.
The value and mode can be set individually for each channel.

Watchdog configuration
Here you can make and save settings on your watchdog stick.

Save or Load config
Using the “Save or Load config” function, you can save your entire module configuration in an external XML file.
This means you can always load your module in the desired original state.

The following configurations can be saved depending on the module type.

  • USB configuration
  • LAN configuration
  • WiFi configuration
  • TCP encryption
  • NTP configuration
  • Serial configuration
  • CAN configuration

 

Status
This gives you an overview of the activity of the transmitter and receiver module

The following information from the transmitter module is displayed:

  • Status of the activity: If the check mark is set, this action is currently being performed.
  • Total number of actions performed. Is reset to 0 after a restart of the module.
  • Number of actions per second.
  • Number of DELIB errors that occur when executing commands from the DEDITEC driver library.

The following information from the receiver module is displayed:

  • Connected: If the check mark is set, the transmitter and receiver modules are connected.
  • IP address of the receiver module.
  • Number of connection attempts.

 

Receiver modules
You can set the network settings of the receiver module here.

The following settings can be made

  • Name for the receiver module
  • Network settings of the receiver module
  • Timeout
  • Encryption type/ password

Action
With an action, you define which input signal is to be sent from the transmitter module to which output of a receiver module.

The following settings can be made:

  • Type of task (digital, analog)
  • Which receiver module should be used
  • The interval at which the operations are to be carried out
  • Start channel of the transmitter module
  • Number of channels to be transmitted
  • Start channel of the receive module

In the image on the right, DI data is sent every 100ms from channel 3(CH Start) to channel 8 ((CH Start) + (CH Count)) to channels 0-5 of the target module.

 

In den folgenden Kapitel, würden wir Ihnen unsere neue All-In-One-Software gerne genauer vorstellen.

Status
The Status area provides an overview of all active events and executed actions.

The following information is listed:

  • Event number
  • Event type
  • Time interval of the event
  • Number of events that have occurred
  • Action number
  • Number of triggered actions
  • Number of other actions

Events configuration
Up to 16 different events can be created in the configuration menu. An event can be used, for example, to define switching thresholds at the analog inputs or logical states at the digital inputs of the module and link them to an executable action. The configuration itself is saved permanently in the module configuration memory of the module.

The following event modes are available, depending on the module type:

  • DI: High-Low state of a digital input.
  • DI flip-flop: Status change of a digital input (is stored in the module with the so-called flip-flop flag and deleted again after readout).
  • DO readback: ON-OFF status of a digital output (is read out using a DO readback command).
  • A/D: Current or voltage level at the analog inputs

 

Configuration actions
Up to 16 different actions can be created in the configuration menu. An action defines what should happen within an event after a condition is met.

The following action modes are available, depending on the module type:

  • Set DO output:    Switches a digital output on or off
  • Set D/A output:    Outputs a current or voltage value at an analog output
  • Send CAN packet:      A special CAN TX event is triggered (up to eight CAN TX events can be configured separately).

 

Digital Out
Hier können Sie die digitalen Ausgänge Ihres Modules ein- und ausschalten.
 
Folgende Funktionen können in dieser Form getestet werden.

  • Kanalweise Ein- und Ausschalten der digitalen Ausgänge
  • Readback der Kanäle
  • Setzen eines Digitalausgangs für eine bestimmte Zeit (Modulabhängig)
  • Gibt an welchen Status die Kanäle nach Ablauf der Zeit einnehmen sollen (Modulabhängig)
  • Testen der Ausgänge

Digital Out
All digital outputs of your product can be checked by clicking on the buttons.

The following switching options are possible:

  • Switching on and off channel by channel
  • Channel-by-channel switching on or off for a specific time (product-dependent)
  • Reading back the switching status (readback)

Digital In
In this view, the logical states of all optocoupler inputs can be read out.

The following information is displayed:

  • Logical status of the inputs (ON/OFF)
  • Number of detected pulses (counter function)
  • Change of state detected (flip-flop)

TTL I/O
In this menu, the TTL channels of the module can be configured as inputs or outputs. The individual TTL outputs can be switched on or off by pressing the buttons. In addition, the status of all TTL inputs can be read out.

The tool offers the following functions:

  • Configuration of the channels as input or output (in blocks of 8)
  • Switching on and off channel by channel
  • Reading back the switching status (output readback)
  • Displaying the logical status of the inputs (input readback)

 

Analog Out
Here you can test the analog outputs of the module and manually enter any voltage or current value.

Analog In
In this menu, voltage or current values of all A/D channels can be displayed.
It is also possible to activate our A/D software filter with different filter levels.

CAN Runtime Parameter

Here you can change the CAN settings of the interface, the RX and TX packets in runtime.

The following settings can be made:

  • Baud rate
  • Extended ID
  • Active on/off
  • CAN ID
  • Mode

CNT48

Here you can read out the counter readings of a counter module, select filter options and set various counting modes.

The following counting modes are supported:

  • Read on rising edge
  • Read on rising edge x2
  • Read on rising edge x4
  • Period duration
  • Frequency measurement
  • PWM measurement

Pulse generator
The pulse generator can be used to generate square-wave signals. High and low time as well as the number of pulses can be set here.

PWM Out
In this menu you have the option of testing various PWM frequencies. In addition, the duty cycle can be entered manually for each individual channel.

Temp
The temperature of all connected temperature sensors is displayed here directly in °C.

Graphical display
This menu allows a graphical representation of all analog input signals, such as A/D, temperature or FIFO-IN.

Watchdog
This tool can be used to check the configured watchdog parameters for correct function.

I/O – Timeout

You can use the timeout function in the I/O area to simulate a timeout case for your module.

The following is a description of the timeout window

  1. Read / Write symbol:   Flashes to indicate an active connection to the module
  2. Automatic access: Removing the tick triggers a timeout after the timeout time has expired
  3. Manual access: Manual retrieval of data from the module
  4. Timeout status: Shows whether the timeout is active and whether a timeout event has occurred
  5. Timeout mode: Selection between 3 timeout modes, Normal, Reactivate and Secure
  6. Timeout duration: The time after which the timeout should be triggered is set here
  7. Activate / deactivate: Activates or deactivates the timeout function

 

Access times tests
You can test the access times for the module here. The following access time tests can be performed:

  • Register – Read/Write/Write + Readback
  • Digital I/O – Read/Write/Write + Readback
  • Analog I/O – Read/Write/Write + Readback

Access times tests

This test can be used to determine the access times to the module. The test values are read and written in 8, 16, 32, or 64-bit commands.

Access times Register
The following example checks the register accesses to an Ethernet module. The average access time here is 0.5 ms.

Access times Analog I/O
In the following example, the access times to an Ethernet module with analog I/Os are checked. The average access time here is 0.6 ms.

Access times Digital I/O
In the following example, the access times to an Ethernet module with digital I/Os are checked. The average access time here is 0.6 ms.


Cable feedback tests
For this test, the digital or analog outputs of the module are connected to the corresponding digital or analog inputs of the module via cable. The feedback test now checks whether the output and input values match.

Cable return test

The cable return test can be used to check the function of all digital and analog inputs and outputs (I/Os) of a module. To do this, inputs and outputs are wired together externally on a 1:1 basis. The test software analyzes whether the output signals arrive correctly at the inputs, thereby identifying wiring errors or hardware defects.

Analog test
In analog test mode, the D/A converter outputs defined test voltages, which are then read in by the A/D converter and compared with the target values. The software counts the number of test runs and automatically documents any deviations.

Digital test
In the digital test, the switching states of the relay or MOSFET outputs are fed back externally to the optocoupler inputs. Here, too, the software counts and compares the number of cycles and automatically detects transmission errors or deviations.

Cable return test

The cable return test can be used to check the function of all digital and analog inputs and outputs (I/Os) of a module. To do this, inputs and outputs are wired together externally on a 1:1 basis. The test software analyzes whether the output signals arrive correctly at the inputs, thereby identifying wiring errors or hardware defects.

Analog test
In analog test mode, the D/A converter outputs defined test voltages, which are then read in by the A/D converter and compared with the target values. The software counts the number of test runs and automatically documents any deviations.

Digital test
In the digital test, the switching states of the relay or MOSFET outputs are fed back externally to the optocoupler inputs. Here, too, the software counts and compares the number of cycles and automatically detects transmission errors or deviations.


A/D ripple
The ripple test displays the residual ripple of the individual A/D inputs.

A/D quality measurements

The quality of an A/D measurement is influenced by various factors and can be affected by external interference. A reliable method for checking measurement quality is to measure a stable battery voltage. Our diagnostic tools can be used to determine the residual ripple and noise behavior.

A/D ripple
The A/D ripple test can be used to measure the residual ripple of the individual A/D inputs and check for interference signals such as mains hum or voltage instabilities.

A/D noise
The noise behavior of each A/D channel can be displayed graphically using A/D noise measurement. Additional filter stages with averaging can be used to smooth and improve the measurement signal.


FIFO In/Out

The software FIFO test can be used to specifically test the integrated FIFO buffering of our digital and analog NET I/O modules. Depending on whether it is an input or output module, data is read from the submodule FIFO or written to the submodule FIFO.

 

FIFO settings

The submodule number can be used to specify which module is to be tested. The start and end channels can also be used to transmit several channels simultaneously. In addition, the transmission frequency can be set and the desired FIFO mode selected – for example, for the use of test values or the actual measured values of the module.

All important information at a glance

During program execution, key information such as the size of the data packets, free and occupied bytes in the FIFO buffer, the number of data packets sent or received, and the current FIFO status are clearly displayed.


D/A output test

The D/A output test enables targeted testing of each individual D/A channel of a module. A freely selectable test voltage can be output directly. Currently, simple square wave signals with configurable high and low times are available. The signals can be monitored simultaneously with an oscilloscope. This function is also ideal for long-term tests. The test software detects DELIB errors and logs them automatically.


Mustertext

Mustertext

DO 4* value + wait

In this test, adjustable 16-bit values are written to the digital outputs of the module.
The values are sent to the module using the DapiDOSet16 command. The start channel is always channel 0.
You can set different wait times between the individual calls.
The test is intended for testing the functionality of the module.


Mustertext

Mustertext

Modbus I/O test

In the diagnostics section of the ICT-Tool, you can test the module’s digital and analog inputs and outputs directly via Modbus TCP. Register addresses as well as transfer and return values are displayed in a debug panel, allowing you to quickly diagnose problems with the D/A converter, for example. A complete overview of all register addresses and examples can be found in the Modbus manual at the following link:

To benefit from the latest functions and prevent errors, we recommend that you always keep your DEDITEC product up to date.

Flash Files
Downloading the firmware flash file package via the ICT tool

  1. Go to Flash Files in the “Firmware update” menu
  2. Click on the download button to start the download.
  3. Administration rights are required for the automatic unpacking of the flash files. If these rights are not available, the files are downloaded to the download area of your PC and must be extracted manually to the installation directory.
    \DEDITEC\DELIB\programs\flash_files

Downloading the firmware flash file package via the DEDITEC homepage

  1. Download the required firmware flash file package from our homepage: Downloads -> Software -> Firmware
  2. Extract the files to the following installation path: ..\DEDITEC\DELIB\programs\flash_files

Flash modules
In the “Firmware update” menu, select the module you want to update and then click on the “Flash modules” or “Flash submodules” button.
The firmware is now updated and the module is then restarted automatically.

 

Information on the firmware flasher
The following information is displayed in the firmware flasher:

  • Last FW: Displays the last firmware version
  • Current FW: Displays the currently installed firmware version
  • Newest FW: Displays the latest firmware version
  • Log: Displays status or error messages during the flash process

In den folgenden Kapitel, würden wir Ihnen unsere neue All-In-One-Software gerne genauer vorstellen.

General
Here you can make general configurations to the ICT tool.

The following changes can be made:

  • Language – setting between German and English possible

Updates
Here you can search for available DELIB or firmware updates.

  • Automatic update search at program start
  • Search for DELIB updates
  • Search for firmware updates

Error log
Here you can make settings for the deditec_debug.log. This is saved under the path C:\Users\?USER?\AppData\Local\DEDITEC.

The following settings can be made:

  • Enable writing to the debug.log
  • Activate log notifications
  • Activate automatic deletion of the debug.log
  • Setting after how many days the debug.log should be deleted
  • Set the maximum size of the debug.log

DELIB – DebugView – Global

Settings can be made here for the information that is to be displayed with the DebugView.

  • Activate debug output
  • Activate display of errors

DELIB – DebugView – Details
More detailed settings can be made here for the information to be displayed with the DebugView.

Configuration our USB modules

Thanks to plug & play, our USB modules are automatically recognized and are immediately ready for use without any configuration. Configuration is only required if several USB modules from the same product series are used on the same system.

Icon Usb Plug And Play 600

Using multiple USB modules on one PC

If you want to use more than one USB module of the same type on a computer, each module must first be assigned its own module number. The module number is assigned in the configuration menu of our ICT tool.

FormCfgUSBConfig

Configuration of CAN modules

The parameters of the CAN interface can be fully configured via the ICT-Tool. In addition to the baud rate, CAN address and other settings, automatic send and receive packets can also be set up.

Icon Can

Automatic transmission (TX mode)

The Auto-TX mode allows cyclical transmission of data packets, optionally with analog or digital input states to other CAN addresses. Alternatively, a trigger event can also be defined. In this case, a data packet is only sent once a data packet has been received on a certain CAN ID (e.g. CAN sync on ID 0x80).

 

Automatic receiving (RX mode)

With Auto-RX mode, on the other hand, received data packets are forwarded directly to analog or digital outputs. For example, relay outputs can be set via another CAN bus subscriber.

ICT-Tool

The ICT-Tool can be used to quickly and easily read out or change CAN interface settings.

Status interface
Here you can find information about the status of the CAN interface

  • Baud rate
  • Module address
  • Receiving address
  • CAN status
  • Extended ID
  • CAN modus
FormCfgCANStatus
Status TX/RX
Hier finden Sie Informationen über die TX / RX -Pakete
 

  • Anzahl gesendeter / empfangener Pakete
  • TX / RX – Pakete pro Sekunde
  • Durchschnitt gesendeter / empfangener Pakete
FormCfgCANStatistic
Config interface
Settings can be made on the CAN interface here.
 

  • Baud rate
  • Adress Bit-mode
  • Module address
  • Receiver address
FormCfgCANConfigStd
Config I/O Init
Here you can configure the CAN settings of the connected submodules.
 

  • A/D mode
  • A/D filter
  • D/A mode
  • Counter mode
  • Timeout
  • CNT48 mode
  • CNT48 submode
  • CNT48 filter
FormCfgCANConfigIO
Config TX mode
Here you can make settings to the TX package configuration.
 

  • activate / deactivate
  • Trigger mode
  • Interval
  • Use extended ID
  • Send to CAN-ID
  • TX mode
FormCfgCANTX
Config RX mode
You can make settings to the RX package configuration here.
 

  • activate / deactivate
  • Use extended ID
  • Receive from CAN-ID
  • RX mode
FormCfgCANRX
Click here to download the latest driver library.
 
You can find more details on control and some programming examples in the programming section.

Configuration of our serial modules (RS-232 / RS-485)

To configure the serial interface, the module must be connected to the PC either via the Ethernet interface or USB interface.

The module can then be accessed and configured in the ICT tool.

The following parameters can be set:

  • Preferred mode (115k baud, module address = deactivated, echo = off)
  • Baud rate
  • Module address (only for RS-485)
  • Echo active on/off
  • Text mode / Register mode
FormCfgSeriell

Changing the interface standard

Switch between RS-232 and RS-485 (applies only to NET and RO series)

The modules are configured for RS-232 operation as standard when delivered. The module can be switched to RS-485 operation by changing the jumper positions. Further information on this can be found in the manual for the respective product.

Icon Ser

General information on Event-Control

In den folgenden Kapitel, würden wir Ihnen unsere neue All-In-One-Software gerne genauer vorstellen.

To make our modules even more customer-friendly and flexible and to make it easier for you to enter the world of automated control technology, we have implemented Event-Control as a new feature in our products. This function can be used to implement small control tasks that are stored in the module. These control tasks are configured as events and actions and then executed automatically according to the “if-then” principle.

Configuration in the ICT-Tool
The ICT-Tool can be used to configure and monitor 16 events and 16 actions.

Processing in the module
The events stored in the module are automatically monitored and processed by the CPU in the module after the module is started. As soon as the set condition (“event”) is fulfilled, the corresponding action is executed. This automatism in the module makes an additional control PC with associated user software superfluous.

Functions
The following actions, among others, can be combined with the Event-Control:

  • Monitoring the analog and digital inputs (A/D, DI)
  • Setting switching thresholds for analog inputs
  • Switching the module outputs (relay, MOSFET, D/A)
  • Sending CAN packages

We are constantly expanding the range of promotional options. We are also happy to implement your special customer requirements on request.

Modulauswahl
Hier können Sie Ihre Module mit einem Klick auf das „+“ Symbol ins ICT-Tool einbinden, um diese anschließend konfigurieren oder testen zu können.

Module series that support this function:

  • BS-USB2 series
  • BS-WEU series
  • NET series
  • UC series
  • CAN-Box series

Module series that do not support this function:

  • Starter series
  • RO series
  • COS series

ICT Treeview
Im Treeview auf der linken Seite des Programmfensters, sehen Sie die jeweiligen Formen, die von Ihrem Modul unterstützt werden.
Mit einem Klick können Sie sich diese Form dann im rechten Teil des Programmes anzeigen lassen und mögliche Konfigurationen oder Tests durchführen.

In den folgenden Kapitel, würden wir Ihnen unsere neue All-In-One-Software gerne genauer vorstellen.

With the Event-Control module, you can react flexibly and automatically to external signals – directly on the I/O module, without a PC or additional controller.

How does it work?
The system registers external events, such as the switching of an input or the triggering of a sensor, and then executes predefined actions. These actions can be simple tasks such as switching on a relay or sending a CAN message.

The advantages:

  • Independent processing – Control takes place directly on the module, independently of the host system.

  • Flexibly customizable – you can link any inputs and outputs together.

  • Complex logic possible – Thanks to logical operators such as AND, OR or NOT, even more sophisticated controls can be implemented.

  • Simple configuration – events and actions are conveniently defined via our ICT-Tool and transferred to the module without any programming knowledge.

Example:
A digital input detects the opening of a door. The system then automatically switches on a light without a PC being involved.

Modulauswahl
Hier können Sie Ihre Module mit einem Klick auf das „+“ Symbol ins ICT-Tool einbinden, um diese anschließend konfigurieren oder testen zu können.

Modulserien, die von dieser Funktion unterstützt werden:

  • BS-USB2-Serie
  • BS-WEU-Serie
  • NET-Serie
  • UC-Serie
  • CAN-Box

Modulserien, die von dieser Funktion nicht unterstützt werden:

  • Starter-Serie
  • RO-Serie
  • COS-Serie

ICT Treeview
Im Treeview auf der linken Seite des Programmfensters, sehen Sie die jeweiligen Formen, die von Ihrem Modul unterstützt werden.
Mit einem Klick können Sie sich diese Form dann im rechten Teil des Programmes anzeigen lassen und mögliche Konfigurationen oder Tests durchführen.

Our ICT-Tool in the “Statistics” section provides a quick overview of all current campaigns and events.

Eine mini SPS
Um unsere Module noch kundenfreundlicher und flexibler zu gestalten und Ihnen den Einstieg in die Welt der automatisierten Steuer- und Regelungstechnik zu erleichtern, haben wir als neues Feature das sog. Event-Control in unsere Produkte implementiert. Mit dieser Funktion lassen sich kleine Steueraufgaben in das Modul speichern, die anschließend nach dem „Wenn-Dann“ Prinzip automatisch Aktionen ausführen.

The following information can be taken from the statistics:

  • Executed event no.
  • Event mode
  • Interval
  • Number of events executed
  • Number of the executed action
  • Number of actions performed

Modulserien, die von dieser Funktion unterstützt werden:

  • BS-USB2-Serie
  • BS-WEU-Serie
  • NET-Serie
  • UC-Serie
  • CAN-Box

Modulserien, die von dieser Funktion nicht unterstützt werden:

  • Starter-Serie
  • RO-Serie
  • COS-Serie

ICT Treeview
Im Treeview auf der linken Seite des Programmfensters, sehen Sie die jeweiligen Formen, die von Ihrem Modul unterstützt werden.
Mit einem Klick können Sie sich diese Form dann im rechten Teil des Programmes anzeigen lassen und mögliche Konfigurationen oder Tests durchführen.

An event is used to execute a specific action as soon as a condition is met.
A time period can also be specified for how long the condition must be fulfilled in order to execute an action.
These settings are saved directly in the Module-Configuration-Memory of the module.
Example: Voltages can be automatically output via the D/A converter or relays can be switched when a previously defined switching threshold is reached at the A/D inputs or a signal is detected at a digital input.

Depending on the features of your product, you can choose from different modes:

“DI” / “DI flip-flop” / “DO readback”
DI: High or low signal of a digital input.
Flip-Flop: If the status of the digital input changes, the flip-flop of the channel is set and then reset again.
DO-Readback: The status of the output channel is read out.

The following settings can be made:

  • Number of the channel to be monitored
  • Condition of the channel status (on = 1 / off = 0)
  • Minimum time to wait until the action is triggered
  • Number of the action to be executed (this is configured in the Action area)

“A/D”
The voltage currently present at the analog input is read out.

The following settings can be made:

  • Number of the channel to be monitored
  • A/D mode (selection depends on module)
  • Condition that must be fulfilled (value greater than … , value less than … , value in a range)
  • Values that must be achieved for the condition
  • Minimum time to wait until the action is triggered
  • Number of the action to be executed (this is configured in the Action area)

In the “Actions” section of our ICT-Tool, you define which tasks are to be performed automatically as soon as a condition (“event”) is fulfilled.
For example, you can specify that a certain CAN packet should be sent when a certain voltage is measured on an A/D channel or a signal is detected at a digital input.

Depending on the features of your product, you can choose from different modes:

Folgende Informationen können der Statistik entnommen werden:

  • Ausgeführte Event-Nr.
  • Event-Modus
  • Intervall
  • Anzahl ausgeführter Events
  • Nummer der ausgeführten Aktion
  • Anzahl ausgeführter Aktionen

“Set D/A output”
Outputs a voltage or a current at an analog output.

The following settings can be made:

  • Number of the channel on which the action is to be executed
  • D/A mode (selection depends on module)
  • Voltage or current to be output
  • Time to wait before executing the action again

“Set DO output”
Switches a digital output on or off.

The following settings can be made:

  • Number of the channel to be controlled
  • State (0 = off / 1 = on) that is to be set
  • Time to wait before executing the action again

“Send CAN package”
The set CAN TX event is triggered. For this function, the trigger mode in the CAN TX package must be set to “TX-EVENT” (see configuration).

The following settings can be made:

  • Number of the CAN TX event to be triggered
  • Time to wait before executing the action again (prevents a CAN packet from being sent too frequently)

You can find more information on configuring TX mode here:

Programming our modules with the DELIB driver library

The DELIB driver library enables uniform communication with all DEDITEC products. Thanks to its comprehensive and clearly structured design, our modules can be integrated into your projects and controlled in almost any programming language.

Detailed instructions on DELIB and a variety of programming examples can be found here:

 

A list of all DELIB commands can be found here:

Logo DeLib

Programming our modules with the DELIB driver library ETH

DELIB ETH is a pure Ethernet version of the DEDITEC driver library. It does not contain any drivers for USB or serial ports and does not need to be installed on the PC. There is also no need to configure or integrate a module in the registry. Admin write permissions are also not required.

As a project customer, you can also integrate DELIB ETH directly into your own setup.

All products with an Ethernet interface are supported by DELIB ETH and can be addressed directly via the TCP/IP address.

 

Click here for DELIB ETH:

Example of programming our modules with DELIB

The following examples show how to open a module and switch digital outputs.

Open module:
uint ModulID = 14; - the ID depends on the module type. (s. delib.h)
uint ModulNr = 0; - always 0 by default
uint handle; - handle of the open module
handle = DapiOpenModule(ModulID, ModulNr);

Switching relays:
uint ch = 0; - channel number
uint val = 1; - value to be set (0=off / 1=on)
DapiDOSet1(handle, ch, val);

Close module:
DapiCloseModule(handle);

Explanation:

The “DapiOpenModule” function is used to open a module. The two parameters passed within the parentheses determine which module is to be opened.

The first parameter refers to the module ID. You can find the correct ID for your module in the delib.h file, which is located in the DEDITEC installation path.
The second parameter refers to the module number, which is important if several modules of the same type are operated on one PC. If only one module is connected to the PC, simply enter “0”. The module number can be set directly on the module using the ICT-Tool.

How do I test my module?

You can access the module directly via the graphical user interface and execute all functions.

Click here for the ICT tool:

Overview ICT Tool DE

Control of our CAN modules

Our RAW CAN modules can be controlled in two ways:

1. Auto TX/RX mode

2. DELIB command mode

 

 

Icon Can

1. Auto TX / RX mode

This operating mode allows the module to process CAN packets automatically without the need for an additional control PC. Configuration is very simple using the ICT tool and requires no programming knowledge.

 

 

Automatic transmission (TX mode)

Auto-TX mode allows automatic, cyclical transmission of CAN packets to other bus participants. The module's digital and analog input signals can thus be forwarded directly to other devices.

As an alternative to cyclic transmission, trigger events can also be defined. This means that a CAN packet is only sent, for example, when a CAN message has been received on a specific CAN ID.

 

 

TX mode configuration

The following settings can be configured:

  • Enable/disable TX mode
  • Trigger mode
  • Interval
  • Use extended ID
  • Send to CAN ID
  • TX mode

 

 

 

FormCfgCANTX

Automatic receive (RX mode)

In Auto-RX mode, received data packets are forwarded directly to the analog or digital outputs of the module. For example, relay outputs can be set on the module via another CAN bus participant.

 

 

 

RX mode configuration
The following settings can be configured:

 

  • Enable/disable RX mode
  • Use extended ID
  • Receive from CAN ID
  • RX mode
FormCfgCANRX

2. DELIB command mode

In DELIB command mode, the module's registers are accessed via a CAN protocol developed by DEDITEC. The module expects the CAN messages on a CAN address specified in command mode. Read and write accesses with different data lengths (BYTE, WORD, LONG) are possible. Details on the protocol structure and register assignment can be found in the “Protocols & Register Assignment” manual in the download area.

 

Control of our RS-232 / RS-485 modules

There are two options available for controlling our RS-232 / RS-485 modules:

1. Register-based via an open protocol

2. Via plain text input via a terminal program

Please note!
We only recommend using the RS-485 interface in conjunction with a microcontroller and your own serial protocol.

Icon Ser

1. Control via our open serial protocol

Serial control is register-based. An open communication protocol was created for this purpose, which is used to address the module's registers and thus execute read or write commands. The “Protocols & Register Assignment” manual describes the transmission and reception frames for communicating with RS-232/RS-485 modules.

2. Control via plain text using HyperTerminal

The digital inputs and outputs can be controlled or read directly via “plain text” using HyperTerminal. Examples of this can be seen in the adjacent illustration.

Snapshot Ro Ser Hyperterminal

Management functions

Icon Delib Command

DapiOpenModule

This function opens a specific module.

Description
This function opens a specific module.

Definition
ULONG DapiOpenModule(ULONG moduleID, ULONG nr);

Parameter
moduleID=Specifies the module to be opened (see delib.h)
nr=Specifies which module is to be opened.
nr=0 -> 1. Module
nr=1 -> 2. Module

Return value
handle=Corresponding handle for the module
handle=0 -> Module was not found

Remark
The handle returned by this function is required to identify the module for all other functions.

Programming example

// Open USB module
handle = DapiOpenModule(RO_USB1, 0);
printf(„handle = %x\n“, handle);
if (handle==0)
{
// USB module was not found
printf(„Module could not be opened\n“);
return;
}

DapiCloseModule

This command closes an open module.

Description
This command closes an open module.

Definition
ULONG DapiCloseModule(ULONG handle);

Parameter
handle=This is the handle of an open module

Return value
None

Programming example

// Close module
DapiCloseModule(handle);

DapiGetDELIBVersion

This function returns the installed DELIB version.

Description
This function returns the installed DELIB version.

Definition
ULONG DapiGetDELIBVersion(ULONG mode, ULONG par);

Parameter
mode=Mode with which the version is read out (must always be 0).
par=This parameter is not defined (must always be 0).

Return value
version=Version number of the installed DELIB version [hex]

Programming example

version = DapiGetDELIBVersion(0, 0);
//With version 1.32 installed
version = 132(hex)

DapiSpecialCMDGetModuleConfig

This function returns the hardware configuration (number of input and output channels) of the module.

Description
This function returns the hardware configuration (number of input and output channels) of the module.

Definition
ULONG DapiSpecialCommand(ULONG handle,
DAPI_SPECIAL_CMD_GET_MODULE_CONFIG, par, 0, 0);

Parameter
handle=This is the handle of an open module
Querying the number of digital input channels
par=DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DI
Query number of digital input flip-flops
par=DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DI_FF
Query number of digital input counters (16-bit counter)
par=DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DI_COUNTER
Query number of digital input counters (48-bit counter)
par=DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_CNT48
Querying the number of digital output channels
par=DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DO
Querying the number of digital pulse generator outputs
par=DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_PULSE_GEN
Querying the number of digital PWM outputs
par=DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_PWM_OUT
Querying the number of digital input/output channels
par=DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DX
Querying the number of analog input channels
par=DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_AD
Querying the number of analog output channels
par=DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DA
Query number of temperature channels
par=DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_TEMP
Query number of stepper channels
par=DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_STEPPER

Return value
Querying the number of digital input channels
return=number of digital input channels
Query number of digital input flip-flops
return=number of digital input flip-flops
Query number of digital input counters (16-bit counter)
return=number of digital input counters (16-bit counter)
Query number of digital input counters (48-bit counter)
return=number of digital input counters (48-bit counter)
Querying the number of digital output channels
return=number of digital output channels
Querying the number of digital pulse generator outputs
return=number of digital pulse generator outputs
Querying the number of digital PWM outputs
return=number of digital PWM outputs
Querying the number of digital input/output channels
return=number of digital input/output channels
Querying the number of analog input channels
return=number of analog input channels
Querying the number of analog output channels
return=number of analog output channels
Query number of temperature channels
return=number of temperature channels
Query number of stepper channels
return=number of stepper channels

Programming example

ret=DapiSpecialCommand(handle,
DAPI_SPECIAL_CMD_GET_MODULE_CONFIG,
DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DI, 0, 0);
//Returns the number of digital input channels
ret=DapiSpecialCommand(handle,
DAPI_SPECIAL_CMD_GET_MODULE_CONFIG,
DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DO, 0, 0);
//Returns the number of digital output channels
ret=DapiSpecialCommand(handle,
DAPI_SPECIAL_CMD_GET_MODULE_CONFIG,
DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DX, 0, 0);
//Returns the number of digital input/output channels
ret=DapiSpecialCommand(handle,
DAPI_SPECIAL_CMD_GET_MODULE_CONFIG,
DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_AD, 0, 0);
//Returns the number of analog input channels
ret=DapiSpecialCommand(handle,
DAPI_SPECIAL_CMD_GET_MODULE_CONFIG,
DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DA, 0, 0);
//Returns the number of analog output channels
ret=DapiSpecialCommand(handle,
DAPI_SPECIAL_CMD_GET_MODULE_CONFIG,
DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_STEPPER, 0, 0);
//Returns the number of stepper channels

DapiOpenModuleEx

This function specifically opens a module with an Ethernet interface. The parameters IP address, port number and the duration of the timeout can be defined.

Description
This function specifically opens a module with an Ethernet interface. The parameters IP address, port number and the duration of the timeout can be defined. The module is opened independently of the settings made in the DELIB Configuration Utility.

Definition
ULONG DapiOpenModuleEx(ULONG moduleID, ULONG nr, unsigned char* exbuffer, 0);

Parameter
moduleID = Specifies the module to be opened (see delib.h)
nr = Specifies which module (if several) is to be opened.
nr = 0 -> 1. Module
nr = 1 -> 2. Module
exbuffer = Buffer for IP address, port number and duration of the timeout

Return value
handle = Corresponding handle for the module
handle = 0 -> Module was not found

Remark
The handle returned by this function is required to identify the module for all other functions.
This command is supported by all modules with an Ethernet interface.

Programming example

// Open ETH-Module with parameter

DAPI_OPENMODULEEX_STRUCT open_buffer;

strcpy((char*) open_buffer.address, "192.168.1.10");
open_buffer.portno = 0;
open_buffer.timeout = 5000;

handle = DapiOpenModuleEx(RO_ETH, 0, (unsigned char*) &open_buffer, 0);
printf("Module handle = %x\n", handle);

DapiScanAllModulesAvailable

This function can be used to scan all modules connected to the USB bus.

Description
This function can be used to scan all modules connected to the USB bus.
The module ID and module no. of each module found are determined.

Definition
ULONG DapiScanAllModulesAvailable(uint nr)

Parameter
nr = 0: All modules connected to the USB bus are searched for
nr = i: Reading out the individual connected modules

Return value
Indicates the number of modules found.

Programming example

no_of_modules =
DT.Delib.DapiScanAllModulesAvailable(0);
for (i = 1; i <= no_of_modules; i++)
{
ret = DapiScanAllModulesAvailable(i);
moduleID = ret & 0x0000ffff;
moduleNr = (ret >> 16) & 0xff;
}


Register functions

Icon Delib Command

DapiWriteByte

This command executes a direct register write command to the module.

Description
This command executes a direct register write command to the module.

Definition
void DapiWriteByte(ULONG handle, ULONG adress, ULONG value);

Parameter
handle=This is the handle of an open module
adress=Address to be accessed
value=Specifies the data value that is written (8-bit)

Return value
None

Remark
This should only be used by experienced programmers. This allows direct access to all available registers.

Programming example

// Data is written to register 0x10
DapiWriteByte(handle, 0x10, 0xFF);

DapiWriteWord

This command executes a direct register write command to the module.

Description
This command executes a direct register write command to the module.

Definition
void DapiWriteWord(ULONG handle, ULONG adress, ULONG value);

Parameter
handle=This is the handle of an open module
adress=Address to be accessed
value=Specifies the data value that is written (16-bit)

Return value
None

Remark
This should only be used by experienced programmers. This allows direct access to all available registers.

Programming example

// Data is written to register 0x10
DapiWriteWord(handle, 0x10, 0xFFFF);

DapiWriteLong

This command executes a direct register write command to the module.

Description
This command executes a direct register write command to the module.

Definition
void DapiWriteLong(ULONG handle, ULONG adress, ULONG value);

Parameter
handle=This is the handle of an open module
adress=Address to be accessed
value=Specifies the data value that is written (32-bit)

Return value
None

Remark
This should only be used by experienced programmers. This allows direct access to all available registers.

Programming example

// Data is written to register 0x10
DapiWriteLong(handle, 0x10, 0xFFFFFFFF);

DapiWriteLongLong

This command executes a direct register write command to the module.

Description
This command executes a direct register write command to the module.

Definition
void DapiWriteLongLong(ULONG handle, ULONG adress, ULONGLONG value);

Parameter
handle=This is the handle of an open module
adress=Address to be accessed
value=Specifies the data value that is written (64-bit)

Return value
None

Remark
This should only be used by experienced programmers. This allows direct access to all available registers.

Programming example

// Data is written to register 0x10
DapiWriteLongLong(handle, 0x10, 0xFFFFFFFFFFFFFFFF);

DapiReadByte

This command executes a direct register read command on the module.

Description
This command executes a direct register read command on the module.

Definition
ULONG DapiReadByte(ULONG handle, ULONG adress);

Parameter
handle=This is the handle of an open module
adress=Address to be accessed

Return value
Content of the register to be read (8-bit)

Remark
This should only be used by experienced programmers. This allows direct access to all available registers.

Programmierbeispiel

// Reads 8 bits from the address 0x0
ULONG data;
data = DapiReadByte(handle, 0x0);

DapiReadWord

This command executes a direct register read command on the module.

Description
This command executes a direct register read command on the module.

Definition
ULONG DapiReadWord(ULONG handle, ULONG adress);

Parameter
handle=This is the handle of an open module
adress=Address to be accessed

Return value
Content of the register to be read (16-bit)

Remark
This should only be used by experienced programmers. This allows direct access to all available registers.

Programming example

// Reads 16 bits from the address 0x0
ULONG data;
data = DapiReadWord(handle, 0x0);

DapiReadLong

This command executes a direct register read command on the module.

Description
This command executes a direct register read command on the module.

Definition
ULONG DapiReadLong(ULONG handle, ULONG adress);

Parameter
handle=This is the handle of an open module
adress=Address to be accessed

Return value
Content of the register to be read (32-bit)

Remark
This should only be used by experienced programmers. This allows direct access to all available registers.

Programming example

// Reads 32 bits from the address 0x0
ULONG data;
data = DapiReadLong(handle, 0x0);

DapiReadLongLong

This command executes a direct register read command on the module.

Description
This command executes a direct register read command on the module.

Definition
ULONGLONG DapiReadLongLong(ULONG handle, ULONG address);

Parameter
handle=This is the handle of an open module
address=Address to be accessed

Return value
Content of the register to be read (64-bit)

Remark
This should only be used by experienced programmers. This allows direct access to all available registers.

Programming example

// Reads 64 bits from the address 0x0
ULONGLONG data;
data = DapiReadLongLong(handle, 0x0);


Digital input counter

Icon Delib Command

DapiDIGet1

This command reads a single digital input.

Description
This command reads a single digital input.

Definition
ULONG DapiDIGet1(ULONG handle, ULONG ch);

Parameter
handle=This is the handle of an open module
ch=Indicates the number of the input to be read (0, 1, 2, 3, .. )

Return value
State of the input (0/1)

Requirements
The following SW feature bits must be supported by the module:

DAPI_SW_FEATURE_BIT_CFG_DI

The following conditions for the transfer parameters must be met:

maxCh = DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_GET_MODULE_CONFIG, DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DI, 0, 0);
maxCh > ch

Programming example

// Read out 1 channel
unsigned long data;
data = DapiDIGet1(handle, 0);

DapiDIGet8

This command reads 8 digital inputs simultaneously.

Description
This command reads 8 digital inputs simultaneously.

Definition
ULONG DapiDIGet8(ULONG handle, ULONG ch);

Parameter
handle=This is the handle of an open module
ch=Specifies the number of the input from which to read (0, 8, 16, 24, .. )

Return value
State of the read inputs.

Requirements
The following SW feature bits must be supported by the module:

DAPI_SW_FEATURE_BIT_CFG_DI

The following conditions for the transfer parameters must be met:

maxCh = DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_GET_MODULE_CONFIG, DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DI, 0, 0);
maxCh > ch (ch must be 0, 8, 16, ...)

Programming example

// Read out 8 channels
unsigned long data;
data = DapiDIGet8(handle, 0);

DapiDIGet16

This command reads 16 digital inputs simultaneously.

Description
This command reads 16 digital inputs simultaneously.

Definition
ULONG DapiDIGet16(ULONG handle, ULONG ch);

Parameter
handle=This is the handle of an open module
ch=Specifies the number of the input from which to read (0, 16, 32, ...)

Return value
State of the read inputs.

Requirements
The following SW feature bits must be supported by the module:

DAPI_SW_FEATURE_BIT_CFG_DI

The following conditions for the transfer parameters must be met:

maxCh = DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_GET_MODULE_CONFIG, DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DI, 0, 0);
maxCh > ch (ch must be 0, 16, 32, ...)

Programming example

// Read out 16 channels
unsigned long data;
data = DapiDIGet16(handle, 0);

DapiDIGet32

This command reads 32 digital inputs simultaneously.

Description
This command reads 32 digital inputs simultaneously.

Definition
ULONG DapiDIGet32(ULONG handle, ULONG ch);

Parameter
handle=This is the handle of an open module
ch=Specifies the number of the input from which to read (0, 32, 64, ..)

Return value
State of the read inputs.

Requirements
The following SW feature bits must be supported by the module:

DAPI_SW_FEATURE_BIT_CFG_DI

The following conditions for the transfer parameters must be met:

maxCh = DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_GET_MODULE_CONFIG, DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DI, 0, 0);
maxCh > ch (ch must be 0, 32, 64, ...)

Programming example

unsigned long data;
// ----------------------------------------------------
// Read a value from the inputs (Eingang 1-31)
data = (unsigned long) DapiDIGet32(handle, 0);
// Chan Start = 0
printf("Input 0-31 : 0x%x\n", data);
printf("Press any key to continue\n");
getch();
// ----------------------------------------------------
// Read a value from the inputs (input 32-64)
data = (unsigned long) DapiDIGet32(handle, 32);
// Chan Start = 32
printf("Input 32-64 : 0x%x\n", data);
printf("Press any key to continue\n");
getch();

DapiDIGet64

This command reads 64 digital inputs simultaneously.

Description
This command reads 64 digital inputs simultaneously.

Definition
ULONGLONG DapiDIGet64(ULONG handle, ULONG ch);

Parameter
handle=This is the handle of an open module
ch=Specifies the number of the input from which to read (0, 64, ..)

Return value
State of the read inputs.

Requirements
The following SW feature bits must be supported by the module:

DAPI_SW_FEATURE_BIT_CFG_DI

The following conditions for the transfer parameters must be met:

maxCh = DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_GET_MODULE_CONFIG, DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DI, 0, 0);
maxCh > ch (ch must be 0 or 64)

Programming example

// Read out 64 channels
ULONGLONG data;
data = DapiDIGet64(handle, 0);

DapiDIGetFF32

This command reads the flip-flops of the inputs and resets them.

Description
This command reads the flip-flops of the inputs and resets them.

Definition
ULONG DapiDIGetFF32(ULONG handle, ULONG ch);

Parameter
handle=This is the handle of an open module
ch=Specifies the number of the input from which to read (0, 32, 64, ..)

Return value
Status of 32 input status changes.

Requirements
The following SW feature bits must be supported by the module:

DAPI_SW_FEATURE_BIT_CFG_DI_FF

The following conditions for the transfer parameters must be met:

maxCh = DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_GET_MODULE_CONFIG, DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DI_FF, 0, 0);
maxCh > ch (ch must be 0, 32, 64, ...)

DapiDIGetCounter

This command reads the input counter of a digital input.

Description
This command reads the input counter of a digital input.

Definition
ULONG DapiDIGetCounter(ULONG handle, ULONG ch, ULONG mode);

Parameter
handle=This is the handle of an open module.
ch=Specifies the number of the input from which to read.
mode=0 (normal counting function)
mode=DAPI_CNT_MODE_READ_WITH_RESET (read counter and reset counter directly)
mode=DAPI_CNT_MODE_READ_LATCHED (read out the stored counter reading)

Return value
Output of the counter value.

Requirements
The following SW feature bits must be supported by the module:

DAPI_SW_FEATURE_BIT_CFG_DI_CNT

The following conditions for the transfer parameters must be met:

maxCh = DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_GET_MODULE_CONFIG, DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DI_COUNTER, 0, 0);
maxCh > ch

Programming example

value = DapiDIGetCounter(handle, 0 ,0); // Counter of DI Chan 0 is read
value = DapiDIGetCounter(handle, 1 ,0); // Counter of DI Chan 1 is read
value = DapiDIGetCounter(handle, 8 ,0); // Counter of DI Chan 8 is read
value = DapiDIGetCounter(handle, 0 ,DAPI_CNT_MODE_READ_WITH_RESET); // Counter of DI Chan 0 is read AND reset
value = DapiDIGetCounter(handle, 1, DAPI_CNT_MODE_READ_LATCHED); // Reading the stored meter reading from DI Chan 1

DapiSpecialCommand - DapiSpecialCounterLatchAll

This command saves the counter readings of all input counters simultaneously in a buffer (latch).

Description
This command saves the counter readings of all input counters simultaneously in a buffer (latch).
This allows all counter readings of the latch to be read out one after the other.
A special feature here is that it is possible to "freeze" the meter readings at the same time and the frozen readings (latch) can then be read out one after the other.

Definition
void DapiSpecialCommand(ULONG handle, DAPI_SPECIAL_CMD_COUNTER, DAPI_SPECIAL_COUNTER_LATCH_ALL, 0, 0);

Parameter
handle=This is the handle of an open module.
mode=DAPI_SPECIAL_CMD_COUNTER (It is a counter command)
mode=DAPI_SPECIAL_COUNTER_LATCH_ALL (Freezes all counter inputs and makes them available as a latch)

Remark
This command is only supported by our RO-O8-R8 time modules!

Programming example

DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_COUNTER, DAPI_SPECIAL_COUNTER_LATCH_ALL, 0, 0);

DapiSpecialCommand - DapiSpecialCounterLatchAllWithReset

This command saves the counter readings of all input counters simultaneously in a buffer (latch). In addition, the counter readings of the input counters are subsequently reset.

Description
This command saves the counter readings of all input counters simultaneously in a buffer (latch). In addition, the counter readings of the input counters are subsequently reset.

Definition
void DapiSpecialCommand(ULONG handle, DAPI_SPECIAL_CMD_COUNTER, DAPI_SPECIAL_COUNTER_LATCH_ALL_WITH_RESET, 0, 0);

Parameter
handle=This is the handle of an open module.
mode=DAPI_SPECIAL_CMD_COUNTER (It is a counter command)
mode=DAPI_SPECIAL_COUNTER_LATCH_ALL_WITH_RESET (Freezes all counter inputs and makes them available as a latch and resets the counter of the input channels)

Remark
This command is only supported by our RO-O8-R8 time modules!

Programming example

DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_COUNTER, DAPI_SPECIAL_COUNTER_LATCH_ALL_WITH_RESET, 0, 0);

DapiSpecialCommand - DapiSpecialDIFilterValueSet

This command sets a filter [ms] in which time interval digital input channels are sampled.

Description
This command sets a filter [ms] in which time interval digital input channels are sampled.

Definition
DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_DI, DAPI_SPECIAL_DI_FILTER_VALUE_SET, ULONG time_ms, 0);

Parameter
handle=This is the handle of an open module
time_ms=Time interval [ms] in which digital input channels are sampled.

Remark
This command only supports pulse times between 5ms and 255ms.
If no time is set, the default value is 100ms.
This command is not supported by our modules with Ethernet interface

Programming example

DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_DI, DAPI_SPECIAL_DI_FILTER_VALUE_SET, 5, 0);
// Sets the time interval to 5ms
DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_DI, DAPI_SPECIAL_DI_FILTER_VALUE_SET, 150, 0);
// Sets the time interval to 150ms

DapiSpecialCommand - DapiSpecialDIFilterValueGet

This command returns the previously defined value of the time interval for sampling the digital input channels in [ms].

Description
This command returns the previously defined value of the time interval for sampling the digital input channels in [ms].

Definition
ULONG DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_DI, DAPI_SPECIAL_DI_FILTER_VALUE_GET, 0, 0);

Parameter
handle=This is the handle of an open module

Return value
Time [ms]

Remark
This command is not supported by our modules with Ethernet interface.

Programming example

value = DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_DI, DAPI_SPECIAL_DI_FILTER_VALUE_GET, 0, 0);
//Returns the time interval for scanning the digital input channels.

DapiSpecialCommand - Dapi_Special_DI_FF_Filter_Value_Set

This command sets a filter [ms] in which time interval the input flip-flops and the input counters are queried.

Description
This command sets a filter [ms] in which time interval the input flip-flops and the input counters are queried.

Definition
void DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_DI, DAPI_SPECIAL_DI_FF_FILTER_VALUE_SET, ULONG time_ms, 0);

Parameter
handle=This is the handle of an open module
time_ms=Time interval [ms] in which digital input channels are sampled.

Remark
This command only supports pulse times between 5ms and 255ms.
If no time is set, the default value is 100ms.
This command is not supported by our modules with Ethernet interface.

Programming example

DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_DI, DAPI_SPECIAL_DI_FF_FILTER_VALUE_SET, 5, 0);
// Sets the time interval to 5ms
DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_DI,
DAPI_SPECIAL_DI_FF_FILTER_VALUE_SET, 150, 0);
// Sets the time interval to 150ms

DapiSpecialCommand - Dapi_Special_DI_FF_Filter_Value_Get

This command returns the previously defined value of the time interval for sampling the input flip-flops and the input counters in [ms].

Description
This command returns the previously defined value of the time interval for sampling the input flip-flops and the input counters in [ms].

Definition
ULONG DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_DI, DAPI_SPECIAL_DI_FF_FILTER_VALUE_GET, 0, 0);

Parameter
handle=This is the handle of an open module

Return value
Time [ms]

Remark
This command is not supported by our modules with Ethernet interface.

Programming example

value = DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_DI, DAPI_SPECIAL_DI_FF_FILTER_VALUE_GET, 0, 0);
//Returns the time interval for scanning the digital input channels.


Digital output functions

Icon Delib Command

DapiDOSet1

This command sets a single output.

Description
This command sets a single output.

Definition
void DapiDOSet1(ULONG handle, ULONG ch, ULONG data);

Parameter
handle=This is the handle of an open module
ch=Indicates the number of the output to be set (0 .. )
data=Indicates the data value to be written (0 / 1)

Return value
None

Requirements
The following SW feature bits must be supported by the module:

DAPI_SW_FEATURE_BIT_CFG_DO

The following conditions for the transfer parameters must be met:

maxCh = DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_GET_MODULE_CONFIG, DAPI_SPECIAL_GET_MODULE_CONFIG_PAR_DO, 0, 0);
maxCh > ch

Programming example

// Output 8 is set to 1
DapiDOSet1(handle, 7, 1);

DapiDOSet8

This command sets 8 digital outputs simultaneously.

Description
This command sets 8 digital outputs simultaneously.

Definition
void DapiDOSet8(ULONG handle, ULONG ch, ULONG data);

Parameter
handle=This is the handle of an open module
ch=Specifies the number of the output to be written from (0, 8, 16, 24, 32, ..)
data=Indicates the data values to be written

Return value
None

Programming example

// Outputs 9-12 are set to 0
// Outputs 13-16 are set to 1
DapiDOSet8(handle, 8, 0xf0);

DapiDOSet16

This command sets 16 digital outputs simultaneously.

Description
This command sets 16 digital outputs simultaneously.

Definition
void DapiDOSet16(ULONG handle, ULONG ch, ULONG data);

Parameter
handle=This is the handle of an open module
ch=Specifies the number of the output to be written from (0, 16, 32, ..)
data=Indicates the data values to be written

Return value
None

Programming example

// Outputs 1-8 are set to 0
// Outputs 9-16 are set to 1
DapiDOSet16(handle, 0, 0xff00);

DapiDOSet32

This command sets 32 digital outputs simultaneously.

Description
This command sets 32 digital outputs simultaneously.

Definition
void DapiDOSet32(ULONG handle, ULONG ch, ULONG data);

Parameter
handle=This is the handle of an open module
ch=Specifies the number of the output from which to write (0, 32, 64, ..)
data=Indicates the data values to be written

Return value
None

Programming example

// Write a value to the outputs
data = 0x0000ff00; // Outputs 9-16 are set to 1
DapiDOSet32(handle, 0, data); // Chan Start = 0
printf("Schreibe auf Ausgänge Daten=0x%x\n", data);
printf("Taste für weiter\n");
getch();
// ----------------------------------------------------
// Write a value to the outputs
data = 0x80000000; // Ausgang 32 wird auf 1 gesetzt
DapiDOSet32(handle, 0, data); // Chan Start = 0
printf("Schreibe auf Ausgänge Daten=0x%x\n", data);
printf("Taste für weiter\n");
getch();
// ----------------------------------------------------
// Write a value to the outputs
data = 0x80000000; // Ausgang 64 wird auf 1 gesetzt
DapiDOSet32(handle, 32, data); // Chan Start = 32
printf("Schreibe auf Ausgänge Daten=0x%x\n", data);
printf("Taste für weiter\n");
getch();

DapiDOSet64

This command simultaneously sets 64 digital outputs.

Description
This command sets 64 digital outputs simultaneously.

Definition
void DapiDOSet64(ULONG handle, ULONG ch, ULONGLONG data);

Parameter
handle=This is the handle of an open module
ch=Indicates the number of the output to be written from (0, 64, ..)
data=Indicates the data values to be written

Return value
None

Programming example

// Outputs 1-32 are set to 0
// Outputs 33-64 are set to 1
DapiDOSet64(handle, 0, 0xffffffff00000000);

DapiDOReadback32

This command reads back the 32 digital outputs.

Description
This command reads back the 32 digital outputs.

Definition
ULONG DapiDOReadback32(ULONG handle, ULONG ch);

Parameter
handle=This is the handle of an open module
ch=Specifies the number of the output from which to read back (0, 32, 64, ..)

Return value
Status of 32 outputs.

Programming example

// Read back channel 1-32
unsigned long data;
data = DapiDOReadback32(handle, 0);

DapiDOReadback64

This command reads back the 64 digital outputs.

Description
This command reads back the 64 digital outputs.

Definition
ULONG DapiDOReadback64(ULONG handle, ULONG ch);

Parameter
handle=This is the handle of an open module
ch=Specifies the number of the output from which to read back (0, 32, 64, ..)

Return value
Status of 64 outputs.

Programming example

// Read back channel 1-64
unsigned long data;
data = DapiDOReadback64(handle, 0);

DapiDOSetBit32

This command can be used to switch outputs specifically to 1 without changing the states of the neighboring outputs.

Description
This command can be used to switch outputs specifically to 1 without changing the states of the neighboring outputs.

Definition
void DapiDOSetBit32(uint handle, uint ch, uint data);

Parameter
handle = This is the handle of an open module
ch = Specifies the number of the output from which to write
data = Specifies the data value to be written (up to 32 bits)

Return value
None

Remark
Only the bits with a value of 1 in the data parameter are taken into account by the command.

Programming example

data = 0x1; // Output 0 would be changed to 1. The states of outputs 1-31 won't be changed
DapiDOSetBit32(handle, 0, data);

data = 0xf; // Outputs 0-3 would be changed to 1. The states of outputs 4-31 won't be changed
DapiDOSetBit32(handle, 0, data);

data = 0xff; // Outputs 0-7 would be changed to 1. The states of outputs 8-31 won't be changed
DapiDOSetBit32(handle, 0, data);

data = 0xff000000; // Outputs 23-31 would be changed to 1. The states of outputs 0-21 won't be changed
DapiDOSetBit32(handle, 0, data);

DapiDOClrBit32

This command can be used to switch outputs specifically to 0 without changing the states of the neighboring outputs.

Description
This command can be used to switch outputs specifically to 0 without changing the states of the neighboring outputs.

Definition
void DapiDOClrBit32(uint handle, uint ch, uint data);

Parameter
handle = This is the handle of an open module
ch = Specifies the number of the output from which to write
data = Specifies the data value to be written (up to 32 bits)

Return value
None

Remark
Only the bits with a value of 1 in the data parameter are taken into account by the command.

Programming example

data = 0x1; // Output 0 would be changed to 0. The states of outputs 1-31 won't be changed
DapiDOSetBit32(handle, 0, data);

data = 0xf; // Outputs 0-3 would be changed to 0. The states of outputs 4-31 won't be changed
DapiDOSetBit32(handle, 0, data);

data = 0xff; // Outputs 0-7 would be changed to 0. The states of outputs 8-31 won't be changed
DapiDOSetBit32(handle, 0, data);

data = 0xff000000; // Outputs 23-31 would be changed to 0. The states of outputs 0-21 won't be changed
DapiDOSetBit32(handle, 0, data);

DapiDOSet1_WithTimer

This function sets a digital output (ch) to a value (data - 0 or 1) for a specific time in ms.

Description
This function sets a digital output (ch) to a value (data - 0 or 1) for a specific time in ms.

Definition
void DapiDOSet1_WithTimer(ULONG handle, ULONG ch, ULONG data, ULONG time_ms);

Parameter
handle=This is the handle of an open module
ch=Indicates the number of the output to be set (0 .. )
data=Indicates the data value to be written (0 / 1)
time_ms=Indicates the time in which the output is set [ms].

Return value
None

Remark
This command is supported by all output modules of the NET series, as well as by our RO-O8-R8 module.
This command loses its validity if it is overwritten with other values.
If you want to deactivate the command, it must be overwritten with time_ms=0.

Programming example

DapiDOSet1_WithTimer(handle, 2, 1, 1000);
//Setting channel 2 for 1000msec to 1


Timeout protection function

Icon Delib Command

DapiSpecialCMDTimeout

This command is used to set the timeout protection function.

Description
This command is used to set the timeout protection function.
There are three different timeout methods since 2021.

"normal" timeout
This is the timeout that our modules have had since 2009.
Procedure for the timeout command:
The timeout is activated by command.
If a so-called timeout event then occurs (pause between two accesses to the module is longer than the permitted timeout time), the following happens:
- All outputs are switched off.
- The timeout status changes to "2".
- The timeout LED goes on (for modules that have such a status)
Further access to the outputs is then still possible, but the timeout is no longer active. Only when it has been reactivated.

"auto reactivate" timeout
This is a timeout mode implemented since 2021, which automatically reactivates the timeout after the timeout event occurs.
Procedure for the timeout command:
The timeout is activated by command.
If a so-called timeout event then occurs (pause between two accesses to the module is greater than the permitted timeout time), the following happens:
- All outputs are switched off.
- The timeout status changes to "4".
- The timeout LED goes on (for modules that have such a status)
Further access to the outputs is then still possible. AND the timeout is still active. If the timeout time is exceeded again, the outputs are switched off again.

"secure outputs" timeout
This is a timeout mode implemented since 2021, which prevents write access to the outputs after the timeout event occurs, thus ensuring that the software must first restore a "secure" state of the outputs, as the module's timeout mechanism has changed the outputs to predefined values.
Procedure for the timeout command:
The timeout is activated by command.
If a so-called timeout event then occurs (pause between two accesses to the module is longer than the permitted timeout time), the following happens:
- All outputs are switched off.
- The timeout status changes to "6".
- The timeout LED goes on (for modules that have such a status)
Further access to the outputs is NOT possible. The outputs can only be written to after the timeout has been reactivated or deactivated.

Definition
DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT, cmd, par1, par2);

Parameter
handle = This is the handle of an open module
cmd = function to be executed
par1 = value that is passed to the function
par2 = Value that is passed to the function

DapiSpecialTimeoutSetValueSec

This command is used to set the timeout time.

Description
This command is used to set the timeout time.

Definition
DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT, cmd, par1, par2);

Parameter
cmd = DAPI_SPECIAL_TIMEOUT_SET_VALUE_SEC
par1 = seconds [s]
par2 = milliseconds [100ms] (value 6 = 600ms)

Remark
The permissible value range of the time specification is between 0.1 seconds and 6553 seconds

Programming example

DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT,
DAPI_SPECIAL_TIMEOUT_SET_VALUE_SEC, 3, 7);
//The timeout time is set to 3.7 sec.

DapiSpecialTimeoutActivate

This command activates the "normal" timeout.

Description
This command activates the "normal" timeout.
After the timeout event...
- ...all outputs are switched off
- ...the timeout status is set to "2"
- ...the timeout LED is switched on (for modules that have such a status)
Further access to the outputs is then still possible, but the timeout is no longer active.
Only when it has been reactivated.

Definition
DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT, cmd, 0, 0);

Parameter
cmd = DAPI_SPECIAL_TIMEOUT_ACTIVATE

Programming example

DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT,
DAPI_SPECIAL_TIMEOUT_ACTIVATE, 0, 0);
//The "normal" timeout is activated.

DapiSpecialTimeoutActivateAutoReactivate

This command activates the "auto reactivate" timeout.

Description
This command activates the "auto reactivate" timeout.
In this mode, the timeout is automatically reactivated after the timeout event.
After the timeout event...
- ...all outputs are switched off
- ..the timeout status is set to "4"
- ...the timeout LED is switched on (for modules that have such a status)
Further access to the outputs is then still possible AND the timeout is still active.
If the timeout time is exceeded again, the outputs are switched off again.

Definition
DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT, cmd, 0, 0);

Parameter
cmd = DAPI_SPECIAL_TIMEOUT_ACTIVATE_AUTO_REACTIVATE

Programming example

DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT,
DAPI_SPECIAL_TIMEOUT_ACTIVATE_AUTO_REACTIVATE, 0, 0);
//The "auto reactivate" timeout is activated.

DapiSpecialTimeoutActivateSecureOutputs

This command activates the "secure outputs" timeout.

Description
This command activates the "secure outputs" timeout.
In this mode, write access to the outputs is prevented after a timeout event.
This ensures that the software must first restore a "secure" state of the outputs,
as the module's timeout mechanism has changed the outputs to predefined values.
After the timeout event...
- ...all outputs are switched off
- ..the timeout status is set to "6"
- ..the timeout LED is switched on (for modules that have such a status)
Further access to the outputs is NOT possible. Only after reactivating the
timeout or deactivating the timeout, the outputs can be written to.

Definition
DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT, cmd, 0, 0);

Parameter
cmd = DAPI_SPECIAL_TIMEOUT_ACTIVATE_SECURE_OUTPUTS

Programming example

DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT,
DAPI_SPECIAL_TIMEOUT_ACTIVATE_SECURE_OUTPUTS, 0, 0);
//The "secure outputs" timeout is activated.

DapiSpecialTimeoutDeactivate

This command deactivates the timeout.

Description
This command deactivates the timeout.

Definition
DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT, cmd, 0, 0);

Parameter
cmd = DAPI_SPECIAL_TIMEOUT_DEACTIVATE

Programming example

DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT,
DAPI_SPECIAL_TIMEOUT_DEACTIVATE, 0, 0);
//The timeout is deactivated.

DapiSpecialTimeoutGetStatus

This command is used to read out the timeout status.

Description
This command is used to read out the timeout status.

Definition
ULONG DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT, DAPI_SPECIAL_TIMEOUT_GET_STATUS, 0, 0);

Parameter
cmd = DAPI_SPECIAL_TIMEOUT_GET_STATUS

Return value
Return = 0 (timeout is deactivated)

Values for the "normal" timeout
Return = 1 (timeout "normal" is activated)
Return = 2 (timeout "normal" has taken place)

Values for the "auto reactivate" timeout
Return = 3 ("auto reactivate" timeout is activated)
Return = 4 ("auto reactivate" timeout has occurred once or several times)

Values for the "secure" timeout
Return = 5 ("secure" timeout is activated)
Return = 6 (Timeout "secure" has taken place. Writing to the outputs is prevented in this status)

Programming example

unsigned long status = DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT,
DAPI_SPECIAL_TIMEOUT_GET_STATUS, 0, 0);
printf("Status = %ul\n", status);
// Query the timeout status with output.

DapiSpecialTimeoutDoValueMaskWRSet32

This command activates relays in the event of a timeout.

Description
This command determines the outputs that are to be set in the event of a timeout.

Definition
DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT, cmd, ch, par2);

Parameter
cmd = DAPI_SPECIAL_TIMEOUT_DO_VALUE_MASK_WR_SET32
ch = Specifies the number of the output from which to write (0, 32, 64, ..)
par2 = [32 Bit] Specifies the outputs which are to be activated in the event of a timeout

Programming example

DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT,
DAPI_SPECIAL_TIMEOUT_DO_VALUE_MASK_WR_SET32, 0, 0xff);
//The first 8 relays are switched on in the event of a timeout.

DapiSpecialTimeoutDoValueMaskRDSet32

This command is used to read out the transferred values.

Description
This command is used to read the transferred values

Definition
ULONG DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT, cmd, 0, 0);

Parameter
cmd = DAPI_SPECIAL_TIMEOUT_DO_VALUE_MASK_RD_SET32

Return value
[32 bit] Value that is transferred to the SET command

Programming example

unsigned long value = DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT,
DAPI_SPECIAL_TIMEOUT_DO_VALUE_MASK_RD_SET32, 0, 0);
printf("%0x\n", value);
//The value that was transferred to the SET command is read out and displayed.

DapiSpecialTimeoutDoValueMaskWRClr32

This command deactivates relays in the event of a timeout.

Description
This command determines the outputs that are to be switched off in the event of a timeout.

Definition
DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT, cmd, ch, par2);

Parameter
cmd = DAPI_SPECIAL_TIMEOUT_DO_VALUE_MASK_WR_CLR32
ch = Specifies the number of the output from which to write (0, 32, 64, ..)
par2 = [32 Bit] Specifies the outputs that are to be deactivated in the event of a timeout

Programming example

DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT,
DAPI_SPECIAL_TIMEOUT_DO_VALUE_MASK_WR_CLR32, 0, 0xff);
// The first 8 relays are switched off in the event of a timeout.

DapiSpecialTimeoutDoValueMaskRDClr32

This command is used to read out the transferred values.

Description
This command is used to read out the transferred values.

Definition
LONG DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT, cmd, 0, 0);

Parameter
cmd = DAPI_SPECIAL_TIMEOUT_DO_VALUE_MASK_RD_CLR32

Return value
[32 bit] Value that is transferred to the CLR command

Programming example

unsigned long value = DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT,
DAPI_SPECIAL_TIMEOUT_DO_VALUE_MASK_RD_CLR32, 0, 0);
printf("%0x\n", value);
//The value that was transferred to the CLR command is read out and displayed.

DapiSpecialTimeoutDoValueLoadDefault

Resets the SET and CLR values to the original value.

Description
Resets the SET and CLR values to the default value.
(SET value = 0, CLR value = FFFFFFFFFF)

Definition
DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT, cmd, 0, 0);

Parameter
cmd = DAPI_SPECIAL_TIMEOUT_DO_VALUE_LOAD_DEFAULT

Programming example

DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT,
DAPI_SPECIAL_TIMEOUT_DO_VALUE_LOAD_DEFAULT, 0, 0);
//SET and CRL values are set to the default value.


Error handling

Icon Delib Command

DapiGetLastError

This function returns the last error recorded.

Description
This function returns the last recorded error. If an error has occurred, it must be cleared with DapiClearLastError(), otherwise every call to DapiGetLastError() will return the "old" error.
If several modules are to be used, the use of DapiGetLastErrorByHandle() is recommended.

Definition
ULONG DapiGetLastError(void);

Parameter
None

Return value
Error code
0=no error. (see delib_error_codes.h)

Programming example

BOOL IsError()
{
unsigned char msg[500];
unsigned long error_code = DapiGetLastError();

if (error_code != DAPI_ERR_NONE)
{
DapiGetLastErrorText((unsigned char*) msg, sizeof(msg));
printf("Error Code = 0x%x * Message = %s\n", error_code, msg);

DapiClearLastError();

return TRUE;
}

return FALSE;
}

DapiGetLastErrorByHandle

This function returns the last error recorded for a specific module using the handle.

Description
This function returns the last error recorded for a specific module using the handle. If an error has occurred, it must be cleared with DapiClearLastErrorByHandle(), otherwise every call to DapiGetLastErrorByHandle() will return the "old" error.

Definition
ULONG DapiGetLastErrorByHandle(ULONG handle);

Parameter
handle=This is the handle of an open module

Return value
Error code
0=no error. (see delib_error_codes.h)

Programming example

BOOL IsError(ULONG handle)
{
unsigned long error_code = DapiGetLastErrorByHandle(handle);

if (error_code != DAPI_ERR_NONE)
{
printf("Error detected on handle 0x%x - Error Code = 0x%x\n", handle, error_code);

DapiClearLastErrorByHandle(handle);

return TRUE;
}

return FALSE;
}

DapiGetLastErrorText

This function reads out the text of the last error recorded.

Description
This function reads out the text of the last recorded error. If an error has occurred, it must be cleared with DapiClearLastError(), otherwise every call to DapiGetLastErrorText() will return the "old" error.

Definition
ULONG DapiGetLastErrorText(unsigned char * msg, unsigned long msg_length);

Parameter
msg = Buffer for the text to be received
msg_length = Length of the text buffer

Programming example

BOOL IsError()
{
unsigned char msg[500];
unsigned long error_code = DapiGetLastError();

if (error_code != DAPI_ERR_NONE)
{
DapiGetLastErrorText((unsigned char*) msg, sizeof(msg));
printf("Error Code = 0x%x * Message = %s\n", error_code, msg);

DapiClearLastError();

return TRUE;
}

return FALSE;
}

DapiClearLastError

This function deletes the last error that was recorded with DapiGetLastError().

Description
This function deletes the last error that was recorded with DapiGetLastError().

Definition
void DapiClearLastError(void);

Parameter
None

Return value
None

Programming example

BOOL IsError()
{
unsigned char msg[500];
unsigned long error_code = DapiGetLastError();

if (error_code != DAPI_ERR_NONE)
{
DapiGetLastErrorText((unsigned char*) msg, sizeof(msg));
printf("Error Code = 0x%x * Message = %s\n", error_code, msg);

DapiClearLastError();

return TRUE;
}

return FALSE;
}

DapiClearLastErrorByHandle

This function deletes the last error of a specific module (handle) that was recorded with DapiGetLastErrorByHandle().

Description
This function deletes the last error of a specific module (handle) that was registered with DapiGetLastErrorByHandle().

Definition
void DapiClearLastErrorByHandle(ULONG handle);

Parameter
handle=This is the handle of an open module.

Return value
None

Programming example

BOOL IsError(ULONG handle)
{
unsigned long error_code = DapiGetLastErrorByHandle(handle);

if (error_code != DAPI_ERR_NONE)
{
printf("Error detected on handle 0x%x - Error Code = 0x%x\n", handle, error_code);

DapiClearLastErrorByHandle(handle);

return TRUE;
}

return FALSE;
}


Test functions

Icon Delib Command

DapiPing

This command checks the connection to an open module.

Description
This command checks the connection to an open module.

Definition
ULONG DapiPing(ULONG handle, ULONG value);

Parameter
handle=This is the handle of an open module
value=Transferred test value, in the value range of 0-255 (8-bit), to the module

Return value
The test value transferred with "value" must be returned here

Connection example DI:

Connection example


Connection example relay:

Connection example

Screwless connector system

The customer-side connection wiring of the inputs and outputs is carried out using screwless, pluggable terminal strips. The conductor connection is made using a so-called actuating tool.
A locking and ejecting mechanism facilitates the insertion and removal of the complete terminal strip.

Handling:

Steps 1-5

Step 1

See the scope of delivery for the operating tool.

Wago Betaetigungswerkzeug 615 464 Kopie
Step 2

Insert the operating tool firmly into the side opening in the direction of the conductor connection.

Konf Werkz Montage2 615 464 Kopie
Step 3

Now insert the stripped conductor into the open clamp contact.

Konf Werkz Montage3 615 464 Kopie
Step 4

Pull out the operating tool again.

Konf Werkz Montage4 615 464 Kopie
Step 5

Check that the conductor is properly connected. It should now no longer be possible to pull it out easily.

Konf Werkz Montage5 615 464 Kopie

Manual

DDT Icons Downloads PDF Transparent 250606

Manual BS series

Hardware and software description
  • Description of the control technology modules
  • Configuration of the different module interfaces
  • Software installation of the DELIB driver library

Software packages ICT-Tool / DELIB driver library

DDT-Icons-Downloads_ZIP_transparent_250606

ICT-Tool + DELIB for Windows (64-bit)

For Windows 11/10, Windows 7, Windows 8, Vista, XP and 2000

Software package for the 64-bit version of the ICT-Tool and the DELIB driver library.

The following operating systems are compatible:
64-bit:

  • Windows 10/11 x64
  • Windows 8 x64
  • Windows 7 x64
  • Windows Server 2012 x64
  • Windows Server 2008 x64
  • Windows Vista x64
  • Windows XP x64
  • Windows Server 2003 x64
  • Windows 2000 x64

Supplied software

ICT-Tool x64

  • Updating the DEDITEC module-firmware
  • Assigning module addresses
  • Module-specific settings
  • Configuration of CAN modules
  • Test and diagnosis of module functions
  • Configuration of the watchdog stick

Replaces the following software

  • DT-Flasher x64
  • DELIB Module Demo x64
  • CAN Configuration Utility x64
  • DELIB Module Config x64
  • DELIB Configuration Utility x64
  • Watchdog Configuration Utility x64


DELIB Command Line Interface x64

Enables the execution of DELIB commands in the command line.

DDT-Icons-Downloads_ZIP_transparent_250606

ICT-Tool + DELIB for Windows (32-bit)

For Windows 11/10, Windows 7, Windows 8, Vista, XP and 2000

Software package for the 32-bit version of the ICT-Tool and the DELIB driver library.

The following operating systems are compatible:
32-bit:

      • Windows 10/11
      • Windows 8
      • Windows 7
      • Windows Server 2012
      • Windows Server 2008
      • Windows Vista
      • Windows XP
      • Windows Server 2003
      • Windows 2000
    •  

Supplied software

ICT-Tool x32

      • Updating the DEDITEC module-firmware
      • Assigning module addresses
      • Module-specific settings
      • Configuration of CAN modules
      • Test and diagnosis of module functions
      • Configuration of the watchdog stick

 

Replaces the following software

      • DT-Flasher
      • DELIB Module Demo
      • CAN Configuration Utility
      • DELIB Module Config
      • DELIB Configuration Utility
      • Watchdog Configuration Utility

Attention:

With this version of the driver library, only 32-bit applications can be created, which can then be executed on 32- and 64-bit systems.

DDT-Icons-Downloads_ZIP_transparent_250606

DELIB driver library for Linux (32/64-bit)

For 32/64-bit Linux distributions from kernel 2.6.x. Version 2.73 from 28.10.2024

DELIB driver library for Linux distributions (32/64-bit) from kernel 2.6.x

This driver package contains the following components

  • DELIB USB driver
  • DELIB Ethernet driver
  • DELIB CLI

DELIB USB driver

Support for the following products:

  • NET series (via USB interface)
  • RO-USB series
  • BS-USB series
  • USB mini-sticks
  • USB watchdog
  • USB-OPTION-8 / USB-RELAY-8
  • USB-TTL-32 / USB-TTL-64

Note:

With the standard version of the USB driver, several USB products with different module IDs (e.g. one RO-USB and one USB-OPTOIN-8) can be addressed. No further driver installation is required.

If several USB products with the same module ID (e.g. a USB-OPTOIN-8 and a USB-RELAIS-8) are to be addressed, the Linux FTDI driver must also be installed. You can find the FTDI driver at http://www.ftdichip.com.

DELIB Ethernet driver

Support for the following products:

  • NET series (via Ethernet interface)
  • RO-ETH series
  • RO-ETH/LC series
  • BS-ETH series
  • ETH-OPTION-8 / ETH-RELAY-8
  • ETH-TTL-64

DELIB CLI

With the DELIB CLI (Command Line Interface) for Linux, all commands for digital and analog I/Os can be set directly via the command line


Manual

DDT Icons Downloads PDF Transparent 250606

Manual for ICT-Tool and DELIB

Software Description - ICT-Tool - DELIB API Reference

Software Description

  • Control options via DELIB, protocol level, DELIB CLI, graphical applications
  • DELIB driver library, DELIB sample sources, DELIB for Linux
  • Web interface (only for Ethernet modules)
  • DELIB API and its functions

ICT-Tool

  • Add module to PC
  • Configure module/interface (Ethernet, USB, CAN, Serial)
  • Settings for M2M and Event Control (only for supported modules)
  • Test and diagnose module
  • Install firmware updates
  • Save/load module configurations using a separate file

DELIB API Reference

  • Directory structure of DELIB
  • Management functions
  • Error handling
  • Manage digital inputs and outputs
  • Manage analog inputs and outputs
  • Manage software FIFO
  • Manage output timeout
  • Register read and write commands


Download

DDT-Icons-Downloads_ZIP_transparent_250606

Hardware updates (firmware flash file package)

Firmware flash file package for the ICT tool

This package contains the latest firmware files for the following product series:

  • STARTER series
  • BS series
  • RO series
  • NET series
  • UC series
  • CAN-IO-Box
  • Development accessories

The firmware flash file package can alternatively be downloaded via the ICT tool.

USB cable A plug to B plug

USB cable for connecting our modules to the control PC.

  • Type: USB 2.0, A plug to B plug
  • Length: 1,8 m
Zbh Kab Usb Ab 2m 600

2-pin plug connector

Enables the power supply to be connected to the DEDITEC module.

  • Type: Phoenix Contact® - 1783287
  • 100 % mismatch protected
  • For all conductor types from 0.2 mm² to 2.5 mm²
Zbh Steck 02 Gew 600


16-pin plug connector

Required for connecting inputs and outputs of the DEDITEC module.

  • Type: WAGO® 713-1108/037-000
  • Plug-in female multipoint connector with locking mechanism
  • 100 % mismatch protected
  • 1-wire connection for all conductor types up to 1.5 mm²
ZBH STECK 16 AUSW 600


Actuating tool for Wago connectors

Used to open and close the terminal contacts on the WAGO® connectors.

  • Type: WAGO® - 734-231
Zbh Steck Werkz 600

BS-CAN interface adapter

Is required to expand BS series modules with a CAN interface.

  • CAN (galvanically isolated up to 1 kV RMS)
  • CAN 2.0 A or CAN 2.0 B
  • 1 Mbit/s, 500 Kbit/s, 250 Kbit/s, 125 Kbit/s, 100 Kbit/s, 50 Kbit/s, 20 Kbit/s oder 10 Kbit/s
  • Open CAN protocol
  • Automatic processing of CAN packets (Auto RX/TX mode)
  • Connection via 9-pin D-Sub socket
BS-ADAPT-CAN View
BS module with interface adapt

BS-RS232 interface adapter

Is required to expand BS series modules with a serial interface.

  • RS-232 interface with up to 115200 baud rate
  • Connection via 9-pin D-Sub socket
BS-ADAPT-SER View
BS module with interface adapt


Optional input voltage range 5 V ... 15 V

This option reduces the input voltage range of the OPTOIN modules to 5 V to 15 V. 8 channels per ordered quantity are always modified.

  • Input voltage range 5 V to 15 V AC / DC
  • 8 channels
Opt Input 5v 15v


USB cable A plug to B plug

USB cable for connecting our modules to the control PC.

  • Type: USB 2.0, A plug to B plug
  • Length: 1,8 m
Zbh Kab Usb Ab 2m 600


2-pin plug connector

Enables the power supply to be connected to the DEDITEC module.

  • Type: Phoenix Contact® - 1783287
  • 100 % mismatch protected
  • For all conductor types from 0.2 mm² to 2.5 mm²
Zbh Steck 02 Gew 600


16-pin plug connector

Required for connecting inputs and outputs of the DEDITEC module.

  • Type: WAGO® 713-1108/037-000
  • Plug-in female multipoint connector with locking mechanism
  • 100 % mismatch protected
  • 1-wire connection for all conductor types up to 1.5 mm²
ZBH STECK 16 AUSW 600


Actuating tool for Wago connectors

Used to open and close the terminal contacts on the WAGO® connectors.

  • Type: WAGO® - 734-231
Zbh Steck Werkz 600


Strain relief plate for 16 or 18-pin Wago connectors

The strain relief plate is pushed onto the center of the female connector and enables the connected cables or strands to be fixed in place.

  • Type: WAGO® - 713-127
  • Strain relief for the connection wiring
  • Suitable for 16 or 18-pole female connectors
  • Slide onto the female connector from the side
ZBH STECK PL 16
ZBH STECK PL 16 Wago


Top hat rail

Top-hat rail for mounting our control technology modules.

  • DIN rail according to DIN EN 50022
  • Type: Phoenix Contact® - 1208131
  • Dimensions in mm: 450 x 35 x 7.5 (L x W x H)
Zbhhutschiene 1m 600


24V/2A power supply unit for top-hat rail mounting

The DR-4524 from Mean Well is a 48W power supply unit for DIN rail mounting for industrial applications. It offers protection against short circuit, overload, overvoltage and overheating.

  • Input voltage range: 85 V.. 264 V AC / 120 V DC ... 370 V DC
  • Output voltage: 24 V DC
  • Output current: 2 A
  • Rated power: 48 W
Zbhnetzteil 24v 2a 600


12 V top-hat rail relay

PLC interface for limit continuous currents up to 10 A, consisting of basic terminal with screw connection and plug-in miniature relay. Can be mounted on NS 35/7.5 mounting rail.

  • Rated voltage: 230 V AC / 220 V DC
  • Switching voltage: 250 V AC / DC
  • 1 Changer
  • Reverse polarity protection, freewheeling diode
  • LED for voltage display
  • Type: Phoenix Contact® - 2967617, PLC-RSC- 12DC/21HC
Zbhphoerelais 24v 600


24 V top-hat rail relay

PLC interface for limit continuous currents up to 10 A, consisting of basic terminal with screw connection and plug-in miniature relay. Can be mounted on NS 35/7.5 mounting rail.

  • Rated voltage: 24 V AC/DC
  • Switching voltage: 250 V AC/DC
  • 1 Changer
  • Reverse polarity protection, freewheeling diode
  • LED for voltage display
  • Type: Phoenix Contact® - 2967633, PLC-RSC- 24UC/21HC
Zbhphoerelais 24v 600


230 V top-hat rail relay

PLC interface for limit continuous currents up to 10 A, consisting of basic terminal with screw connection and plug-in miniature relay. Can be mounted on NS 35/7.5 mounting rail.

  • Rated voltage: 230 V AC / 230 V DC
  • Switching voltage: 250 V AC/DC
  • 1 Changer
  • Reverse polarity protection, freewheeling diode
  • LED for voltage display
  • Type: Phoenix Contact® - 2967675, PLC-RSC-230UC/21HC
Zbhphoerelais 24v 600

Typical Application Areas:

  • Smart Building & Building Automation:
    The control of lighting, air conditioning systems, blinds, or security systems is carried out centrally via USB using the digital I/O E/A SPS module.
  • Decentralized I/O expansion of existing systems:
    Scalable extension of control architectures through modular USB I/O components directly at the machine environment.
  • Test benches and test systems:
    Optimal integration into test environments is enabled by the CAN interface of the BS-USB-OR16, supporting analysis, simulation, and validation processes.
  • Use in industrial communication via RS-232:
    The RS-232 interface enables reliable serial data transmission between controllers, devices, and industrial PCs.
  • Coupling of industrial and field systems:
    The coupling between industrial PCs and field or automation components is realized by the BS-USB-OR16.
  • Energy and load management:
    Monitoring and control of consumers in energy networks, load management for industrial or commercial applications.
  • Research and development:
    Use in laboratories and test environments for scientific experiments and test setups.
  • Industrial automation:
    It monitors digital signals from machines and production systems for precise control and process management.
  • Laboratory automation:
    Digital signals from machines and production systems are reliably captured by the digital I/O E/A SPS module and provided for precise process control.

Comparison of BS-USB-OR16 with common market products

</tr ></tr ></tr ></tr ></tr ></tr ></tr ></tr ></tr ></tr >

Interfaces & Communication

Feature Market Comparison Advantages of the DEDITEC BS-USB-OR16</th > Practical Benefits of the digital IO EA SPS modules
Number of USB modules that can be used simultaneously 1–4 modules, often without proper management Up to 16 modules per system Enables larger system configurations without additional distributors or expansion devices.

Digital inputs

Feature Market Comparison Advantages of the DEDITEC BS-USB-OR16</th > Practical Benefits of the digital IO EA SPS modules
Counter function per channel Often only simple status queries or a global counting function. 16-bit counters per channel with up to 65,535 count cycles. Enables direct capture of pulses and events without additional hardware.
Wide voltage range Usually only positive voltage levels are allowed. Positive and negative voltages can be detected Expands compatibility with various sensor signals and reduces the need for upstream signal conditioning.
Input filter Filter functions are often fixed or can only be configured to a limited extent. Programmable filter for input state changes and counter functions. Reduces bounce and improves the reliable detection of actual switching signals.
Status display Channel statuses are often only visible to a limited extent or in aggregate. LED status indicator per input and output channel for quick visual inspection. Speeds up diagnostics, commissioning, and troubleshooting directly at the module.
Detection of state changes Signal changes between two readout cycles are sometimes lost in standard modules. Internal flip-flops detect transitions from low to high and high to low between two readout operations. Improves event detection for short signal transitions and asynchronous state changes.
Signal isolation of the inputs Sometimes without galvanic isolation or with reduced protection between the field and logic sides. Electrically isolated optocoupler inputs for safe signal operation Increases operational reliability when detecting external switching and sensor signals.

Digital outputs

Feature Market Comparison Advantages of the DEDITEC BS-USB-OR16</th > Practical Benefits of the digital IO EA SPS modules
Output type Standard outputs are often grouped together without specifying their relay characteristics in detail. Relay outputs with normally open (NO) contacts for standard industrial switching applications. Suitable for reliably switching external loads in typical industrial applications.

Automation & Diagnostics

Feature Market Comparison Advantages of the DEDITEC BS-USB-OR16</th > Practical Benefits of the digital IO EA SPS modules
Status monitoring Partially without visual indicators LED status indicators per channel for fast diagnostics Enables rapid on-site status analysis and reduces the effort required for troubleshooting and diagnostics.
Diagnostic tools Mostly not available Extensive diagnostic capabilities integrated in the ICT tool Simplifies commissioning, troubleshooting, and long-term analysis through centralized, integrated diagnostic functions.
Automated control and monitoring Additional control PC required Configurable event control enables automated process monitoring without a control PC Reduces the need for external control logic and enables automated processes directly within the module.

Hardware flexibility

Feature Market Comparison Advantages of the DEDITEC BS-USB-OR16</th > Practical Benefits of the digital IO EA SPS modules
Supply voltage Usually fixed (e.g., +24 V) Flexible +12 V DC … +28 V DC Facilitates use in various power supply configurations and reduces the need for additional power supplies.
Form factor Larger modules, less space‑efficient Very compact with high channel count Reduces space requirements in the control cabinet and enables higher packing densities.
Inputs and outputs Often only digital inputs or outputs Combination of digital inputs and relay outputs Enables compact control solutions without additional expansion modules.

Software & Integration

Feature Market Comparison Advantages of the DEDITEC BS-USB-OR16</th > Practical Benefits of the digital IO EA SPS modules
Software integration Limited drivers DELIB library for C, C++, C#, Java, VB Simplifies development through standardized programming interfaces and reduces the effort required for custom driver adaptations.
Example programs Barely available or only upon request Example programs can be downloaded for free Accelerates implementation and facilitates the transition to project-specific applications.
API concept Many manufacturers have different APIs per series Unified API for all series Simplifies maintenance and further development, as all series can be addressed via the same interface.
Firmware updates Often paid or limited Free for life Ensures long-term functionality and enables improvements without additional licensing costs.
Example code Fewer languages or restricted examples Extensive examples for C, C++, C#, Java, VB, LabView Supports various development environments and facilitates integration into existing software landscapes.
System integration Proprietary systems complicate integration Easy integration into PLCs, PCs, and test benches Facilitates integration into existing automation and test systems without extensive modifications.
Test system integration Competitors often more expensive or less flexible Ideal for automotive and test bench applications Supports reproducible measurement and test procedures and reduces integration effort in complex test bench environments.

Mechanical & physical properties

Feature Market Comparison Advantages of the DEDITEC BS-USB-OR16</th > Practical Benefits of the digital IO EA SPS modules
Mounting Depending on the supplier, different or less standard designs may be used. Mounting on a 35 x 7.5 mm DIN rail for use in control cabinets and decentralized I/O systems. Enables quick and standards-compliant integration into existing control cabinets.
Housing quality Many manufacturers use plastic housings, less robust Aluminum/metal housing Increases mechanical durability and improves EMC shielding compared to plastic enclosures

Reliability

Feature Market Comparison Advantages of the DEDITEC BS-USB-OR16</th > Practical Benefits of the digital IO EA SPS modules
Long-term availability Typically 3–5 years 10‑year guaranteed availability Simplifies long-term plant planning and reduces risks associated with early product discontinuations.
Firmware updates Often paid or limited Free for life Ensures continuous functional improvement without additional operating costs.
ICT tool Often multiple tools, fewer functions One tool for commissioning, diagnostics, loopback testing, long‑term simulation Simplifies commissioning, diagnostics, and testing procedures through a centralized software solution.
Production location Many manufacturers produce in Asia Made in Germany Enables short supply chains, consistent quality assurance, and a reliable supply of spare parts.
MTBF Low-cost OEM modules with shorter lifespan High MTBF values Reduces the probability of failure and increases availability in continuous-operation applications.
Failure rate Higher failure rates with low‑cost I/O Very low field failure rates Minimizes unplanned downtime and reduces maintenance and service costs.
Series maturity Many products are new or frequently revised Series with 15+ years of history Offers a proven platform with stable firmware and mature hardware.
Spare parts availability Often early discontinuation Long‑term spare parts availability Facilitates maintenance and modernization of existing systems over many years.

Service and support

Feature Market Comparison Advantages of the DEDITEC BS-USB-OR16</th > Practical Benefits of the digital IO EA SPS modules
Support quality Call centers or external service providers Direct developer support Enables fast and technically sound problem-solving without the need to escalate issues through external service providers.
Response time Sometimes several days Very fast response, often same day Reduces downtime and speeds up the restoration of system operations when technical issues arise.
Customization Rare or very expensive Custom hardware/firmware possible Enables project-specific solutions without the need for time-consuming in-house development or additional hardware components.
Documentation Often minimal or incomplete Comprehensive and practical documentation Simplifies commissioning and reduces the need for follow-up inquiries thanks to clearly structured and comprehensive technical documentation.

Economy

Feature Market Comparison Advantages of the DEDITEC BS-USB-OR16</th > Practical Benefits of the digital IO EA SPS modules
Price-performance ratio Major brands significantly more expensive Very good price‑performance ratio Reduces total cost per channel and enables cost-effective system expansions.
Series prices Large manufacturers often inflexible Attractive volume pricing Simplifies budget planning for larger volumes and enables cost-effective scaling of projects.
My cart
Your cart is empty.

Looks like you haven't made a choice yet.