Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

PI Interface for Modbus Ethernet PLC

Upgrade from 3​.x

  • Last UpdatedNov 17, 2022
  • 4 minute read

In general, there are no changes required to PI Points configured for previous 3.x versions of the interface. The following sections describe the exception cases and what the user needs to do to update them for this release.

Square Root

The SquareRoot point attribute is used to specify operations to be applied to input and/or output values. In the previous version of the interface, the case in which the SquareRoot attribute has a value of 3 and the conversion factor attribute Convers has a value of 1 may not be working as documented. The documentation for the previous version stated the following:

For floating point input tags (i.e., type real, float16, float32) and for Location3 of 103, 104, 106, 703, 704, 706:

Value = Value / Convers

In fact, in the case of SquareRoot = 3 and Convers = 1, no operation was being performed on the value if Location3 did not contain one of the codes listed (i.e. 103, 104, 106, 703, 704 or 706). So while it may have appeared that the value was being divided by 1, the value was not being altered at all. In addition, the documentation was inaccurate in that the calculation was different if Location3 did not contain one of the listed codes. In that case, in which Convers > 1, the actual calculation being performed was the following:

Value = ([(ValueInstZero) / Convers] * Span) + Zero

The above is the calculation that should be performed in all cases in which Convers is not 0 and one of the listed codes is not used and, in this release, is performed. The actual calculations used for all combinations of the square root and conversion factor attributes can be found in the SquareRoot section of this document.

Users upgrading to this version of the interface need to be aware that points in which the SquareRoot attribute has a value of 3 and the conversion factor attribute Convers has a value of 1 may have a different result than previously seen. If the result was unchanged when running the 3.x version of the interface then change the SquareRoot value of the point to 0 to continue getting the same result. Otherwise, review the calculations in the SquareRoot section of this document to determine the change required, if any, of the SquareRoot attribute.

Data Type Conversion

Some manufacturers use a single 32-bit register while the Modbus standard says there should be two contiguous 16-bit registers for IEEE 32-bit floating point numbers. This is the reason why previous versions of the interface would automatically convert data type 4 to data type 6 (see the Data Types section of the PI Point Configuration chapter). Unfortunately this is potentially dangerous with output points and this interface supports the multiple write Modbus function codes (which the previous versions did not), so the auto-conversion functionality has been removed.

While the previous versions of the interface would auto-convert data type 4 to data type 6 in cases in which the Modbus device did not support the data type, in reality both data types 4 and 5 can be problematic. For example, in previous versions if a point contained the value 403 in the Location3 attribute it would be automatically converted to 603.

Because this is potentially dangerous with output points, any point using data type 4 or data type 5 must be manually converted to data type 6 if the data type is not supported by the Modbus device. If it is not known if the data types 4 or 5 are supported on the device, the interface can be run with the previously configured points. If not supported the PI log will contain a message such as the following:

Request expected 4 bytes but the response contained 2 bytes. Verify the location 3 value of your tags.

In this case, change the Location3 attribute from 4xx to 6xx or 5xx to 6xx as required. For example, 404 would become 604 and 503 would become 603.

For more information on floating point numbers, refer to the Appendix A. Floating point representation section of this document.

Update Instrument Tags

Update the Instrument Tag attribute of all points used by the interface instance to be one of the host names defined. This can easily be accomplished by using the PI Builder plugin for Microsoft Excel. It is important to try to balance the use of the host names among the points so that the number of tag groups is relatively equal in number. This will optimize performance and is discussed in detail in the Appendix C. Tag optimization section of this document.

Adjust ExDesc attribute

Finally, when you upgrade PI Interface for Modbus Ethernet PLC from version 3.x to 4.x, tags with ExDesc configured for bitmask b=00 no longer update data and show values of Configure. To resolve this bitmasking issue, adjust ExDesc to correct the bitmask starting at b=01.

For more information, see also Bit mask (b).

In This Topic
TitleResults for “How to create a CRG?”Also Available in