Sign in to follow this  
Followers 0
Nibroc

Control Logix to PC via ethernet

12 posts in this topic

Hello all, Normally I reside in the Omron forum however ... I have an application where I need a PC to communicate to a Control Logix via ethernet. The PC will be programmed using C++. The PC will need to continuosly read several registers (eg array of 10 16bit tags) and occasionally write several registers. Question: Is there any protocol description published to allow us to do this, or do we need some middleware (software or hardware) of some sort? This will be only a one-off application. (it may be cheaper to spend money on middleware to save hours of engineering) I have looked into using a Red Lion DSP (protocol converter) which can act as an Ethernet/IP slave to the Control Logix (control logix will treat it as an ethernet/ip node), and provide modbus/TCP slave functionality for the PC to access via C++. This solution would work, however if there is a protocol description available we will able to build a simpler system. Thanks in advance. Nibroc

Share this post


Link to post
Share on other sites
The most logical solution would be to use an OPC/DDE client server middleware application to bridge the gap between your C++ application and the ControlLogix. Rslinx with it's RSIOPCAUTO.DLL in versions other than lite would fill the bill. Automated Solutions also offers an ActiveX for ControlLogix which you drop on a form in your C++ application and it connects to the C++ thru properties and events. Wonderware has a family of data servers whcih could also bridge the C++ to CLGX gap. Others may suggest others. For the mix of cost versus ease of use the Automated Solutions ActiveX is ussually my first choice.

Share this post


Link to post
Share on other sites
The most straight-forward method would be to purchase middle-ware - in this case, RSLinx from Rockwell. The 'single node' edition is probably all you need. It will act as a DDE or OPC server. You can configure topics to access the relevant CLX tags and specify the update rate. Your app then need only interact with the topic. No additional hardware is required. Using the Red Lion device would require additional configuration and programming in the ControlLogix processor to send the data as I/O. This also introduces multicast traffic to the network.

Share this post


Link to post
Share on other sites
Thanks, I will look into using the RS-Linx DDE. - I have looked at the data sheets and it appears the 'single node' version should be fine. We need to poll rapidly, could I expect continuous read response turn around in under say 200mS - 300mS for 10 contiguous items of 16bit data? - Will RS Linx be able to update that data and 'exchange' to our C++ application fast enough ? Nibroc

Share this post


Link to post
Share on other sites
Or if you would prefer not to have the additional software and still must purchase the Ethernet module you may look at the 1756-EWEB in place of the 1756-ENBT. This solution has its pros and cons

Share this post


Link to post
Share on other sites
It might be slightly more effort but there's C++ code for Ethernet/IP interfacing available. I think either AB or the ODVA forum published it. If you were doing PLC-5 or SLC, then I'd recommend Ron Gage's code for the same purpose. By the time you get around to developing everything for OPC under RS-Linx, it usually seems to be easier to simply side-step OPC all together.

Share this post


Link to post
Share on other sites
You could also download Ron Gage's CELL which is a library that was originally written for Linux but ported to WIndows. ftp://ftp.rongage.org/pub/cellwin Many of my customers downloaded the Linux version and converted the code to Windows before there was a Windows version.

Share this post


Link to post
Share on other sites
For best efficiency with RSLinx, make all the items members of an array. This groups them contiguously in CLX memory, allowing RSLinx to read them with a single transaction. Ultimate performance will also depend on your PC's horsepower and how many tasks it's running. If the CLX is particulary busy, then some tweaks to its configuration may be needed to boost your response time.

Share this post


Link to post
Share on other sites
You can have a look at http://tuxplc.net We have release an ethernet/IP library that can help you in your project. it's opensource and free. This library is writen in C langage and works fine under linux but should works under windows too. Any feed back will be welcome

Share this post


Link to post
Share on other sites
I'm having trouble extracting the package. Most of the files do not have recognizable extensions

Share this post


Link to post
Share on other sites
It's a compressed tar file (tape archive record) which is a standard thing to do on a unix/linux plaform. I downloaded the EIP file, uncompressed it, untarred it and converted it to a .zip file. See attached. The folder SRC contains the source code, it appears to be standard C code, not C++, it is not object oriented. You will need to open the code in wordpad for the formatting to appear correct. You should be able to find a free windows C compiler somewhere on the net. Let me know if you need the DF1 files, and I'll process them for you too. tuxeip_1.0.zip

Share this post


Link to post
Share on other sites
Thanks Ken

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0