Sign in to follow this  
Followers 0
pandersen

RSLinx OEM + OPC + VB

7 posts in this topic

Hiya, Does anyone have any experience using RSLinx's OPC server with serveral thousand tags? I took a few examples I found online and mashed em together into a project that works, but causes Linx to use 100% of the CPU all the time (with a slow update rate as well). It also takes FOREVER to add the items to the OPC group, about 6-7 minutes for 10,000 tags. Eventually there will be just under 30,000 tags being monitored, so I expect my program to be 'starting' for about 18 minutes before it can do anything! What's going on?! This is running on an Intel Core 2 Duo @ 2.0 GHz with 1GB of RAM, so I don't that its a resource issue. In the end Linx is using about 70MB of RAM and my app is using less than 20MB. Here is the line of code I use to add items: RSLinxOPCGroup.OPCItems.AddItem "[" + strOPCGroup + "]" + strValue, lngOPCSta1TopStopID (repeat with different strValue and lngOPCSta1TopStopID 10,000 times) Thanks for your help! -Pete I also find it hilarious that is a smiley here

Share this post


Link to post
Share on other sites
Are you trying to grab 10,000 tags at one time? From how many processors? Are these logs or what?

Share this post


Link to post
Share on other sites
Renegade tech note I saw one time hinted that RSlinx OPC has an issue beyond 50,000 tags. Watch the error logs. If these fill up response can get "flaky".

Share this post


Link to post
Share on other sites
I have just started getting into this myself. I think we are going to go with Kepware.

Share this post


Link to post
Share on other sites
TWControls: I am adding subscriptions to all the tags at once. At this point I am not even activating the group, so no values are being sent back and forth. This is what takes the ridiculous amount of time. Once the subscriptions have all been added to the group, I activate it and all 10,000 values are sent at once, which takes very little time and works great. Once I have all the initial values, I only get updates when a tag changes, so I'm not grabbing 10,000 tags every second. This is all from 1 processor, which right now is an emulator running on the same PC. These are logs, yes. We are saving the position data of 4 servos and the values from a loadcell into an array every 50 ms, then at the end of the cycle I send a trigger to the VB app and it saves it all to a CSV file. BobLfoot: I hadn't thought of that, but I checked and every thing is A-Ok it seems. buster: Probably a good idea, too bad our customer insists everything is Rockwell. They are afraid of all the finger pointing when something does go wrong and everything is from a different manufacturer. EDIT: I just realized there is a AddItems function, rather than the AddItem I was using. I will try accumulating all my tags into arrays in VB and then adding them all at once. Probably less overhead this way on the RSLinx side, so I hope to get better performance from this. I'll post back when I know. Edited by pandersen

Share this post


Link to post
Share on other sites
Yeah, AddItems is faster. Less than 5 seconds vs 5 minutes for adding 12,000 items at once.

Share this post


Link to post
Share on other sites
I agree with Buster. I've successfully used RSLinx with a few thousand tags. It's been my experience, and I've heard from various sources, that KepServer does better with that many tags. Too bad your customer says all Rockwell - you could use all AB/Rockwell and pay their overpriced consultants too much and they're not going to guarantee that it'll work with that many tags. Not unless you unnecessarily purchase a whole lot more hardware and software. I imagine you have more sense than that since you're programming your own application. Edited by Nathan

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