OPC to Emulate, still looking for answers

Just to clarify to lurkers: @jlandwerlen and I are investigating why some environments can make native IA driver connections to Emulate 5000 (v32+ only, apparently) from Ignition on other machines, while others can only make OPC connections via FTLinx.

1 Like

@pdixon, I know your question is about making OPC connections to RS Emulate, but I'm going to answer the question about making native Ignition driver connections to RS Emulate. Reviewing my first comment in this topic, I am happy to report that I was wrong.

Necessary software, with versions I confirmed to work. Newer versions are expected to work:

  • RSLogix_Emulate5000 (install folder) aka "Studio 5000 Logix Emulate" (as shown in Control Panel Apps list), v32.

  • FactoryTalk Linx, v6.11

  • RSLinx Classic, v4.11

Here's these three running on my desktop:

Optional software:

Required settings:

  • Disable RSLinx Classic Gateway (No screen shot--can't get to that setting once FTLinx takes over the encapsulation port). Just the gateway feature--you don't disable RSLinx itself.

  • Disable RSLinx receipt of UDP messages over EtherNet/IP:
    20231009 RSEmulate via AutoPros Driver-RSLinx Options-OPC General

  • Enable FTLinx use of the Encapsulation Port. Select the "EtherNet, Ethernet" driver, then its options, then pick a network interface, then set the checkbox, and Apply:

You may need to reboot at this point.

Enjoy!

Special thanks to @jlandwerlen for letting me peek at his working VM image.

{ I'll be upgrading my VM back to the latest versions, one step at a time. I'll report if any particular newer version breaks this setup. }

11 Likes

I'll be interested to see what you come up with after upgrading FTLinx. I'm on v6.31 and don't have the checkbox for "Listen on Ethernet/IP encapsulation ports". Are you using FTLinx Gateway or just plain FTLinx? I'm also using RSLinx Classic v4.30 but not sure that would affect FTLinx (my checkbox for Accept UDP Messages is already off in Classic).

Nevermind! Spoke too soon! The checkbox exists, but it's after the list of network adapters (the scroll bar scrolls the entire window, not just the list of adapters if anyone else is searching for the box.

One other note I noticed is that it wouldn't connect through localhost, but using my LAN IP worked fine.
Thanks for digging into this as it's good news for the old emulator!

3 Likes

Yeah. When RSLinx Classic was controlling the encap ports, it would show up in netstat -an as listening to 0.0.0.0:44818, which is the wildcard for all interfaces. When I switched it over to FTLinx in control, it listens only on the IP address I picked in the FTLinx driver options.

1 Like

So I did another test on mine, and if I selected Windows Default instead of a specific network adapter and checked the box on it, it listened on 0.0.0.0:44818 and I was able to use localhost/127.0.0.1 at that point.

2 Likes

When I posted this 4 days ago, I did not expect 45 responses. I guess this is a hot topic. I must not be the only one using Emulate and having OPC trouble.

I will begin by saying the progress I have made resulted device connections going from ReconnectWait to Connected, but with no tags showing up. I got this by repeated reboots, removing and recreating controller slots in Emulate, and downloading. No configuration changes of any kind were made, yet it now kind of works. Obviously there is some fragile software here somewhere. I still need to figure out how to get the tags to show up, but at least there is some progress.

To be clear, my original question said this is a local use case with Ignition and Emulate on the same Win10 machine. The use case for remote is where I have a machine with a Rockwell license and the client doesn't have Rockwell on their machine. For remote I have successfully used FT Linx with the OPC UA endpoint, but just like the local case it doesn't always work. For local I prefer device connections because it is one less license to worry about.

Lastly, I think the response on this topic may be telling. While Rockwell now has Echo, it only goes v32 onward. Without Emulate that would leave many of us in the lurch. Having Emulate is rather critical, and the fact that development with OPC connections from an HMI is so problematic really kills productivity. Emulate really needs to be less fragile and connecting to it needs to have a step-by-step procedure that is repeatable. I alone can't do much about it, but perhaps a community of Ignition users could be persuasive?

Follow my procedure from four comments back, add michael's tweak, and you very likely will see tags.

1 Like

Hi everybody,

I was trying to find a solluton for my probelm and found this topic.
I have a Rockwell PLC running in a Simulator, ECHO. This is running in one VM.
I have another VM with Ignition.
Both are on the same IP range, I can ping each other without problem.
But when I create my Device Connection on Ignition, I can't make them communicate.
I read everything here but can't find a solution yet.

Echo is different from Emulate. This topic's instructions apply only to Emulate.

Ping doesn't exercise the ports that EtherNet/IP uses, so tells us only that communication is physically possible. You might have firewalls in the way, or Echo might not be configured correctly. (I haven't used Echo. Others here might be able to help with that.)

1 Like

Echo works directly without any trickery, but you just need to make sure your firewall on the PC allows connections to it. If you're doing this all internally and are fine with just turning off the firewall, do that and you should be able to connect. Also, make sure you're using the same IP you have the PLC bound to in the Echo configuration and matching slot number as well. Otherwise, it should just work. On ours, I've set up several additional IP addresses so we can have PLCs on different IPs on our network since we may have multiple projects at a time both using slot 0 or 1, this keeps them able to use the same slot number just on different IPs.

Also, make sure you're using the latest version as it fixed some issues on the initial release.

1 Like



I use OPC-DA COM to communicate with emulator, not OPC UA

1 Like

Thank you for everyone that contributed. I assembled the advice into a step by step guide attached. I also posted this to the Resource page of my site DPAS-INC.com. If there are any corrections/improvements, feel free to pass them along.

1 Like

Dude. Make your own graphics. Taking mine to post on a commercial site is not appreciated. Or, better, add another comment to this topic with the additional information you think is valuable. Then link people here from your site.

Done

ignition_localopcuatoemulate.pdf (825.5 KB)

2 Likes

Finally got around to this, thanks to the light-duty holiday week.

Could not break the functionality with FTLinx up through v6.31, RSLinx Classic through v4.31, and Studio5000 Emulate v35.00.00.

I've loaded test code into instances of Logix firmware 20, 21.03, 23, 24, 28, 30, 31, 32, 33, 34, and 35. All work flawlessly with external EtherNet/IP connections. (I even set them all up together to make a torture test.) These are the firmware version my install supports. (Plus v21.00. I skipped that, as it crashed on me.)

One operational note that had me scratching my head: Emulate absolutely needs RSLinx Classic running, with the virtual backplane configured, or it will not successfully start up any saved controllers. And, unlike Studio5000 itself, its attempts to auto-start RSLinx as an application consistently failed. Starting RSLinx manually (in between Emulate's attempts) would let it finish starting up. Or you can set RSLinx to run as a service.

Final note: Studio5000 Emulate is designed for L7x processors (aka 5570). You can convert processor files for older hardware into one of the supported versions. You cannot convert any L8x processor file (aka 5580) to use with this emulator. You need the new Logix Echo emulator ($$$ !) for that. Same with the new CompactLogix hardware I presume (5380, 5480).

2 Likes

I normally run mine RSLinx as server, it works better with Ignition when emulating things.

You mean OPC UA? Then you cannot trivially swap to the native Ignition driver for deployment.

1 Like

RSLinx can run as a server or non server, if you have RSLinx Classic Launch Control Panel

I think you mean "run as a service", not "server", in that case. Running as a service or not has no impact on the actual connections, as long as RSLinx actually starts before Emulate.

You are right