What’s wrong with RsLinx?
I get a lot of questions from customers about replacing RsLinx in their automation systems. It’s something that I have always wondered about. RsLinx is a good tool and provides a lot of functionality so why are these customers trying to eliminate it?
Well, for those of you that don’t know, what the heck is RsLinx? RsLinx is a software driver that knows all about talking to PLCs. Every PLC RA makes as a matter of fact. It can read and write registers in the PLC5s, SLCs, Logix and more. It is a communication server that can talk to any RA PLC that has an Ethernet interface. Sorry, for you PLC2 fans, you’re still out of luck [By the way, got a call today from an OEM that has hundreds of PLC2s and wants to keep them running – I’m going to build him a little interface box].
RsLinx has the PCCC drivers to talk to the PLC5 series, the SLC series and the MicroLogix. PCCC is the Programmable Controller Command and Control Language. It’s a binary protocol that implements the Read and Write command set that every RA PLC uses. RsLinx also has a little known, proprietary driver for the Logix series. That driver allows RsLinx to resolve tag names into an address and then pull data out of a PLC in a block read.
That’s the biggest difference between the way 3rd party devices access RA Logix processors and how RA devices access Logix processors. 3rd Party devices have to use the open CIP Data Service protocol standard to access the data tables of PLCs. The CIP Data Service protocol is open but not widely distributed. It’s on the RA website but you have to really hunt to find it.
The biggest drawback to the CIP Service is that you have to send the tag names to a Logix PLC to read and write data. That sucks big time! The packets going to the Logix processor are limited to 514 bytes and if you have 20 character string names plus 10 bytes of overhead per tag you can only get 10 to 15 tags in a message. Best case you are only going to get 30 or so messages through a second so your limited to less than 500 tags per second. That’s really slow for lots and lots of applications.
Though it doesn’t work very well for data intensive applications. If you just want to build your own solution with smaller data sets or you don’t have a critical time constraints, 3rd party applications like the RTA EtherNet/IP Tag Client work really well. From your app you simply build a structure full of tags to read or write and send it to the Tag Client. It does a call back when your data is ready. That software is really handy for a lot of non-data intensive applications.
So, why don’t people want to use RsLinx? Mostly it’s price. If you have an application that is a dashboard, a vision system or something else; you have to include the RsLinx in every runtime. If you use something like our Tag Client to access a Logix processor, you avoid that runtime cost. As long as you don’t have thousands of tags to access or need millisecond response you’ve saved yourself a lot of money over the long run.
But what if you need that kind of response or if you have lots and lots of tags? Well I have some thoughts on that and I’ll share them in the next article.