Simulating Responses for Multiple Modbus Devices?

So I have a bunch of devices that communicate via Modbus TCP gateways. So every tag would be linked to something like "[{parent_device}]{protocol_address}.HR###" or whatever.

Is there some quick way of moving these devices in the project between polling actual devices vs some sort of simulated device? Currently we have been configuring some sort of local modbus simulator to respond to polls, but when the number of devices increases this becomes a problem with only one modbus simulator responding to all.

Really? How many devices are you talking about?

Something like 35000 tags across several thousand devices.
The problem is if they're all sharing one simulator and one set of registers, when you toggle one bit it's total chaos. We work around this to some extent by testing piece-by-piece with multiple modbus simulators using multiple ports and SlaveIDs. But really with that large of an integration test it is a bit of a hassle and we're looking for a better way.

I don't know, this would have been my suggestion if you weren't already doing it. Ignition doesn't have any kind of "simulation mode" for drivers or anything like that.

Maybe somebody else has an idea.

You probably want to try my alternate Modbus driver, and use multiple nodes in multiple instances, with each instance listening on a different port. You can have 255 nodes per instance, and every node/instance combination will have its own live storage. For efficiency, you should configure each node to only cover a limited range of addresses.

Consider running an extra Ignition gateway (in trial mode for dev, perhaps) just for such emulation tasks. Give the extra gateway multiple IP addresses if necessary.