Selecting I/O Units

Selecting and communicating with I/O units. The I/O unit physical layer interface. Understanding the wide perspective.
Putting It Together

Now that I've introduced the terminology and discussed features important to selecting an I/O system, let's briefly summarize how to put it all together. The following outline describes how I approach the selection and implementation of I/O systems. I've found that these steps may occur in parallel and may be iterative in nature, with decisions being refined and becoming more accurate with each pass. Designing the system requires a significant amount of patience and persistence as well as a flair for precise detail.

  • Inventory the sensors and effectors the system specification requires. Include location, function and details of the devices. Spreadsheets are excellent tools for this documentation.

  • Determine accuracy and resolution requirements. Determine data rate and response-time requirements.

  • Estimate the expanse of the system. Chart the potential communication paths; require blueprints if necessary.

  • Evaluate I/O unit options to fulfill the points, expanse and throughput requirements.

  • Consider modularity not only as a flexible means of communication but also as a means of simplifying maintenance over the system's lifetime.

  • Select the communication infrastructure. Refine the system expanse and the communication paths.

  • Evaluate software support for each I/O unit considered for the system.

  • Start wiring!

Bryce Nakatani ( is an engineer at Opto 22, a manufacturer of automation components in Temecula, California. He specializes in real-time controls, software design, analog and digital design, network architecture and instrumentation.


Geek Guide
The DevOps Toolbox

Tools and Technologies for Scale and Reliability
by Linux Journal Editor Bill Childers

Get your free copy today

Sponsored by IBM

Upcoming Webinar
8 Signs You're Beyond Cron

Scheduling Crontabs With an Enterprise Scheduler
11am CDT, April 29th
Moderated by Linux Journal Contributor Mike Diehl

Sign up now

Sponsored by Skybot