OPC HDA, what a blessing!
Posted on December 6th, 2007 by Eric MurphyI read a posting on a new industrial software blog with the title “OPC HDA, what a bummer!” (Thanks for the lead Tom!) The post was mainly a lament about Microsoft COM, and I usually try to avoid linking flamebait, however the author said he couldn’t see any reason to use OPC HDA if SQL exists. (It might just be because their product is built on SQL, but I’ll list a few anyway)
First off, let me say that OPC HDA and SQL/ODBC are complementary. They each have their strengths and weakness, depending on the format of your data and database structure. Many companies make use of both for different reasons. (It’s not surprising that one of our most popular downloads is the MatrikonOPC Server for ODBC).
A key thing to remember is OPC HDA is designed for time-series data, and typically is the interface of choice for process historians that collect and archive real time data. SQL/ODBC is the interface of choice for relational databases, which allows for more complex relationships between the data. Some people do choose to store real-time process data in a relational database (even Access or Excel ‘dramatic shudder’). With a good database design, and enough processing power it will work. We have one customer using the OPC Server for ODBC against an Oracle database with 1 million records! (As a side note, even Oracle uses OPC). However, in my experience most industrial automation users choose a real time historian to collect, store and present real time data.
Other than standardized access to history data, what else does OPC HDA bring to the table? For starters the same look and feel of OPC DA, with Items, Browsing and most importantly standardized timestamp format and item quality information. OPC HDA also provides standardized data aggregation such as data Interpolation, Time-weighted Average, Minimum, Maximum, etc.
More important than a laundry list of features (which every protocol or standard can come up with), is what the OPC HDA standard offers in terms of dealing with history. Since OPC HDA is focused on time-series data, it can be used to create standard architectures that deal with common history based problems. OPC HDA is so much more than the interface to a trending application. Guaranteed data delivery mechanisms, distributed historian designs, rolling buffer pre-post trip capture applications and at-the-source reliability buffering during disconnect from PLC. There are just some of the history based solutions many companies use today based on the OPC HDA specification.
Needless to say I believe OPC HDA brings a lot to the table, and that’s one of the reasons all that functionality is being rolled forward into OPC UA, with a migration path for all those that will have to still use Microsoft COM for then long while. I’ll get off my soapbox now.









December 14th, 2007 at 8:55 pm
Eric,
I posted to blog entitled “OPC-HDA, what a bummer”. Perhaps the title got you guys fired up more than the content. It was intended to flame COM, but not OPC-HDA and certainly not the OPC Foundation. I also said that I couldn’t see a practical way of it working with FactorySQL - yes, our product - I did NOT say that I didn’t see why it exists. And I still maintain that SQL is a better interface for ACCESSING the historical data - I would use OPC to access the device just like Oracle.
As far as OPC-HDA goes - it may be that I was misinformed about other benefits. I did a few quick searches and didn’t notice anything fruitful. It looks like your (linked) products do cool things, but those are linked more to the product than the protocol. Still, I was unaware that anyone was moving forward in developing products that are based on HDA. I stand corrected.
For the record, I respect you and Tom as industry leaders. I’ve used your COM security settings guides more than once. I’ve also recommended your products. I would be happy to hear what you have to say and would admit it if I was wrong.
http://notanotherindustrialblog.blogspot.com/2007/12/opc-hda-what-bummer.html
December 14th, 2007 at 10:38 pm
I might add that my rage is a bit mistargeted. This post is an example of why COM is still driving me nuts. 12000 individual external DDE links in an Excel spreadsheet that he wants to poll at a rapid rate. WHY!?!? I’m sure at least one of your OPC products would solve this for him easily.
http://www.plctalk.net/qanda/showthread.php?t=35492
It’s not just that - Microsoft’s moved on - everyone else has moved on. It’s time for our end users to do the same.
December 18th, 2007 at 5:49 pm
Nathan,
I\’ll admit that when it comes to HDA, it doesn\’t take much to get me \’fired up\’. What can I say, it\’s been my baby for a long time
After reading you comments and rereading the posts, I see I did read more into your comments on HDA than might have been there. However, I still maintain that OPC HDA is a better interface for accessing TIME-SERIES historical data. If nothing else for the interoperability OPC HDA brings on timestamps, return format of the data and aggregate data handling. Our OPC HDA products can do cool things because we know we can rely on these things being equal in all OPC servers. That said, I agree that SQL offers more powerful features when accessing historical data that might have other relationships. Historical Events come to mind. Of course, the beauty of blogs, is that everyone is entitled to their own opinion.
You are not alone with your feelings on COM. (Personally, I have a bigger beef with DCOM, but that\’s splitting hairs). The main problem I see with web services today is the lack of standardization for interoperable applications. As of yet there is no concrete place to \”move on\” too. So, yes, I agree. \”Come on OPC UA!\”. I\’m personally doing my level best to help speed that along. As Tom said in his posts, we are always looking for a few good folks to lend a helping hand.
And if I can go on the record, I\’ve followed many of your posts/threads on Control.com and such forums. Your comments are always knowledgeable, well argued and informative. It\’s obvious you\’ve spent a lot of time working in industrial automation and have great deal of knowledge and a passion for that which you know well. I went back and read your \”A blog is born\” post, and see why I didn\’t recognize your less PC style of posting at first. Blogs are also a great mechanism for cleansing the soul. Vent away. (I just can\’t promise to always agree
)
January 28th, 2008 at 5:16 am
Eric,
I’m glad we’re in agreement! For the record - I agree that Matrikon HDA products bring much to the table.
I also appreciate everything you’ve done. I’ve recommended your DCOM security whitepapers numerous times on forums. I know you’re a big contributor to OPC and very knowledgeable in that arena. In fact, I may need to bounce UA questions off of you from time to time.
If I may, I’d like to see responses in your blog to Sharon Rosner’s SCADA2 blog, in particular his comments that OPC-UA appears to be an implementation of COM and the old technologies over the new buzzwords (XML, web services, etc). I agree with his sentiment, at least with the old OPC protocols, that a seemingly unnecessary amount of work is required to do simple things (read, write, even subscribe to tags). I just hope that the desire for backward compatibility doesn’t destroy the scalability of our future system.
http://scada2.blogspot.com/
January 31st, 2008 at 9:45 pm
Nathan,
Thanks for the comments and the suggestions. I always welcome questions on OPC UA and anything else. Bounce away. Look for some OPC UA/SCADA 2.0 postings in the near future.
Eric