I’m trying to bring in tags from a new PLC (SLC 5/05) and when I try browsing the OPC, I get the following error:
Browse failed with message:E_UNKNOWN_ITEM_NAME.
The error log may provide more information. Also, refreshing the OPC servers may solve the problem.

When I look at the log viewer, it doesn’t really give me any information I can figure out. There are two errors.

The first:
at OpcCom.Da20.Server.Get Enumerator (String itemID, BroweFilters filters, Boolean branches, OPCNAMESPACETYPE namespaceType, String completePath)
at OpcCom.Da20.Server.GetElements(Int32 elementsFound, ItemIdentifier itemID, BrowseFilters filters, Boolean branches, BrowsePosition& position)
at OpcCom,Da20.Server.Browse(ItemIdentifier item ID, BrowserFilters filters, BrowsePosition& position)
at Opc.Da.Server.Browse(ItemIdentifier itemID, BrowseFilters, filters, BrowsePosition&
At FactorySQL.ServerElementBrowseOperation.ProcessOperation()

The second:
The remote server is not currently connected.
at OpcCom.Da.Server.GetStatus()
at Opc.Da.Server.GetStatus()
At FactorySQL.OpcServer.CheckStatus()
At FactorySQL.OPCSystem.MonitorServers(ExecutionToken Token)

And thanks to the fact that it doesn’t let you copy text, I just typed that all that out by hand.

I can see the PLC in RsLinx. I can go online with RsLogix. This PLC is currently being used to control a machine, and the operator is interacting with it from RsView. So I know the PLC is online, and this server can ping and see it.

Oh yeah, and I refreshed the OPC servers.

Does this occur at some point down the tree, or on the root node? That is, can you browse anything, or does this occur off the bat?

In RSLinx, you’ll first see you Topics, then Online/Offline, then your file. Do you have a topic configured?

What version of RSLinx are you using?


I only get the error when I try to browse the new topic I created for this new PLC. All other topics are fully browsable.

The topic is configured. This is the second SLC 5/05 I’ve configured in RsSQL. I’ve compared the settings in each topic and the configurations are the same.

RsLinx version

I also just created a new topic with a different name and the same thing happens. In FactorySQL the error comes when I click the “online” folder. It tries browsing and then errors out.

Does it take a while before it errors out? It may be that FactorySQL is timing out and reporting that message (it shouldn’t, but something makes me think I’ve seen it before). You can try bumping up the “OPC browse timeout” under service settings.

If that doesn’t help, I’d double check the topic settings. You said it was identical to the other one- so both are currently pointed to the same PLC? If so, is there any perceivable difference between the two? What is the second topic named? Also, have you tried restarting RSLinx?


I just jumped the OPC read timeout from 15 seconds to 25 seconds and it works now. When you mentioned a read timeout, I thought that might be the problem. This PLC is running a really large program and it takes a while for it to respond.

The reason I want to bring in these tags into FactorySQL is because RsSQL is writing some nulls to the database and I want to use FSQL to troubleshoot it. FSQL shows the real-time value of tags in a group. I might even end up using FSQL to log these tags.

But anyway, this timeout might explain the null values in the DB. I bet the read in RsSQL is timing out, doesn’t get a value, and writes a null.

Ah, good. Yeah, I’ll log a minor bug report that the message should be more accurate.

I’m not sure how RsSQL performs the data acquisition, but it’s not inconceivable that it’s doing reads and timing out. FactorySQL, on the other hand, works on a subscription basis. What this means is that values will be sent up from the opc server as they become available. In a situation like this that might be better, as you should get a value at some point, but the problem is that that value might be relatively old. I’d recommend copying/cloning the item in the group and changing the copy’s “Property” property to “timestamp”, thus storing the timestamp of when the value was generated as well. [Bonus point of clarification: when you select “store timestamp” on a group, it stores the time according to the database of when the group executed. When you take an item and store its timestamp property, that’s the time according to the opc server that the value was received.]

Hope this helps,