While doing testing I found a way to use the OPC-DA connection to create a link between 2 computers and read values from an RSLinx topic I had created to an emulated PLC.
Note: Because this uses OPC-DA (because RSLinx does not yet support OPC-UA), this will only work on Windows (unless an OPC-DA client has been released for the linux version since last I used Ignition)
- Two computers (or VMs) that can communicate to each other using IP addresses and computer names.
- A computer with RSLinx Classic and RSLogix Emulate (for my testing I used 5000)
- A second Windows computer with Ignition installed
Step 1: Configure DCOM Settings on both computers:
1) On BOTH Computers a. Launch the DCOM configurator by clicking on the start menu then typing “dcomcnfg” b. Expand Component Services->Computers c. Right click on My Computer, and select Properties. d. Select the default properties tab i. Make sure “Enable Distributed COM on this computer” is checked ii. Set the Default Authentication Level to Default. iii. Set the Default Impersonation Level to Identify. 2) On the computer with RSLinx: (Note, it should be possible to skip this step and instead apply these settings only to the next to DCOM areas in steps 3 and 4, but if you’re okay with it you can change the global settings which have been tested and will work for a fact) a. Browse back to the screen shown above and select the COM Security tab b. Click the Edit Limits button in the Access Permissions section. i. Add ANONYMOUS LOGON to the Group or user names list, and give it full access to local and remote settings. ii. Ensure that the “Everyone” group has access to both local and remote access. c. Click on the Edit Limits button in the Launch and Activation Permission section. i. Add ANONYMOUS LOGON to the Group or user names list, and give it full access to local and remote settings. ii. Ensure that the “Everyone” group has access to both local and remote access. d. Click on the Edit Default button in the Access Permissions section. i. Ensure that the “Everyone” group has full permissions for local and remote access. e. Click on the Edit Default button in the Launch and Activation Permission section. i. Ensure that the “Everyone” group has full permissions for local and remote access. 3) Edit the OpcEnum Entry in DCOM Settings a. After applying the above settings click on “OK” then expand “My Computer” in the dcomcnfg window and click on “DCOM Config”. b. Change the view to “Detail” and expand the “Name” Column enough to read the names. c. Find the entry labeled “OpcEnum” d. Right click on “OpcEnum” and select Properties e. In the General tab, set the Authentication Level to none. f. Within the Identity tab, select “The system account (services only).” g. Select the Security tab i. If Customize has to be used, it must be configured to make sure that the group “Everyone” has the correct permissions enabled for both sections. As was done for the system wide DCOM settings. ii. Otherwise: 1. Set the Launch and Activation Permissions and Access Permissions both to default. 2. The Edit Default work we did before is what these will now use. 4) Edit the RSLinx Entry in the DCOM settings a. Find the entry labeled RSLinx b. Right click on the RSLinx entry and select properties. c. Set the Authentication Level to Default. d. Within the Identity tab, select “The interactive user” (This option is only available provided you do not have RSLinx set to run as a service) e. Security tab i. If Customize has to be used, it must be configured to make sure that the group “Everyone” has the correct permissions enabled for both sections. As was done for the system wide DCOM settings. ii. Otherwise: 1. Set the Launch and Activation Permissions and Access Permissions both to default. 2. The Edit Default work we did before is what these will now use. 5) On the Client Computer a. Restart the client application you’re using, and attempt to connect to the OPC server. If all has gone well, the OPC server should now be accessible. 6) Restart both computers just for good measure.
1) Go to https://opcfoundation.org/developer-tools/developer-kits-classic/core-components and download the appropriate package for your system architecture.
2) To download you'll have to register an account, but it's free
3) Install on computer with Ignition.
Step 3: Configure RSLinx OPC Topic
1) In RSLinx Classic, under the DDE/OPC menu on the menu bar select “DDE/OPC Topic Configuration”
2) Create a new Topic name (I used Emulate)
3) Link the new topic name to the slot being used in RSLogix Emulator 5000
4) Click “Apply” then “Done”
Step 4: Configure OPC Server Connection in Ignition
[code]1) Open Ignition Gateway and enter configuration area
2) In the left menu area, find the “OPC Connections” area and select “Servers”
3) Select “Create New OPC Server Connection…”
4) Select “OPC-DA COM Connection” then click “Next>”
5) Select Remote then click “Next>”
6) Enter the IP Address or Hostname of the computer that RSLinx Classic is on then click “Next>”
Note: If you followed this guide correctly and have already installed the OPC Core Components Classic Kit then you will be presented with a list of OPC servers on the computer you are connecting to. If you do not get a list and only see one option that says, “Other Server” then the OPC Core Components Classic Kit is not install correctly and you will not be able to connect to the RSLinx Topic you created.
Select the option that says, "RSLinx OPC Server" then click "Next>"
Give the Connection a name, and if desired a description, then click, "Create New OPC Server Connection".
If done correctly, the status should go from "Closed" to "Connecting" to "Connected"[/code]
You can now use the OPC quick client to browse the tags in the topics you create in RSLinx. Since I was using two VMs on the same laptop there was some lag (5 to 10 seconds) for me in expanding the “Online” folder. If you don’t see any tags at this point, but everything else is working, make sure you have RSLogix Emulate 5000 turned on and a project is correctly loaded.