How I/O Drivers Work

<< Click to Display Table of Contents >>

 

How I/O Drivers Work

An IOServer is an E3 module responsible for communicating with a device. It is inside an IOServer process that Driver's DLL is loaded and communication with that device is then performed.

I/O Tags enable users to read or write a set of values, by using an I/O Driver where they are inserted. Users can also use I/O Blocks to read more than one variable simultaneously. To access each I/O Block value, use a Block Element, which can be inserted in that object. These objects are discussed in the next topics.

By default, E3 creates an IOServer for each I/O Driver at run time. Based on each Tag's scan time (its Scan property), a Driver periodically requests each Tag value. Every time a Tag value or Tag quality is modified, its value is then reported to an I/O Driver.

Each variable's cycle time check is performed sequentially. In case some variable's cycle time expires, an IOServer then keeps asking for its value, moving on to the next variable until the whole spreadsheet is complete, and then it returns to the beginning for a new scan.

Users can reserve a smaller cycle time for variables that need to be updated more quickly, and a larger cycle time for variables whose updating priorities are low. It is important to notice, however, that communication performance depends on a lot of factors, including device type, communication interface type in use, baud rate, and error rate, among others.

Whenever E3 sends a request to set values to one or more variables, this request has a higher execution priority, relative to a Tag scan.

In case of an IOServer failure, E3 automatically restarts this module, to get back to work. On the other hand, an IOServer stops working in case there is no E3Run (Main or Standby) to receive its data.

When using the ShareServer property, users can share the same IOServer among several I/O Drivers. The first Driver executing is responsible for starting communication procedures, such as opening a serial port or initializing a communication interface. The next shared I/O Drivers then use the same IOServer opened by the first one, which allows sharing communication interfaces used by a Driver.

This can be an advantage, because many communication devices such as modems, serial ports, and other interfaces, allow just one connection, preventing simultaneous usage by more than one Driver. When sharing Drivers, users can reuse the same connection for more than one object. Users must notice that settings for shared Drivers must be the same, for a proper working of Driver sharing.

When a Domain is executing, users have access to I/O Driver's execution interface, named Driver Manager.

Access to Driver Manager

Access to Driver Manager

A Driver Manager allows users to view all Drivers in execution, by displaying their properties. On this window users can sort Drivers by any column, by clicking a desired column's name. Users can also filter values on columns (except for Read errors and Write errors columns) by clicking Filter and then typing a filter for a column.

Driver Manager

Driver Manager

The available options on this window are described on the next table.

Available options for Driver Manager window

Option

Description

Name

Informs a Driver's name

Object(s)

Informs an I/O Driver's name linked to a Driver

Read errors

Displays the total number of this Driver's readings, the number of reading errors, and a percentage of errors relative to the total number of readings

Write errors

Displays the total number of this Driver writings, the number of writing errors, and a percentage of errors relative to the total number of writings

Process

Displays a process ID for this IOServer in the operating system

Status

Displays the current Driver status (configured, starting, executing, finishing, finished, or in error). If a Driver is in error, this column displays an error description

Shared

Displays YES or NO, informing whether a Driver is shared or not

Log

Displays a log status (enabled or disabled)

Path

Informs Driver's path in the operating system

Enable log

Enables Driver's log at run time, without reconfiguring this application. Users can interrupt this recording procedure by using the same option

Refresh

Forces an update on displayed data

Was this page useful?