If you’ve arrived at this site, you may have linked from an equipment vendor site or some technical search, and are looking for assistance with controls, instrumentation or automation engineering in some way. This page provides some specifics as to how I work with our clients and also the types of projects and work that Raynes Engineering has done over the years.
How I Work with My Clients
I am an instrumentation and controls design engineer, at the circuit, software, embedded and system level, and also work as a skilled automation systems integrator and troubleshooter. Most of my engineering work over the past decade has been automation and controls work associated with various manufacturing operations. I also have extensive experience in medical electronic product design and test, and also have knowledge of photovoltaic power systems design.
My major projects are fairly evenly split between new designs and upgrades. On most of my projects, I do most all of the system-level architecture design and detailed plan drawings, in addition to the controls and supervisory level programming. Alternatively, I can function very effectively as a temporary extension to your existing design team, performing some but not all of the above duties as your immediate needs require.
I don’t operate as a turnkey control panel shop, with a few minor exceptions. Given that upgrade work tends not to be clean drop-ins that are fully assembled and tested off-site, anyway – there is a lot of on-site “rip-out and re-configure” – it’s usually better in those cases to coordinate with your existing personnel for the assembly/construction-intensive portions of the project. I do have the ability to fabricate and assemble small-scale control panel assemblies from start to finish, wired to your specifications or mine, if necessary in special cases.
Part of my role is to be an engineering consultant, conducting technical surveys and developing recommended solutions and/or specifications, but my involvement is not that of a typical consulting engineer. I am a top-notch troubleshooter of complex automation systems and processes, and enjoy diving “feet first” into old, often poorly-documented equipment or systems to figure out what’s going on. Many of my best projects started like this – an existing system had to be reverse engineered in order to determine the “specification” for a long-overdue upgrade, which I then designed and implemented for the client. Not all consultants are willing or able to work in this manner. When I get involved in solving a thorny problem, I like to be part of the design and implementation team that follows things through to a successful completion.
I’ve designed and implemented real-time Ethernet-based control solutions for close to 15 years, all of which continue to successfully perform to their intended specifications with virtually no network related disruption or downtime. I’m not an information technology (IT) or network systems specialist, but I have developed a good sense for how to do Ethernet designs and implementations in ways that don’t overuse critical network bandwidth, causing unpredictable system performance. I function quite effectively as a bridge between control engineering groups and IT departments.
I’m not at my best as a pure desk/cubicle jockey, but work best when I’m spending extensive hands-on time observing and understanding the finer points of operation of all components of the control design. The greatest job satisfaction for me comes from the on-site start up and fine tuning of a well thought-out automation and/or process design.
I always try to “bring my clients along with me”, transferring to them what I’ve accomplished and learned over the course of a project, with the intent that they can maintain and extend my work on their own in the future. I also provide continuing support for my own work over its life cycle to the extent I am able, when clients desire me to do so.
I provide hardware/software design, programming and integration for automation of work cells and lines, for test and data acquisition/logging stations, and for other various measurement devices and products. I will do turnkey control panels on fixed bid, but usually my design, software and integration services are provided at a daily or hourly rate as agreed upon at the start of a project or working relationship.
Primary Technical and Platform Skills
I’m an automation and instrumentation “generalist”, with strong capabilities in sensor design and specification, electronic and electrical design, systems design, and software design and programming.
I do a lot of controls programming, both machine I/O and supervisory level, using PCs, PLCs, and traditional industrial operator touchscreen terminals (HMIs). For many years my PLC control programming was primarily done in ladder logic, with custom supervisory PC interfaces written in Visual Basic 6, using vendor interfaces, libraries and protocols as available and appropriate for the application. This is all changing now, with the evolution of PC programming languages, the evolution of PLCs toward Programmable Automation Controllers (PACs), and the proliferation of low cost touchscreen mobile devices and tablets, that communicate over wireless networks using standard web protocols.
Since VB6 was retired (killed?) by Microsoft, there has been much debate as to whether VB.Net, C#.Net, Java, C++, etc. or something else would be the best new “standard” for custom PC-based industrial applications. This has largely become a moot point in my view. The move to XML and web services and protocols, combined with the increasing ability of PACs to directly support these protocols without the need for PCs, is diminishing the influence of (and need for) PCs and PC-based languages in industrial applications. Windows PCs will not disappear from automation systems, but they will be used less and less. Better architectures are emerging in the control realm.
For very large (i.e. plant-wide) complex control systems, big UI software packages such as RSView and Wonderware have their place, but seem to have been way oversold in smaller applications. Labview is great, I suppose, if one is a flowchart programmer but I most certainly am not. I find all of these platforms to be overly resource-intensive and slow, making it tough to write crisp, responsive user interfaces. I’ve used some of them but can’t justify the license costs on my own. Licensing costs alone can exceed the custom application programming costs for many jobs, and the packages are no less complex to learn and apply effectively. If you make investments in those types of packages, you should consider whether or not you can dedicate enough key technical staff time in order to see your investment pay off.
My programming education started with writing micro-controller assembly code. C programming is required for many embedded platforms, and I will use as needed. There aren’t many tasks in the control programming realm that I will shy away from, with the possible exception of complex numerical algorithms normally handled by computer science specialists. I would much rather dig into a machine control programming task in C or assembler than a similar task in block diagram or function block style code.
I’m skilled in detailed database design, as well as dynamic SQL querying from real time control nodes, but try to stay out of company database server implementations. Again, web services are a better alternative to remote SQL database connections, when transferring information between the shop floor and central data stores. Whenever a sockets connection/TCP stack is available, very little if any additional overhead is required on the client side.
At this point I have over a 15 years experience in implementing automation with real time Ethernet and RS-232 serial communications. I have used standard protocols through various DLL and OCX layers, and have also designed and programmed my own sockets and serial ASCII messaging protocols as needed. These real-time communications solutions have been PC/PC, PC/PLC and PLC/PLC.
I’ve written my share of crazy embedded string handling and file parsing code, enabling various instruments, controllers, computers and software programs to communicate with each other in ways that no one realized was possible. Of course, it’s easy to get carried away with these types of solutions. On the other hand, just by knowing where to place a few lines or a page of string handling and decoding logic, my clients have been saved hundreds of thousands of dollars over the years in the avoidance of expensive equipment upgrades.
My hardware skills also include analog circuit and interface design, especially low-level DC to low frequency AC applications. I am a skilled sensor interface designer and have patents for temperature compensation of pressure transducers. Lately I have been doing a lot of work with the ZMDI family of pressure sensor digital signal conditioners.
Below is a non-exhaustive list of various software design tools, programs, platforms, and technologies which I have utilized effectively, both currently and in the past. I have written custom software for interfacing to hundreds of different intelligent instruments, meters, gauges, machine tools, motor controls, PID controllers, bar code scanners, etc., too numerous to mention here.
Electrical Hardware Design:
- Autocad LT and Turbocad Professional
- Also competent with Autocad Electrical although I do not maintain a license.
- Cadsoft Eagle Versions 6.6/7.x Schematic Entry and PC Board Layout Software
General Software Development:
- Microsoft Visual Studio
- Office VBA, Microsoft Access, SQL Server
Embedded Software Development:
- Laird BL600/Nordic Bluetooth Microcontrollers
- TI MSP430 Microcontrollers
- ZMDI Sensor Signal Conditioners
Automation Hardware/Software Development:
- Automation Direct DL05/06, DL205/260 PLCs Do-More, Click PLCs,
C-More, C-More Micr0 HMIs
- RSLogix PLC-5, SLC-500, CompactLogix controllers and HMI
- Omron PLCs and HMI
- Variable Frequency (VFD), Stepper, and Servo Drives
- Cognex Barcode Imaging Scanners/Dataman Software
- Campbell Scientific dataloggers
- National Instruments NI-DAQ and related programming interfaces
Interface/Communication/Control Busses and Protocols used for Real Time Control:
- Ethernet – TCP/IP Sockets Messaging, Ethernet/IP, Modbus/TCP, Koyo ECOM
- Serial: RS-232, RS-485, Modbus/RTU, AB DF1
- Other: IEEE-488 (GPIB)
Descriptions of Past Projects
Warehouse Multi-Crane Material Load/Unload Control System
This was a recently completed system of mine, involving a wide range of networked PLC and PC communications, both Ethernet and Serial. The system manages a set of four load and unload stations each, for four separate two-story material storage cranes. There are two sets of communications between the cranes and the load/unload controls, one set for hardware handshaking, another for information transfer about pallets in transit. The hardware handshake link was specified by the crane vendor as Allen Bradley Tag-based Ethernet/IP, but my client wanted the controls implemented in Automation Direct PLCs, to realize a substantial hardware cost discount. The solution was to use a small CompactLogix PLC as an EIP to Modbus Gateway. A small Automation Direct PLC handles the initial communication with the AB PLC, and then sends appropriate tag data across a dedicated Automation Direct ECOM network to individual DL205 PLCs, one associated with each crane.The informational data link to the cranes required implementation of the vendor’s custom sockets ASCII protocol, beyond the capabilities of the PLCs. A supervisory Windows PC was therefore incorporated, with a communications program written in VB6. This program handles the sockets communications with the crane controllers, allows for the necessary supervisory display and control of information at that point, and then sends information to the individual station PLCs (for display on the local operator touchscreens) through a PC-PLC link implemented using the Host Engineering SDK for Automation Direct PLCs.In this system I was responsible for the entire hardware, software and user interface design and implementation, from the top level down through all details, up to the crane communication protocols that were specified by the vendor. The client fabricated and assembled the control panels on site to my engineering layout and schematics.
Click on the thumbnails below for samples of some of the block diagrams drawings of the system.
PLC-Based Package Dimensional Measurement Station
This next project is far simpler in scope than the one above. My client came up with the initial idea and first-pass implementation, but needed assistance in developing and refining the concept, and integrating with their shipping processes. The scheme uses three sensors (for height, width, length) to measure package dimensions. They were adopting a new type of shipping software company-wide, and we worked with the shipping software vendor to establish a means of sending the dimensions over an RS-232 link to the PC on which the shipping software runs. Since the client had started the implementation with an Automation Direct DL05 (one of the simplest, lowest cost PLCs on the market), I wanted to see how far we could take things without needing to upgrade to a more powerful processor. We needed to implement the transfer of package dimension data with a user-defined ASCII protocol: incorporating DL05 drivers in the shipping software would have been too involved. The DL05 has one limitation – its user-defined ASCII protocol only transmits and doesn’t receive. This was OK, in that we devised a simple continuous broadcast protocol of the package dimensions, with a string to indicate when no package was detected. The scheme has worked well, using just over $200 in PLC hardware and modules. A $150 4-line operator text display provides machine status, through the second built-in RS-232 port on the PLC. Even using the lowly DL05 I was able to implement signal averaging and stability threshold validation using rolling V-memory buffers managed by pointers in ladder logic. I added the means to support an alternate C-More Micro touch display, which connects in place of the normal text display, for troubleshooting, calibration and tuning.