Numerical Solutions big logo
Frequently Asked

This web page provides answers to some of the many questions involving embedded systems, PLCs, and how Numerical Solutions fits into the product development equation.

The extreme paranoia around Y2K shows how poorly embedded systems are understood by the vast majority of the public and government. Hopefully this FAQ will answer a few questions.

What is an embedded system?

An embedded system is simply a device that contains a computer to provide a very fixed set of functions. Many consumer electronics and office automation products are excellent examples

Less obvious embedded systems include:

The list is essentially endless and to further confuse matters, embedded systems can be part of a larger embedded system. An example of this would be a voice mail system that uses a hard drive to store messages. The single common thread in the examples, is the use of a processor or microcontroller for a very specific, and many times fixed purpose. In fact, if a processor is not used in a general purpose computer such as a PC, Macintosh, UNIX workstation etc., it likely qualifies as an embedded system. Even this test is not entirely accurate since a complicated pieces of equipment may embedded a complete general purpose computer to provide all the features and functions necessary to meet requirements.

Processor, Microprocessor, CPU, Microcontroller ? : In this discussion we use these terms some what loosely and interchangeably, but note that there are some differences. CPU stands for Central Processing Unit and is a term that describes that part of a computer (any computer, embedded or otherwise) that processes information. A CPU may take many forms. All very old computers, many very large computers have their CPU in the form of one or more circuit boards. When all of the CPU is located on a single chip or integrated circuit, it is known as a microprocessor.

The term Central Processing Unit is also somewhat archaic as most modern computer systems do not rely on the main CPU to accomplish all processing tasks. Also some computers may have multiple main CPUs further obfuscating the term "central" in the acronym CPU, thus CPU can be swapped for the more generic term "processor". A microcontroller is a microprocessor with a lot of extras features onboard the same chip as the processor. These added features usually expedite the design process for embedded systems, and thus most microcontrollers are found in embedded applications.

Top of the page

How does a PLC compare to an embedded system?

A PLC (Programmable Logic Controller) is one of the main devices used in industry to implement: monitoring, logic, control, or other events/functions impossible (or to complicated) to be done mechanically. With respect to embedded systems, a PLC is in fact an embedded system running a program to provide the various functions PLCs typically provide. Depending on the particular model of PLC, software running on the embedded system likely includes the following functions:

The list of features varies considerably with the make and model of PLC. PLCs are generally packaged to with a basic set of features, which can be further enhanced via expansion modules. This type of "building block" configurability makes them extremely powerful in solving industrial control problems. However this flexibility comes with a price that makes a PLC less attractive in many OEM situations. PLCs embedded in OEM products likely have many features that will permanently go unused. These unused features add to the cost of the product. PLCs also suffer from very poor cost vs performance ratio's when compared to embedded systems. Further, certain time critical processes are poorly controlled by even very high end PLCs.

Top of the page

What are the advantages and disadvantages of embedded systems?

Developing an embedded system product has certain key advantages that are ideal for many OEM situations. However developing an embedded system is a labor intensive task, and thus expensive. Once the product is finished, the cost of manufacture is usually very low, and the cost of development can be spread over the production volume. This dependency on volume to defray the development costs means it is rarely appropriate for "one off" type products. Exceptions would be products like satellites, rockets, robotics, essentially any complex control situation that merits the expense to gain the unique benefits.

Embedded system also take time to develop, and are always a slower solution than "off the shelf" components. Some parts of the development process are not easily expedited regardless of the size of the development effort. Taking short cuts in the development process will likely lead to extended overall development times since they usually add problems later in the project when commitment to a particular direction is significant. The development of an embedded system has to be managed carefully.

The most profound advantage an embedded system has over any off the shelf product is the ability to closely tailor the product to the design objectives. The embedded system is developed to a specific set of requirements derived from the intended application. In many cases, the embedded system can not serve in any other application without modification. Good embedded system design, almost by default, closely meets the requirements, as the they are the principle driving force in the embedded system design process. An embedded system will easily surpass any off the shelf product with respect to meeting requirements, just by nature of the design process. The product was design for the application.

Embedded systems are an excellent way of publicly protecting proprietary knowledge. A high degree of protection is, by default, inherent in an embedded system. Actively making an effort to secure proprietary knowledge encoded in an embedded system, can make it extremely difficult for others to reverse engineer.

Top of the page

When is it appropriate to tackle developing an embedded system?

This is a very difficult question, but we can touch on some of the points in making the right decision. For many companies, the control product is usually a part of a much larger product. When the control is reasonably simple, and the volume is low (<100), off the shelf standard control solutions are usually the way to go.

Once the control requirements become more complex, production volume increases, or there is a desire to customize further, embedded products start to become more attractive. However there are many ways to develop embedded systems and some ways are more appropriate than others, depending on the company and the product. Here are some of the alternatives.

If the company already makes electronic products, then it may be practical to use internal resources for the project. This may mean hiring additional staff, purchasing equipment etc. Product development becomes an issue of managing the staff effectively to get the job done.

More typical is a company incorporating controls into a mechanical product. If the company is large, they may already have a controls division or they may be interested in buying one. In which case the problem also resolves itself. In far more cases, the company is not interested in becoming involved in the intricacies of fabricating electronic products. However they usually do have a desire to control their own control technology. The delema becomes how to control a product that you do not want to manufacture. Many companies outsource the embedded systems development to a controls company to solve this problem. The controls company essentially encapsulates the customers requests into one one of their standard embedded systems for small products, or develops it from scratch for large products. The potential problems to the comapny outsourcing technology are many, including:

Ideally you want a control company that becomes fully aware of the requirements before designing the product. The control company should also be aware that their customer may not fully understand all the details of embedded development and therefor they should spend considerable effort extracting and resolving the requirements into a focused goal that all parties agree upon. How well this happens determines how successful the product is, and how exspensive the development process is.

Top of the page

Value added by Numerical Solutions.

Numerical Solutions provides two types of services directly related to embedded product development. If the product is low volume (<10000) or is a Numerical Solutions specialty (such as PC pump control), then we can provide all the product development activities to take the idea from concept to final production product. If the desired product falls outside of the our area of specialization, we can provide the necessary consulting to bridge the technology gap that sometimes occurs between a customer and an embedded solutions developer.

More on Numerical Solutions capabilities and development activities can be found by checking out some of the links on the Numerical Solutions home page.

Top of the page