Today is...
Tuesday, April 24, 2018
Welcome to, the global online
community of automation professionals.
Featured Video...
Featured Video
EtherCAT with CTC’s master lets your multivendor network play well together...
Our Advertisers
Help keep our servers running...
Patronize our advertisers!
Visit our Post Archive
OPC addressing
How to read OPC data in a stand-alone application?

A customer of mine is looking to integrate a new PLC to their manufacturing execution system. We're only supplying the hardware (ABB AC800M) and they will be using an existing ABB OPC server to read the relevant values off the PLC through a small piece of software they will write. In order to complete their software they recently asked me for the "exact addresses of all relevant variables".

I have only used OPC in connection with ABB Engineering Workplace (EW) and Operator Workplace where this addressing is done automatically by connecting the controller and applications to the OPC server so I don't really know what to answer. In EW, all you had to do was to create an object in your program, download and the object would automatically appear in the structures with a faceplate and graphic elements for your HMI.

How does one address and read data from an OPC server?

Connect to the ABB OPC server with any suitable browser (eg Matrikon, Kepware etc) and browse to the tags you are looking for.

Are they using Standalone AC800M or 800xA ?

For standalone AC800M, install the standalone OPC Server "ABB.AC800MC_OPCDaServer.3" and connect to it. The general format of OPC variables will be "application.POU.variable"

For 800xA use the AfwSurrogate OPC server - "ABB.AfwOPCDaSurrogate.1". Your client application MUST be on the same PC as the OPC server - you cannot connect over the network. The general format of variables will be "[Structure]Path\path\Object:Aspect:Parameter" which in 99% of cases can be shortened to "Object:Parameter"

It should be pretty obvious how things work once you have connected to the OPC server and browsed through it.


I was hoping you would be able to help me out.

I need to connect a WinCC MP277 10" touch HMI to an ABB AC800M PLC.
I'm hoping to do this without any in between processes.
I have a license for AC800M OPC Server.
Can I run this OPC server directly on the PLC? Or do I need to have a separate system for that?

Can I use the OPC Server that comes with WinCC if I buy the license for it? Can the AC800M be a client to the WinCC Server?

Can the two servers talk to each other?

Any help you could provide would be greatly appreciated.


The server has tag addresses in whatever format it uses. OPC does not define the servers internal data format. The client will create a group in the server and add items to the group with a reference to the tag addresses in the servers format.

The OPC client needs the format of the servers 'data' tag. For example if it is a MODBUS holding register the tag could simply be the holding register address e.g. 40100

Most OPC servers support a 'browse' function for just this case. The client does not know the servers tag format.

There are several free OPC clients floating around. If you do not know the format, get a client, connect to the server and try to browse for the published tags.

Good luck,