allstar Posted February 27, 2007 Report Posted February 27, 2007 (edited) Hello everyone, As the topic description implies, I'm new to OPC and wanted to ask you a couple of questions on how to use it. I have a profibus DP network in which I have a 315-2dp operating as the one and only master and several other devices operating as slaves (irrelevant in this subject). Now I added a PC Station that is operating as a DP slave (although I could change it to a master if the need arises) and is running a custom app that needs to somehow communicate with the PLC. The easiest solution is (I think) to make use of the OPC Server installed but I have no knowledge on how to do this. How does the OPC Server actually work? An OPC client connects to the OPC server and then what? How does the info get passed to the PLC? Does the OPC build a database with what exists at a given time in a certain network? What if the computer you used to program the PLC's and configure the network isn't the same you're running the app or have set up the OPC server? And how does one start to build a OPC client anyway? Thanks for your time, Nuno Edited February 27, 2007 by allstar Quote
paulengr Posted February 28, 2007 Report Posted February 28, 2007 An OPC server contains a map of names to PLC addresses (and back). The "back end" talks to the PLC and streams messages to read and write the defined locations. For PLC's that already have "names" stored in them (Controllogix comes to mind), OPC servers can automatically acquire the map from the PLC. It is different for every PLC...hence the reason for OPC (standardize all this). The map also contains details such as how often to scan. On the PC side, OPC runs as a "COM" server...basically, an ActiveX program. A program can either directly query the OPC server (read or write, using the names this time), or it can request the map (for browsing), or it can use "update" mode...it sends a list of locations that it's interested in and the OPC server automatically sends over the list of only the locations that have changed value. Get the free Kepware or Matrikon client first so you can see what's going on in your server. Then get a copy of the DLL that you can use to write your code on the PC side. OPC is not trivial to work with, by the way. Quote
GerryM Posted February 28, 2007 Report Posted February 28, 2007 You got that right! What is your custom app. being built with? There are some purchased components that can make it easier to develop the client. Such as: http://industrialdotnet.com/ http://www.opcdatahub.com/Home.html http://www.opcconnect.com/ http://opcsystems.com/ www.metadynamics.com Quote
allstar Posted February 28, 2007 Author Report Posted February 28, 2007 I've written it in C++ using VS 2005. Going for a commercial solution at this point isn't a option :\ I've been looking at sourceforge (libnodave, jeasyopc and so on..) for insight but at this point most of it is looking a bit fuzzy. I still don't know if I need to build a "full" OPC client around my app as it seems overkill when you just want to send a couple of bytes to the PLC and nothing more (at least for now). Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.