PLC Data Access Using OPC


Thread Starter

Rodney Cox

I develop in both C# and Java and am looking for resources that will help me properly access PLC manufacturing data (OPC data) so I can collect large amounts of data. I plan to research data patterns in order perform predictive analysis. I can handle everything on the client side..... the server side is kicking my butt. The OPC foundation limits all of their content to their members, as a student becoming a member isn't an option. If anyone can point me in the right direction to somewhere other than google, stack overflow or wikipedia, I would be very appreciative. I have loved learning some of the basics, but after 25+ hours searching the internet I need someone to point me in the right direction.

Fred Loveless

Most manufacturers of OPC Servers provide full functioning demos of their products. You can get demos from Kepware, Software Toolbox, Softing, and Matrikon. Kepware also has a Client SDK for developing OPC DA, UA and XMLDA clients in C# and VB.Net. For JAVA you will find SDK's at Prosys and Unified Automation.

Fred Loveless
If you don't intend to join the OPC Foundation to obtain the spec, you are likely looking at purchasing a third party component for OPC client access. Keep in mind though, PLC manufacturing data does not need to be accessed using OPC. If OPC is not a requirement, there are more direct ways to access PLC data. Automated Solutions offers a .NET component (ASComm.NET) that allows you to communicate with several major controller types such as A-B, GE, Siemens, Modbus, etc. In addition, Automated Solutions' .NET drivers are generally runtime free for non-commercial applications.

We run the OSS project
it includes an OPC XML-DA client based on libcsoap, libxml2 and nanohttp written in C++.

I would suggest to use Modbus for connecting to a PLC because it (defacto) is open and OPC (defacto) is just another closed solution.