Opto22 / OptoServer OPC set up

Im new to Ignition and OPC servers/clients in general but i understand how they work in principle. Im looking for some information and helpful hints on Opto22’s built in OPC server and how to get it to work with Ignition.

so far, i have 2 laptops with Win7 X64, both have the full opto22 suite and one has Ignition (trial mode). I set OptoServer up on the 2nd machine and connected it over Ethernet to a snap-pac controller and it seems to see it ok. on the first machine, i have been trying to get ignition to connect to the OPC server on laptop 2 but i cant for the life of me figure out how to set it up. i have Ignition connected to an A/B CompactLogix (also on the network) and i can see and interact with its tags no problem.

end game, will be to purchase a site license of ignition, and move the entire thing to a stand alone server with HMI’s deployed at various operator stations. Right now, the entire building is full of over 2 dozen independent systems and we are working to set up a centralized system of monitoring and reporting. about 1/3rd of the systems are opto22 based and another third are A/B systems. the rest are various proprietary controllers that will be dealt with later.

If anyone knows of some guides to help get me started on interfacing Ignition with OptoServer, links or replies would be very welcomed. I have already read all the opto22/OptoServer documentation which is how i got OptoServer set up and talking with a controller in the first place, but getting an OPC server and OPC test client from the same Manufacturer running on one machine is quite different from getting it running with Ignition from a seperate machine.

THANKS in advance!


In general, what you’re up against is the infamous “DCOM Config” that plays into remote OPC connections. If you search the forum here for “DCOM”, you’ll find lots of info, and in general searching google should result in lots of whitepapers and guides.

I would recommend the following: first, install Ignition on the same machine as the OPC server, and get it working locally. This is usually fairly straightforward, though with Opto 22, you may need to do what is described in this thread.

Once it’s working locally, you have two options:

  1. Move Ignition, and connect remotely. Follow the dcom guides to open up all of the security settings.
  2. Use Ignition’s OPC-UA Tunnel module to connect remotely over UA instead of DCOM.

When you have Ignition talking locally, trying #2 is easy. Download the module from this thread and follow the instructions there.

The tunnel is free, so the cost will be the same either way. Avoiding DCOM will be advantageous in the long run, as security updates and service packs often break it (well, change settings). Also, UA is better for dealing with network interruptions and other issues.

Hope this gets you started,

Also, this knowledgebase article has a lot of useful info about remote OPC connections.


ok, first off, thanks for the links!
i had already wondered about corporate policy settings with firewalls/system settings/etc messing with me so i installed Ignition and Opto to windows XP mode on one machine and locked its network to my physical LAN port. I had to do this with some other software as it wouldnt play nice with 64-bit windows or our corporate network security settings. once i got everything set up, Ignition found the optoserver! so, step 1, 2, and 3 out of the way… i jumped into design studio and guess what, no tags under optoserver…

I followed your link and did what it said but now, Ignition service wont start, even if i switch it back to local system account. “Could not start the Ignition Gateway service on Local Computer. Error 1067: the process terminated unexpectedly.” I created a new user account called “Ignition” with a default password for it to log into. could be a side effect of Virtual XP possibly but its apparently my only option for now, local IT is going to set me up a box just for this project, but they move slow… Reinstalled Ignition and it came back. Now, it still can see the OptoServer but it faults out on connection. under OPC server status: (COM object method returns error code: 0x80070005; E_ACCESSDENIED (Access is denied.)

Looks like we are on the right track finally… Almost…


If you’re getting “access denied” even on the local machine, the problem is likely due to restrictions on the System account that Ignition is running under.

I would try the following:

  1. First, as suggested in that other thread, set Opto22 to always run as the “interactive user” by going to DCOM settings and finding the server.
  2. Set the Ignition service to run under the same account that you’re logged in as. Or, you might try leaving it as system, but enable “allow interaction with desktop”.

If you have problems getting the service to run again (normally there isn’t an issue simply changing the account), the “wrapper.log” file under “{InstallDir}/logs” will show why. If you post the log here, we can figure out why the service is failing.


Just so im clear, under DcomCnfg, Component services > computers > My computer >DCOM Config i have 3 opto entries:
Opto 22 OptoMds
Opto22.OpcServer.2 <---------- this is the one changed to interactive user.

Ok, so Ignition connects successfully to OptoServer all the time now. I found out why i couldnt see tags the few times i did get it to connect. I did have a browser database file for each controller. I used Opto Browser Configurator to make a *.bdb file for each and now i have tags under optoServer in ignition.

next problem. I dont see ignition(or in fact, anything at all) show up in OptoServers “Connected Clients” list. i also dont seem to get live data from the tags. When i try to drag a Tag from OPC Browser to the main window to a control, i get:
“Creat a tag: To complete this action, you must create a SQLTag for this OPC item. To create the SQLTag, confirm the path for the tag name below”

I havent set up a SQL data base yet. Ah, maybe this is the problem: (under OPC server status)
java.lang.Exception: Error advising subscription callback. DCOM security settings are likely preventing the OPC server from connecting to the client for callbacks.

Quite the can of worms i’ve dove into here. I wonder If Maintenance will fix the dent in my desk from banging my head into it repeatedly… Thanks a ton so far, definitely progress!

ok, so changing Ignition service from system logon with desktop interaction to a manual logon, and changing opcserver Dcom permissions on all 3 settings to custom and adding ‘everyone’ and giving full control permission seems to have done the trick, I can now see live Tag data from an online opto22 system. I dont believe security is an issue right now on an internal only network in the R&D stage, but it could be a concern down the road. but Ill cross that bridge…

I’m going to have to learn the little nuances like freshness and update times. seems like everything is set to 1000ms/1Sec which is a little slow for some tags. I also have to import all the Tag database files for every controller into opto Browser configurator at the same time. apparently doing only one at a time gets you only the last one you entered connected to optoserver. I have 15 Opto based systems :open_mouth: so going to have a few tags…

HUGE thanks again for all the help so far!