MatrikonOPC OPC Exchange

Archive for February, 2008

Live from OPC Technical Seminar

Thursday, February 28th, 2008

Hello from the OPC Foundation Technical Seminar at sunny Long Beach, CA.   I’m working.  Really.   I had meant to blog a little bit all day, but of course things always turn out to be busier than expected.   There was a great turn out of end users representing such industries as pharmaceutical, petrochemical, refining, steel manufacturing and many others.  There is also a good sampling of system integrators and OPC vendors.  The presentations covered the standard gambit of OPC Basics, OPC DA, HDA, A&E and OPC UA, OPC Certification and several talks focusing on OPC architectures and the problems they solve.   I’d say the presentation on OPC HDA was the most interesting, but since I gave it, I’m hardly an unbiased source.  :)    If you were one of the many readers who were there, feel free to leave a comment on which presentation you particularly liked.

Personally I enjoy the chance to talk with end users, and hear how they are using OPC.   No matter how many seminars or training courses I attend, I always hear of someone using OPC in a new way.   There where the usual queries on how to overcome cross-domain issues, guaranteed data delivery architectures and accessing OPC on non-Windows platforms, but also some new ones.   One user was looking for an OPC A&E client to notify management whenever one of the dozen emergency showers in their facility is activated.   When one of these things are used, it’s generally not a good scenario.  When working as a summer student at a chemical plant, I once had a 5 gallon bottle of fuming Sulfuric Acid explode in my hands.   Even when wearing safety goggles, air respirator and industrial work cloths, I was glad the emergency chemical shower was only steps away.  I survived.  My gloves didn’t.

Accidents can happen and OPC be used to monitor and notify users when they do.  Better yet, OPC is a key component in any preventative maintenance system, which can help to avoid accidents in the first place.   Speaking of accidents, I wonder if we will ever find out what really happened at FPL this week.  Anyone out there hear the real story?

Flattened Tires x11

Wednesday, February 20th, 2008

This post really doesn’t have anything to do with OPC, but there is a thread of the same name going on Control.com that is just too funny.  It actually starts out as a serious question from a guy who’s had the air let out of his tires 11 times, and is looking for advice on motion detection technology.  The topics range from the legalities of electric fence devices, to human nature to a cockatoo that wanted some not-so-fresh air.  Who said techies can’t be funny?

I wonder if OPC could be used in this case.   My last rental car would display the tire pressure on the dash, and even warned when they where too low.  Handy feature since the left rear tire did have a slow leak.   I’m sure it’s possible to write an OPC server for the on-board computer.   (I know MatrikonOPC has written servers to pull real-time maintenance data off Detroit Diesel, Caterpillar and Komatsu engines.)   Then all you would need is a smart OPC client, like the MatrikonOPC Messenger to text you when the tire pressure went out of tolerance.  Bob’s your uncle and you got the guy… or cockatoo.   Of course a motion sensitive wireless webcam would work too, but wouldn’t be nearly as much fun.

Speaking of fun, just a reminder of the OPC Seminar in Long Beach, February 27th.   I’m looking forward to chatting with a few of you over ‘refreshments’ after the seminar.

OPC and the OLE Automation Vulnerability

Thursday, February 14th, 2008

May customers are asking us about the recent Microsoft Security Bulletin MS08-008 regarding the vulnerability with OLE Automation.   Looking at things, it doesn’t look like this should have any bearing on OPC Servers since they use the custom interface, and the vulnerability is with OLE Automation.  Of course it is still a very good idea to patch your systems since the consequences can be quite serious and there are some OPC clients out there that make use of OLE Automation.

As Dale pointed out in a recent post the ‘O’ in OPC originally stood for OLE for Process Control.  Even in the beginning the name wasn’t really correct since the OPC specifications (DA, HDA and  A&E) are technically based on COM.   Since Component Object Model (COM) and Object Linking and Embedding (OLE) are very closely related, it’s easy for confusion to set in.    It doesn’t help matters that Microsoft introduced the term OLE first.  As the scope expanded Microsoft realized OLE didn’t fully fit the bill, so they created a new binary compatible, language independent, extremely lightweight protocol called COM.  In COM, software components implement their services as one or more COM objects. Every object implements one or more interfaces, each of which exports a number of methods.  COM components communicate by invoking these methods.     OLE is a set of standard COM interfaces that enable users to create compound document by linking and embedding objects (components) into container applications, hence the name OLE.  In other words COM is a specification while OLE is a particular implementation of this specification. 

When reading the FAQ notes on the MS08-008 vulnerability, it appears to be confined to applications developed using the Visual Basic 6 platform and the oleaut32.dll (the workarounds in particular mentioned instantiating the Microsoft Forms 2.0 ImageActiveX Control in Internet Explorer).    Since OPC Servers are developed using the custom COM specification, this shouldn’t apply to them.   Although most industrially robust OPC clients will be developed on COM, it is possible to develop OPC Client applications using the Automation interfaces, by using the opcdaauto.dll from the OPC Foundation (or other vendors).   I’m sure most OPC vendors will be posting details on their products.  You can find the MatrikonOPC details here.

The MS08-008 vulnerability deals with a client-side remote code-execution vulnerability that affects Object Linking and Embedding (OLE) automation when handling specially crafted script requests.  A successful exploit will result in the execution of arbitrary attacker-supplied code in the context of the currently logged in user.  Typically this would be a web-based attack scenario, where an attacker could host a Web site that contains a Web page that is used to exploit this vulnerability. An attacker would have to persuade users to visit the Web site, typically by getting them to click a link in an e-mail message or Instant Messenger message that takes users to the attacker’s Web site.   I suppose if the vulnerability can be exploited using a specially crafted web page, it stands to reason someone could create a devious OPC client that did the same thing, (or other nasty stuff for that matter).   This is yet another reason to only install or use software from a known and trusted OPC vendor.

We’ll still be following this one closely to see what else might develop, but in the meantime I would say apply the patch and keep enjoying your OPC connectivity.

UPDATE:   Seems my clarifications might have been confusing to some.  If so, my apologies.  To be clear: the vulnerability would not directly affect the OPC Server interfaces, but could exist in other parts of a server package like GUIs or configuration software.  It would also be present in OPC clients or tools developed on VB 6.0 or use the oleaut32.dll.   The most prudent course of action is patch your system.   Digital Bond has done some more ground work that is definitely worth a read, and details a work around until you get things patched.

Why the Interest in IEC60870 and DNP?

Wednesday, February 6th, 2008

Since OPC is used in many countries and across all industries I follow a slew of RSS feeds to keep tabs on things.   So often times when someone has a question on industry trends they’ll ask me if I’ve heard anything.   Just the other day one of our sales guys mentioned that there seemed to be a lot of interest in the OPC Server for DNP 3.0 and the OPC Server for IEC 60870, and was wondering what might be driving it.

I’ve posted on OPC and DNP before, but in a nutshell they are both open, standards-based protocols used in for telemetry SCADA architectures.  They are popular in the electrical industry, but are also used for water utilities, wastewater and sewage treatment.   There are a few news stories on these industries floating about:

These all deal with projects that could make use of OPC and DNP 3.0 and/or IEC 60870.   Anyone else out there have any ideas why the interest?  Is there some recent or pending legislation that would have an impact on monitoring the utilities sector?