Design Tools

As I re-acclimate myself to the machine building world after my vacation and re-starting my company I am reminded of all of the various design tools that are required to successfully implement a machine or production line. Of course there are the obvious commercial tools that are used in design such as AutoCAD, Solidworks and programming software, but there are a number of things that need to be done before getting to this point.

In a previous post I discussed templates as they relate to PLC programming but there are a number of tools and templates that are helpful in laying out a machine or system. When a project is quoted to a customer by applications there should be a fairly detailed description of the system, what it will do and how it will do it. After receiving a purchase order an excellent tool to start with is a timing chart. This can be done in a software package like Microsoft Excel and should include a sequential list of all of the motions and activities that the various actuators and devices will perform.

Timing Chart – Step 1

As you can see from the above diagram all of the items start at the same point in time. The template I use allows the designer to link the start of any motion to the completion of another motion, similar to a Gantt Chart.

Actuator and Timing List

After entering all of the durations and dependencies into the above table it is easy to determine the cycle time of the machine. Hopefully the machine has been quoted correctly and motions haven’t been left out… this is often where omissions in the applications process are discovered.

This is also the point at which the mechanical and controls engineers can agree on actuator and device names. Because the mechanical designer often fills this chart out without controls input differences can arise in the correct name for a device; as an example extend and retract versus advance and return versus raise and lower. In general I am a proponent of describing the motion of the tooling rather than the movement of the actuator; an air cylinder may retract to raise a lifting mechanism for instance. Sensors are also usually defined here.

Controls may also want to add activities that a mechanical designer may not know about such as communications delays in barcode readers or vision systems or processor and scan time issues. As with most cooperative activities, communications between project team members is crucial.

Another useful tool that I use extensively is an I/O list. After naming and defining all of the motions and devices these must be assigned to I/O points on the controller. Since most of the systems I design use PLCs and HMIs or computer based operator interfaces, the I/O list is usually in a rack and slot type format.

The I/O list I use goes far beyond a simple assignment of actuators and sensors to points. I use a list modified from an Excel spreadsheet used at Wright Industries that generates AutoCAD descriptions, creates tagnames and descriptions for HMI Pushbuttons and Indicators, automatically creates some of the faults, messages and alarms, and even generates PLC code for import into a prepared template. This saves a tremendous amount of time on the front end of the design process since once a tagname or description has been generated it never needs to be typed in again but can simply be copied.

IO List and Tag Generator

Excel lends itself to designing your own tools because of its capabilities to concatenate text and write VB and other Macros to accomplish tasks. The ability to format cells and fill series also saves quite a bit of time. Not to mention the fact that nearly everyone in the automation field has it installed on their computer!

Other tools that I use in preliminary design include Microsoft Visio for flowcharting, MSProject for scheduling, AutoCAD and MSPaint for graphics on HMIs or layouts, and a variety of other spreadsheets for electrical loads, mechanical stresses and BOMs. All of this before even beginning to program or draw!

The other important use of these tools is to share information between team members. It seems like jumping straight into design or programming if you are working on part of a project by yourself would save time and give you a head start but that is simply not so. You never know when you will need to share this information with others, including the customer, or have a member added to your team. Even if you don’t have prepared tools such as those described above it is a good idea to document your design elements as you go using spreadsheets, text documents and graphic tools. I promise they will save time in the long run!


Electrical Engineer and business owner from the Nashville, Tennessee area. I also play music, Chess and Go.

2 Comments on “Design Tools

  1. Automation is a broad field. I don’t do timing charts, because typically my machine’s actions depend on what the customer defines for a particular part.

    There are at least three quality, free AutoCAD clones (DraftSight (which I’m using), DoubleCAD (which I’ve used), and NanoCAD) which are worth checking out.

    For writing lengthy technical manuals, I think OpenOffice/LibreOffice Writer is significantly better than MS Word (because of its superior style support and less wacky formatting), although it’s certainly not perfect.

    I use PortableApps a lot; PortableApps and its competitors are software that can be run from a USB stick. So I can plug my USB stick into a computer, start PortableApps, and then access all kinds of apps without having to install or uninstall anything.

    There are many better programs than MSPaint. I use IrfanView a lot for screen captures, resizing, and such. I’ve been using Paint.NET a bit; I have mixed feelings about it, but it’s free. I like Photoshop (PS Elements is affordable) but don’t like GIMP.

    There’s another class of program every software developer should use: version control software. Version control works best with text files, but it’s still worth it for binary files. Some of the open source systems, such as subversion, git, and mercurial, are top notch. I suspect subversion is the best choice for most automation companies; it’s the most mature, has excellent documentation, and runs well on Windows (unlike git).

    I still need to replace our old schematic software (which died, and is too out of date to be updated).