OPC – An Introduction

OPC-Part-1
Not many people know my background and history. In reality I’m just an Italian dirt farmer.

My father and all of his predecessors made their living off the land. They scratched out a measly living by growing tobacco on the incredibly picturesque Italian countryside. It was a brutal life. Little if any eduction. Heat, cold, humidity and drought. Predators both animal and human abounded.

Luckily for me he came to America and I was able to escape that life. But at heart that simple Italian peasant life still burns within me.

Maybe that’s why I prefer simplicity and why I love simple ideas, simple explanations and driving complexity out of automation devices in Industrial and Building Automation. That’s why my flagship product, The Barcode to ControlLogix Device Converter, is such a huge hit.

I loved those old simple PCs when they first came out. I remember the first XT box. I remember the first AT box (one of the Vice Presidents at Kimberly-Clark grabbed it for himself).  I’ve been around through the whole evolution. Dos to Windows 1.0 to Windows for Workgroups to 98 to NT and all the rest. It’s an unbelievably long list when you start listing all the Microsoft incantations over the years.

Things were much simpler in the old days. You put a program in a directory and clicked on it and it ran. You didn’t want it anymore, you deleted it and it was gone.

One of challenges of the early years was that there was no way of communicating between two windows programs. That kind of facility actually appeared pretty early in the Windows development cycle. In the early Windows versions, they put in something called a “Windows Messaging Layer”.

I would bet that that layer was an outgrowth of a UNIX mechanism call “PIPES”. Popes used the “|” character to “pipe” output from one program to another. It was pretty crude. All the print output of a program was piped to the input of another program on the command line. It looked like this:

C:> dir *.txt | list

List was one of my favorite programs. All it did was take the output of a program like here, the directory command, format it and display it so that a page of output would fit on your screen and you could hit a key to see the next page. That doesn’t sound like much but if you had a directory with 500 files, there wasn’t a good way to see view all the file names (It gives me the shivers to think about those days).

But in Windows 2.0, Microsoft provides us geeks (I was a geek back then) a way to send data from one Windows program to another. And better yet, we could pass data into a Microsoft program. Now people could collect data, interact with a user and pass information to a program like Excel that could display the data with it’s advanced charting and graphing facilities.

That facility was DDE – Dynamic Data Exchange – and it was also pretty crude. It failed a lot. It was hard to use and it wasn’t network enabled, mostly because there weren’t many computers on networks.  But it got all of us started on the road to sophisticated open communications among processes distributed across a network and the world.