

At least some of the RSLinx servers are in-process servers - which is not wrong per se, but it is very unusual in the OPC world, meaning that not all tools are ready for it. One of them can be directly related to this. There are some issues with this server (Google for them.). In additional to an already complicated issues with 64-bit OS and (mostly 32-bit) OPC servers, the fact that it is RSLinx makes things more complex. Thank you for your assistance to this point.

I will report back once I have further information so that others can benefit from whatever I gain out of this. The same solution on the RSLinx box continues to exhibit the same behavior.ĭue to some technicalities, I'm able to make little further progress with this box and I'm exerting some political will to get a better test VM - One that I can modify to an extent so I can try to get the same issues on it as I'm seeing in the production environment. We were able to resolve the issue on a test box using a forced 32-bit compilation on the EXE and associated DLLs, but that uses a Matrikon/Graybox simulator. Whatever RSLinx is doing behind the scenes is definitely different. I just wanted to reply quickly to provide an update. Please Log in or Create an account to join the conversation. Doing so will bypass the extra internal step needed to transform the ProgID to CLSID, eliminating some possible error situations. In this case the ServerClass string passed to QuickOPC methods must look like a CLSID enclosed in curly brackets ("").
Rslinx classic price code#
If you are just after making things work, you can consider replacing the use of symbolic ProgIDs of the target OPC servers in the client code by their corresponding numerical CLSIDs.

Rslinx classic price registration#
But OPC does some extra things - it has the "server browser" (OPCEnum) component, and rules for looking up info in the registry, and if either the server, or the client, or OPCEnum, does something that's not fully correct, the code may end up "not seeing" the server registration info, which results in "Invalid Class String". Normally, COM/DCOM does good job in hiding the 32/64 bit differences and making it all work transparent.
Rslinx classic price 64 Bit#
64 bit problem will manifest itself as "Invalid Class String", because the registry has some common parts, some 32-bit specific parts, some 64-bit specific parts, and then some synchronized and "reflected" parts, which is done by Windows to hold the 32/64 bit worlds together.
