Merging modern software development with electrons and metal
Random header image... Refresh for more!

Posts from — August 2013

Automation Trends I Want To See

Here are some factory automation trends I’d like to see:

  1. Much more adaptation and appropriate use of modern software development techniques such as version control, design patterns, functional programming, unit testing, automated testing, model based design, hierarchical state machines (state charts),  and agile software development.
    1. From what I can see, most automation developers still aren’t borrowing from the best of mainstream development techniques.
    2. A big reason I started blogging was to promote these techniques.
  2. Use of modern programming languages.
    1. There’s been some progress here with more use of PC’s in automation and companies such as Beckhoff supporting the use of Visual Studio.
    2. There’s been some progress on the PLC front: IEC61131 isn’t remotely comparable to .NET, but it’s a big improvement over the past.
  3. Fewer poorly designed, vendor-specific programming languages.
    1. This is a pet peeve of mine, since I’ve had to deal with way too many.  Modern ICs have advanced far enough that we shouldn’t have to keep reverting back to 1970’s-style programming languages.  If nothing else, please use IEC61131 with PLCOpen for motion control.
    2. Unfortunately, this problem isn’t going away, but at least with companies such as CoDeSys widely licensing IEC61131 software, it hasn’t gotten worse.
  4. Advanced automation programming books.
    1. The basic problem is there aren’t any.
    2. There’s a chance Frank Lamb of Industrial Automation: Hands On fame will improve the situation.
  5. Widespread kinematics in motion controllers.
    1. This really is a trend, especially in controllers targeted towards the packaging industry, and it’s a good thing: we have enough cheap computing power that we don’t need to treat linked axes as a bunch of unrelated axes anymore.
  6. “Everything” on industrial networks (fieldbus and Ethernet) at a reasonable price premium.
    1. The situation is getting better, except for the price premium.  I’ve recently seen more unusual networked components such as barcode readers, smart cameras, and laser distance sensors.
    2. Of course, if you’re trying to get all these devices to work on the same network, your options shrink dramatically.
  7. “Everything” on industrial real time networks (fieldbus and Ethernet – such as CANOpen, EtherCAT, and Ethernet PowerLink) at a reasonable price premium.
    1. Other than servo drives, there are a lot fewer components available for the real time networks.
  8. Fewer standards, but still some variety.
    1. It’s hard to have one standard that adequately meets all the varied needs of the wide world of automation.  For example, in Ethernet there are major tradeoffs between use of standard components, robustness, and real time capabilities.
    2. But  there are way too many standards.  In Ethernet, 2-3 industrial standards should be plenty.  I think we’ll have to live with 5-6 (Ethernet/IP, Modbus TCP, Profinet, EtherCAT, Ethernet PowerLink, and maybe CC Link IE, which is sort of Ethernet (PHY only), which is manageable, but there are at least 20.  And too many companies still invent their own serial protocols (RS232, RS485, CAN, etc) instead of using a standard.
    3. I guess all these standards is good for the makers of gateway devices…

End of rant!

In between my Robot Primer posts, I will highlight some cool networked devices.

August 29, 2013   No Comments

Robot Primer 7: Robot System Overview

The typical industrial robot is an integrated system consisting of:

  • The robot arm. Common types include articulated, SCARA, cartesian, and delta.
  • The robot controller, which typically includes the servo amplifiers, controllers, interfaces, and I/O.
  • Teach pendent – for maintenance, teaching points, debugging, and limited development.
  • Development software. OK, you can develop on the teach pendent, but for anything serious you need to use PC-based software.

The end effector is the equipment mounted to the end of the robot arm. Typically the system integrator develops a custom end effector for the specific application with devices such as suction cups, grippers, welder equipment, or cameras.

The robot needs to be supplied with electrical power and often compressed air. Very small robots can use 1 phase 120VAC or 240VAC power; however, most robots require 3 phase 240VAC or higher electrical power. Compressed air isn’t always required; some robots need it to balance their Z axis (to counteract gravity), and it’s often used by end effectors such as pneumatic grippers and pneumatic vacuum generators for suction cups.

Some small robots can be mounted upside down. The advantage is that the robot has a larger clear area, however, the mounting will be more difficult.

Another way to add flexibility is to mount the robot on rails so it can move from station to station.

August 26, 2013   No Comments

Robot Primer 6: Why Use A Robot?

A solution using an industrial robot is often a much easier to develop and more flexible solution than traditional approaches such as using a motion controller.

The major reasons why the robotic is quicker to get running and more flexible include:

  • The robot is an integrated system so you can plug everything together, turn on the controller and start moving using the teach pendent within hours.
  • The robot controller uses inverse kinematics. Kinematics is the physics of motion. Inverse kinematics is the use of kinematic equations to determine how to move the robot’s various mechanisms to where the controller wants.
    • In other words, the robot knows what axis or joints it has, their dimensions, and how they are connected. So you can tell the robot to move to an arbitrary position (including roll, pitch, and yaw for articulated robots) in space and it figures out how to get there.
  • Many of the robot advantages follow from the inverse kinematics. Normally, you teach positions to the robot. Those positions can then be used to rapidly program moves and paths, to calculate intermediate positions for palletizing, and such. The robot can transform positions in various ways that make using machine vision and multiple end effectors easier.
  • Other productive robot features include single step mode, single cycle mode, automatic recovery from interruption, and variable synchronized speed.

August 5, 2013   No Comments