SIXNET Home
 Home   |   About Us   |   Sales   |   Integration   |   Support   |   What's New   |   WebStore   |   Contact   |    Advanced Search
 Products:
  RTUs
  DCS Controllers
  I/O Modules
  Dataloggers
  Phone Modems
  Cellular Solutions
  Ethernet Switch
  OEM Solutions
  Software Tools
  Documentation
  eNewsletter
  Employment
  Reseller Tools

Industrial Ethernet Switches & Modems

Get Your FREE CD!

We are always looking
to expand our sales
channels. Contact Us
to become a Regional
Factory Representative, or a Local Distributor.



 IPm I/O Database

Accessing IPm I/O from Your Own Applications
The IPm firmware provides a simple and efficient means for application programs (that you create) to interact with other IPm applications. At the heart of the IPm is an I/O register database that contains all of the discrete, analog (integer), long integer (32 bit) and floating point variables used by all applications running in the IPm. Applications read and write these global registers and the resulting real-time data values are accessible to all other programs running in the IPm.
 
I/O updating tasks (“I/O polling” on the diagram above) continuously read inputs and write outputs to SIXNET I/O modules. The ISaGRAF runtime (and other applications) reads the latest values of data within these I/O registers and write output values at the end of each program scan. The Sixlog (datalogging) task gathers I/O values and variables computed by ISaGRAF and other applications from these registers and logs time stamped records to data files. Each application performs its function as a standalone program; sharing data through these universally accessible I/O registers.
 
 

Making I/O Calls from Applications
I/O calls are easy using the simple library functions supplied by SIXNET. I/O registers may be called directly by tag name or I/O address. The complete library description is included in the documentation file: ipm_io_call.pdf. (The library itself is supplied with the Advanced IPm option of the I/O Tool Kit configuration software.)

Easy Development / Porting of Applications
Develop your applications or I/O drivers (which are actually stand alone Linux applications) on your Red Hat Linux system (running on any Pentium computer). The Linux kernel in the IPm controller/RTU is highly compatible with this popular Linux platform. When your application is running successfully, merely replace the temporary I/O register simulator (possibly just a data array) in your application with calls to the IPm I/O register database and load your application into the IPm controller. Any application suited to run on an embedded Linux platform will easily port to run in an IPm controller. Refer to When to Use an IPm?

Perfect Synergy Between Applications
Share data between applications with simple reads and writes to I/O registers in the IPm controller. (Yes, it is that easy!) Each application program runs independently in this multi-tasking / multi-user Linux environment. The 16 Megabytes (or more) of fast dynamic memory in the IPm easily accommodates multiple applications programs. (Programs in efficient embedded controllers tend to be quite small. For example, the entire ISaGRAF runtime executes in 150K of memory, complete with execution of all six supported languages.)

An Ideal Protocol Converter
An IPm controller makes the ideal protocol converter. Many I/O drivers can simultaneously run in this multitasking / multi-user environment. Each driver simply reads and writes I/O registers to the IPm I/O database. This shared database of discrete, integer (16 bit analog and counter values), long integer (32 bit), and floating point variables, may contain 50,000 (or more) I/O registers. SIXNET is helping system integrators and OEM customers develop I/O drivers to run on an IPm controller. Links to these partner's documentation are published to promote sharing of these solutions in the spirit of truly open systems. If you have developed an I/O driver that you would like to share, SIXNET will help you market your I/O driver product.

“Productizing” Your I/O Drivers and Applications Programs
SIXNET has developed a simple and flexible way to turn your application into a standard product that can be marketed as an IPm partnering product. Take a Quick Tour!

Develop and test your application in an IPm controller. There are no special rules or restrictions limiting how your program works or what it can accomplish. We suggest that you create a configuration file that your program reads at runtime to define the specific characteristics of the user’s application. In the case of an I/O driver, this might include the serial port to use, a list of I/O registers to exchange, and the desired update time. You may assign any unique name to this configuration file. In any event, let your program automatically read this pre-defined configuration when it initializes.

Create a simple Windows configuration utility to allow the user to define the parameters stored in the IPm runtime configuration file. By merely placing the configuration file’s name on the “Files to Load” list, it becomes part of the IPm controller’s project and will be automatically loaded by the SIXNET I/O Tool Kit software.

Your configuration utility can be added to the menus of the I/O Tool Kit and function as a integrated part of these comprehensive system tools. To the user, your tools and ours will appear as one synergistic product. All that is required is a simple “.ini” style text file to instruct the Tool Kit of the menu items that need to be displayed. View the IPm Technical Notes or contact SIXNET for more detailed information on this OEM partnering feature.

Referencing Registers by Address or Tag Name
Calls to I/O registers can be made by either their I/O address or their tag name. You will find function calls for both types of references in the ipm_io_call.pdf library documentation. In general, applications run faster if calls are made directly by I/O address. (All SIXNET applications reference I/O at runtime by I/O address. The tag names are displayed only in the Windows development tools for your convenience.) To reference I/O registers by tag name, a tag list files must be loaded into the IPm controller with your other project details. This is accomplished in the I/O Tool Kit configuration software by merely selecting the “Load Project Tag List” option in the “Files To Load” tab in the IPm configuration window.

 
Other Related Topics:
Linux IPm offers you the best of both worlds! (Click here to take a quick tour...)
Best of Both Worlds
See for Yourself!
     
Industrial Ethernet Switches & Modems
BlueTree Wireless Data
What's new with SIXNET Automation

Certified to Perform
SIXNET Industrial Certifications


SIXNET Home