Configuring Controllers for IP Client


The typical configuration of a Mercury controller on a network is for the controller to act as an iterative server.  In this manner, the driver initiates the connection to the controller.  This configuration, known as "IP Server" in the "Connection Type" field (Host Communication page) on the controller's Configuration Manager web setup pages, is well suited for controlled networks without firewalls between the host application server and the controller. In contrast, if a controller is located behind a firewall from the driver, the controller itself can be configured to initiate the connection to the driver.  This configuration is known as "IP Client".


The following information and settings are required to use IP Client for Host Communication:

  • UnityIS version 10.9.94 or higher
  • TCP port opened on the firewall, by default it is port 3001
  • TCP/IP Network settings on the controller to include IP Address, Subnet Mask and Default Gateway
  • MAC Address of the Controller
  • IP address of the server hosting the Mercury Driver

I. Configuring the Driver for IP Client Connection(s)

  1. From UnityIS Hardware Manager, stop the Mercury driver and unlock the module.
  2. In the Driver property, set the "IP_Client_Port" to the port address that the controllers will communicate on back to the driver. By default, it is port 3001.
  3. Restart the Driver. (i.e. by starting and stopping the driver)

II. Configuring the Controller for an IP Client Connection

  1. Log in to the controller Configuration Manager web setup page using any browser; Internet Explorer is recommended.
  2. In the Host Comm section of the Configuration Manager web interface, set the "Communications Address" to 0 if it is not already set to 0.

Note:  Setting the address to any other value is not supported at this time.

  1. Next, set the Primary Host Port Connection Type value to "IP Client".
  2. Enter the Host IP address (i.e., IP address of the Server running the Mercury Driver) and port number (by default, the port number is 3001) to which the Mercury controller will initiate the connection, as well as the connection mode and retry interval.

Note: only connection mode of continuous is supported at this time.

  1. Click the "Accept" button.
  2. Then hit the "Apply Settings" in the navigation menu item to save these changes to the Mercury Controller. (See Figure 1)

Figure 1 

III. Adding the IP Client Controller in UnityIS

  1. Launch UnityIS Hardware Manager and unlock the module.
  2. Right-click the Mercury Driver>Edit>Add Controller.
  3. In the Add Controller window, under the Manual Setup tab, select the correct controller model under the "Controller Type" property and click OK. The newly added controller will now appear underneath the Driver.
  4. Select the newly added controller.
  5. In the Properties section of the controller, set the "Connection_Type" property to "7- Ethernet (IP Client)", and in the "MAC Address" property, enter the MAC address of the controller, for example: 00:0F:E5:00:5C:81

Note: it is ONLY NECESSARY to enter the MAC Address property for Controllers that are connected via "7- Ethernet (IP Client)".  This field is auto filled for controllers that communicate via "4- Ethernet (IP Server)".

  1. After the EP Controller has been configured this way, it will attempt to establish a connection to the Host/Driver address and port number specified in the Driver "IP_Client_Port", and the Driver will identify the Controller based on the MAC Address and use the standard UnityIS addressing.
  2. The Controller should automatically come online within a few seconds. If it doesn't, then try toggling the "Poll" property (i.e. under the poll property, check and uncheck the box).
Was this article helpful?