Is there a way to switch the communication mode from a PAC controller to B3000-ENET between UDP anc TCP?

The communication channel to a B3000-ENET can use either UDP or TCP. The older Opto controllers (such as the LCM4) used TCP. The latest Opto controller (groov) uses UDP.

Is there any way to force groov to use TCP instead?

I don’t think so, but have to ask, what is it you are trying to do?
And to be clear, we are talking about using a B3000-ENET as remote IO to an EPIC PR1 processor?

This would be to communicate with a B3000-ENET software emulator. We have a program that simulates our process equipment. Right now, we are using OptoMMP to send AI and DI values from the simulator to an Opto controller – either an LCM4 (legacy), or PACSIM or Groov (under development).

It turns our that LCM4 used TCP/IP to communicate with a B3000-ENET, and groov and PACSIM uses UDP. We have not been able to successfully connect a PACSIM strategy to our simulator when they are running on the same PC. My best guess is that PACSIM does not bind the UDP socket with the reuse option set.

I had to talk to the software guys about this one!

Here are their thoughts;
"The only reason Factory Floor controllers used TCP was because the Ethernet cards couldn’t do UDP when we first started doing Ethernet I/O. It was not good! We had no control on timeouts, so if something went wrong, it could take up to two minutes for retries to complete.

Starting with UIO, through the present, each chart has its own UDP socket dedicated to I/O calls for that chart; the socket’s destination is set for the I/O unit currently being addressed. As long as their simulator is looking for incoming UDP commands on a specific port, there shouldn’t be a problem. If their simulator is designed to expect a dedicated connection from the controller, though, it’s not going to work."

I hope that helps…

Hmm – when I run PAC Sim on the same PC as the B3000 emulator we use for simulation, the communications are not enabled, and we get an error -25 (Port or object is not locked). When we start the B3000 simulator on a different PC, it works fine. I will escalate to product support.