High Tech Services is a systems integrators in North Carolina NC for industrial, laboratory, factory automation, controls, monitoring, quality and information systems   Home   Products   Contents   Search   Contacts

ASP.NET asp dot net

Bar Codes

Books

C # sharp

CE.NET Compact Framework

Communications

Computers

Control Engines

Data Acquisition

Databases

Enclosures

ERP Framework

Factory Automation

History

Image Analysis

Infrastructure

Inputs Outputs I/O

Machine Vision

mechanical & machine design

microscopy

Miscellaneous

Motion Control

Motors & Drives

.NET

Networks

OPC OLE Process Control

Operator Interfaces

PDA Pocket PC Windows Mobile

Peripherals

process control

Power & Grounding

Products

Programmable Controllers

Quality Control

Radio Frequency RF Tags

Reference

Robots

Safety

SCADA

Signal Conditioning

Soft PLCs

Systems Architecture

Tools & Equipment

Training

Tutorials

Vertical Applications

Visual basic

 

Our Thoughts Regarding the Solaia Patent

 

We have been hearing more and more about the Solaia Patent and how it effects many manufacturing customers.  We don’t claim to be patent attorneys or experts on the patent process -- only about 25 years of manufacturing and automation experience and 15 years experience with patents.  Therefore we would appreciate any ideas others may have – please post your thoughts on our message board (button in left hand column). 

Note that the original patent was issued to Mr. Roseman, who assigned the rights to Square D, which has some arrangement with Solaia. 

 

Our Experience Regarding Patents

Many patents are granted for things that are not new.  Likewise, patents are denied for claims that are strikingly similar to patents that are later granted.  To cut through the BS, it appears that if you have enough money to pay a patent attorney, and you go through enough revisions of your patent application, then you will get whatever you want patented.  That is why large companies typically get patents on whatever they deem patentable, but the individual inventors, without a patent attorney, do not. 

Just because a patent is granted, does not mean that the patent will hold up in court.  Often the patent office grants a patent to a patent attorney figuring that the courts will make the final decision on whether the patent is indeed valid. 

Our opinion is that this patent will not stand up in court since:

  1. Mr. Roseman's (the patent owner's) only claim should be for @ functions that directly read and write a PLC using Lotus 1-2-3.  Since no one is now using Lotus 1-2-3 -- this patent should be worthless. 
  2. We don’t see how using the specific words “PLC” or “spreadsheet” constitutes anything new or improved.  “PLC” and “spreadsheet” are nothing more than a type of computer and type of software that are communicating with each other. 
  3. There were other companies already making SCADA software that talked with PLCs at the time.
  4. There were numerous PLC communications links with software that read from and write to the PLC. 
  5. Mr. Roseman talks about device drivers and DDE, stating that they are not desirable and that his invention eliminates them.  In Our Humble Opinion -- that is basically what OPC is -- a device driver that is an enhancement of DDE / OLE. 

 

What is Patentable?

Let’s start with the definition of what is patentable (from the US patent office www.uspto.gov):

 “In the language of the statute, any person who “invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent,” subject to the conditions and requirements of the law. The word “process” is defined by law as a process, act or method, and primarily includes industrial or technical processes. The term “machine” used in the statute needs no explanation. The term “manufacture” refers to articles that are made, and includes all manufactured articles. The term “composition of matter” relates to chemical compositions and may include mixtures of ingredients as well as new chemical compounds. These classes of subject matter taken together include practically everything that is made by man and the processes for making the products.”

 

Patent Review

Let’s review the patent in question, patent number 5,038,318:

(click on the blue number above or copy the URL below and paste into your browser).  Please be patient their computers hold an enormous amount of data and often take 30 seconds to load. 

http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PALL&p=1&u=/netahtml/srchnum.htm &r=1&f=G&l=50&s1=5038318.WKU.&OS=PN/5038318&RS=PN/5038318

 

Patent Claims

We apologize if this webpage sounds like we are rambling -- every time we review the patent we read something different.  In other words -- we don't feel that Mr. Roseman made a clear and definitive statement of what he was claiming. 

For example, Mr. Roseman states in his patent application:

Title: "Device for communicating real time data between a programmable logic controller and a program operating in a central controller"

But he also states:

  1. "Programs have become available that strive to provide this real time exchange of information in controlling, monitoring and analyzing processes and instrumentation."
  2. "The PLCs have been linked together in networks over co-axial cable to co-ordinate the operation of an entire manufacturing or processing plant."
  3. "The user also writes a device driver program for the personal computer that facilitates the operating system program to communicate with the circuit card interface. The user then installs a commercially available information acquisition program to transfer the desired information between the operating system program and popular and commercially available spreadsheet, data base and analysis programs. The user then exercises control of the manufacturing processes from the spreadsheet, data base or data analysis program through the information acquisition program."
  4. "The invention furnishes a program or instruction means that operates through a general purpose spreadsheet program to effect information transfers to and from the addressable registers of a PLC and assigned cells of a displayed spreadsheet directly from the spreadsheet program and without transfers through the operating system program or a specially written device driver program."

And cites as a reference:

"Microsoft Systems Journal, "Interprogram Communication Using Windows' Dynamic Data Exchange", vol. 2; No. 5, Nov. 1987, pp. 13-26 and 33-38."

We think that the only claim Mr. Roseman can make is:

Reading & writing data directly between a PLC and Lotus 1-2-3.  No device driver type of software (which OPC is).  No writing data to some database or file and then loading back into Lotus 1-2-3. 

This is supported by Mr. Roseman's patent application where he claims (in addition to the previous quotes cited):

  1. "the calculation of the arguments contained in the cells of a spreadsheet program cannot directly move information between addressable registers of a PLC and the cells of a displayed spreadsheet"
  2. "The invention furnishes a program or instruction means that operates through a general purpose spreadsheet program to effect information transfers to and from the addressable registers of a PLC and assigned cells of a displayed spreadsheet directly from the spreadsheet program and without transfers through the operating system program or a specially written device driver program."
  3. "every transfer of information to and from the spreadsheet, data base or analysis program must occur through menu selected keystroke commands". (In other words data was saved in a file and then you start Lotus 1-2-3 running, and using Lotus 1-2-3 commands, you load the data into Lotus 1-2-3). 
  4. "The invention provides single @ function WRITE commands in cells in the displayed spreadsheet to transfer information contained in that cell or information contained in relatively addressed cells to be written into desired and addressed PLC registers. A single @ function READ command in cells of the displayed spreadsheet causes the addressed PLC to transmit the information contained in certain addressed registers directly into that cell or relatively addressed cells in the displayed spreadsheet."

In all we counted 64 references to "@" functions.  "@" functions are how you get Lotus 1-2-3 to execute commands. 

We doubt companies that are being sued are using Lotus 1-2-3 spreadsheets to read and write PLCs so we assume that Solaia is trying to expand their claim beyond Lotus 1-2-3.  So therefore we assume that most companies are being sued for these additional claims. 

  1. Reading & writing data between a PLC and a spreadsheet (like Microsoft Excel)
  2. Communicating real time data between a programmable logic controller and a program operating in a central controller
  3. Any PLC reading and writing any database. 
  4. Other SCADA functionality

 

Background

Since computer programs were already talking to PLCs, uploading, and downloading data, you would think that a claim about PLCs and spreadsheets would not hold up.  By 1987, not only were Modbus (Modicon), CCM (GE FANUC), TIWAY (Texas Instruments), and DF1 (Allen-Bradley) in common use, high-speed networks such as Modbus Plus and Data Highway Plus were also in use.  There was obviously software for interfacing to PLCs and many programs written.  In our opinion, Mr. Roseman acknowledges all of this in his patent application. 

If you glance through the proceedings of any factory automation conference or journal of 1987 or before, they are all talking databases, communications, and integration from mainframes (current ERP systems) down to the factory floor.  Some specifically mention PLCs.  Some discuss systems that have already been developed. 

People were already reading and writing data to / from real-time controllers and PLCs using databases.  In fact, our records show that we were using an IBM PC to read and write databases in factory automation in 1984.  I  worked with a group at Texas Instruments in Johnson City, TN in 1985 that developed a system tying manufacturing databases into automated lines, controlled by PLCs. 

One last side note for all of you young whipper-snappers.  Lotus 1-2-3 was a spreadsheet developed in 1982/1983 that was used by everybody -- like Microsoft Excel is today. 

 

Primary Claim (PLC and Lotus 1-2-3)

If you read the actual patent, every discussion and every drawing includes references to a Lotus 1-2-3 spreadsheet or spreadsheet cell.  Mr. Roseman acknowledges in his patent application that many other types of software programs are already reading and writing to real-time controllers (PLCs).  What he is stressing is Lotus 1-2-3 spreadsheet function calls -- specifically @read, @write, etc.  Referring back to the definition of what is patentable – it has to be new and useful

  1. Regarding new -- it is doubtful that Mr. Roseman was the first to interface a spreadsheet to a PLC.  Everyone was doing the same programming at that time (getting Lotus development kits and writing their own functions).  We cannot find the exact code and dates that we developed, tested, and rejected this same idea.  So we don’t know if we can claim prior development.  The point being that many were doing this exact thing. 
  2. Regarding new -- Any survey of literature at the time shows that tying of plant-floor controllers to the rest of the computers and databases in a factory was not a new concept in 1987.  Some even specifically mention PLCs. 
  3. Regarding new -- There were other companies that had SCADA packages and many developers wrote their own programs to read and write PLCs. 
  4. Regarding new -- Whether a spreadsheet is all that different from other programs running on a computer.  If using a spreadsheet is different enough from other programs to be patentable, then shouldn’t Wonderware, Intellution, FactoryLink, Labview, all get patents for talking to a PLC?  For that matter, every custom application written should be able to get a patent for talking to a PLC – which becomes ludicrous. 
  5. Regarding new --  Is using the phrase “PLC” instead of “real-time controller” or simply "controller" a reason for granting a patent?  Isn’t a PLC just a special purpose computer?  There are many different types of controllers, a PLC is but one type, and therefore if the “PLC” is part of making qualify as “new” or an “improvement” is not justified.  For example, should separate patents be granted for tying spreadsheets to PLCs, computers, real-time controllers, embedded controllers, soft PLCs, I/O (without a controller), etc? 
  6. Regarding useful -- We, and others, did the same exact thing, evaluated the results, and properly surmised “why would people prefer to use a spreadsheet to control a process when they can have an operator interface program developed specifically for their application?”  Since 15 years later – hardly anyone uses a spreadsheet, much less Lotus 1-2-3 -- they use VB, C#, Intellution, Wonderware, etc. -- we concluded then and again now that there is no "useful improvement". 

We feel that Mr. Roseman is correct in that the Lotus 1-2-3 development kit does allow a programmer to write @read and @write functions that communicate directly with a PLC instead of loading data from a file or going through device drivers.  Whether he was the first to do this, whether this is "useful", whether this even matters now that Lotus 1-2-3 is no longer being used, whether you can get a patent on PLCs and Lotus 1-2-3 (when people are already doing real-time controller and PC communications) ...

One interesting additional note / question.  Suppose Mr. Roseman wanted to talk to an Allen-Bradley PLC, a Square D PLC, a Modicon PLC, a GE PLC, and a TI PLC.  How would he do that without writing the equivalent of device drivers for each PLC?  Mr. Roseman argued that device drivers were bad -- and his invention does not require them.  But how would he talk to different PLCs without device drivers?

The purpose of device drivers (such as OPC) is to allow a program, let's say a spreadsheet, to talk to a PLC.  Instead of having a different spreadsheet program for each type of PLC, a single spreadsheet program talks to one of the device drivers which talks to the PLC.  It seems to us that Mr. Roseman would have to write different sets of @ functions -- one set of @ functions for each PLC.  Wouldn't each set of @ functions be the equivalent of a device driver?  Whether the @ functions are running under Lotus 1-2-3 or under the operating system should not matter. 

 

Secondary Claims

Mr. Roseman acknowledges in his patent application that many other types of software programs are already reading and writing to real-time controllers.  There are many papers published on this and actual systems developed prior to Mr. Roseman’s patent application.  There were at least two companies, Iconics (Genesis) and Labtech that were developing or selling SCADA products (programs that read and write PLCs) at that time.  To us, these secondary claims should all be immediately dismissed. 

 

Summary

Mr. Roseman used the Lotus Development kit to write code that interfaced Lotus 1-2-3 to a Square D PLC.  In our humble opinion, this is the only real claim that he can make -- a Square D PLC talking directly to Lotus 1-2-3 via @ functions.  First, Lotus 1-2-3 is no longer around and this patent should therefore be null and void.  Second, we think that we, and others, did the same thing in 1987 and rejected the idea as inferior to regular programs.  In other words, we don't think using Lotus 1-2-3 to talk to PLCs is "useful" ("useful" is a requirement for a patent to be issued) since 15 years later hardly no one uses a spreadsheet, much less Lotus 1-2-3 to interface to PLCs. 

Other controllers and computer programs were already communicating with PLCs and other real-time controllers.  Mr. Roseman refers to Microsoft's DDE specification in his patent application.  Is this not showing prior art that Excel (a spreadsheet) and other software can use DDE to interface to PLCs?  In our opinion, OPC is simply a new and improved version of DDE / OLE device drivers, which Mr. Roseman's invention disdains. 

There was other SCADA software already developed that talked with PLCs.  How could Mr. Roseman talk to other types of PLCs without device drivers? 

Mr. Roseman's invention was to interface Lotus 1-2-3 directly to a Square D PLC.  We can understand (but not agree with) a claim against anyone using Lotus 1-2-3 to read and write Square D PLCs.  All other claims seem completely unjustified. 

 

We try to offer a fair and balanced opinion on every page of our website.  We would appreciate more information from other OPC users to express their opinions which we will then incorporate.  If you have questions or comments please post them on our message board (see button in left hand column) so that others can read and benefit. 

OPC OLE for Process Control factory laboratory industrial manufacturing automation systems  

Click here to find out how High Tech Services can help you implement this technology. 

Copyright © 1984-2005 CompanyLongName HTS, Cary, Raleigh, RTP, North Carolina, NC.  All Rights Reserved.  All trademarks are the property of their owners. Prices and specifications subject to change without notice.