Creating proxy points

As with device objects in other drivers, each client Modbus device has a Points extension that serves as the container for proxy points. The default view for any Points extension is a Point Manager. You use it to add Modbus client and slave proxy points under the appropriate Modbus device.
Prerequisites: If you are creating server (slave) proxy points, you already created the registers for the points.
 NOTE: Unlike the point managers in many other drivers, the Modbus point managers do not offer a learn mode with a Discover button, Discovered, and Database panes. The simplicity of the Modbus protocol renders this function unnecessary. Instead, you use the New button to create proxy points, referring to the vendor’s documentation for the addresses of data items in each Modbus device. 
Perform the following steps:
  1. Double-click the network node in the Nav tree, under the Exts column, double-click the Points icon (Image).

    The Point Manager view opens.

  2. (Optional) To help organize your points, click the New Folder button and create a new points folder, giving it a short name that works for your application, then double-click it to open its Point Manager.
    You can repeat this step to make multiple points folders or simply skip this step to make all proxy points in the root table.

    Each points folders has its own point manager view.

  3. To create a point, do one of the following:
    • Drag or copy the appropriate point form the palette to the device in the Nav tree.
    • Click the New button and select the type of point(s) to add (Type To Add).Typically, this is the quickest way to add proxy points, because you can specify a number of points if they can be consecutively addressed.

    The New points window opens.

    Image
  4. Select the type of point to add.
  5. To configure consecutive register numbers, enter the total number of points to add in Number To Add.
    Image
    The screen capture shows eight added points. When you specify more than 1 point, additional points are automatically assigned consecutive addresses—relative to the Starting Address you specify for the first point.
  6. For the Starting Address, as a general rule, choose Modbus addressing for Address Format.
    This lets you enter target data addresses directly from the device’s documentation, without having to subtract 40001, for example, or perform other mental math.
    Image

    Also, for read-only client points, using the Modbus address format frees you from having to set the register type property (Reg Type), as the Modbus address automatically sets this property going by the leading numeral of the full Modbus address (3 for input registers, and 4 for holding registers).

    Image
     NOTE: When entering a Modbus formatted address for a coil, the driver ignores leading zeros. For example, the Modbus address 00109 is the same as entering Modbus 109. Unlike Decimal or Hex address formats (zero-based formats), the Modbus address format is one-based, meaning that a coil addressed as Modbus 109 has a Decimal address of 108, and a Hex address of 6D. 
  7. If the point(s) is/are numeric select the Data Type, then click OK.

    This opens another New window.

  8. Name the point(s), enter data addresses as well as enter other information, such as point facets and conversion, and click OK.
    The driver adds the proxy point(s) to the Points extension (or to the current points folder) where each shows as a row in the point manager. If addressed correctly, each point should report a status of {ok} with a polled value displayed.
  9. If a point reports a {fault} status, check its ProxyExt Fault Cause property value, which typically includes a Modbus exception code string, such as Read fault: illegal data address.
  10. Continue to add proxy points as needed under the Points extension of each client Modbus device.
  11. To edit a point, double-click its row in the manager.
If programming online and the device shows a status of {ok}, you can get statuses and values back immediately to help determine if point configuration is correct. Modbus server proxy points must fall within the defined address register ranges of the parent server (slave) Modbus device, otherwise they will retain a fault status.

Example

A Modbus energy meter device has a number of TOU (Time of Use) parameters, including several for TOU Tariff Change Time configuration. For the eight possible tariff periods (1 - 8), there is a start hour (0 - 23) and start quarter of an hour (0 - 3). In the meter device, a single 16-bit holding register holds the setup of all eight tariff periods, mapped from highest bit (15) to lowest bit (0) as follows:

  • Bits 8:15 = 0 - 7 (corresponding to tariff #1 - #8)
  • Bits 2:7 = 0 - 23 (tariff start hour)
  • Bits 0:1 = 0 - 3 (tariff start quarter of an hour)

Three separate proxy points can be created, using either NumericBitsWritables or EnumBitsWritables (depending on user interface requirements), to provide read/write access to these bit-mapped values. All three points will specify the same (register) Data Address, but have different Beginning Bit values and Number Of Bits values.