This document describes how to communicate with the Trident Model PD765 and Javelin D Model PD644 meters using the Modbus RTU Serial Communication Protocol. The user should be familiar with Modbus serial communication and the meters. Refer to the meter instruction manuals and the serial communication adapters for setup and wiring instructions. Register Overview 4000 4006: Process Value (PV), Max PV, Min PV in integer and floating point formats, with interspersed relay status for block reading, Initialize, Reset Max & Min display, Alarm & Relay status, Relay acknowledge, Linear/Square Root selection, Remote Process scaling initiation. 400 403: Input selection, Decimal points, Adjust, Bypass, Cutoff, Filter, Lock, Baud, Parity, Modbus Address, and Byte-to-byte timeout, Display Intensity. 400 40: Remote Scaling for Process inputs. 4030 4030: Relays; Set & Reset points, Turn-on & Turn-off delays, Operating Mode. 40 4: 4-0 ma output; Mode, Filter, Sensor Break, Overrange, Underrange, Maximum allowed, Minimum allowed, Display, Display, Output, Output, Data (ma), Data (bits) 490 496: Product ID, Firmware Version, and Manufacturing Serial. Register Name Access Address (hex) 4000 0 (0000) Display Read Only -999 to +9999 User Defined Represents the display without the Decimal point setting in 400. 4000 (000) Alarm and Relay status Read both, Relays = In Alarm = relay energized Bits 06, Read alarm status and energized/non-energized status of relays. Alarms are read only, so the upper byte is ignored for writes. Writing to a relay is only allowed when the relay is in the meter-disabled (Modbus accessible) mode. When writing, bits through 5 are ignored. Alm = Alarm. Rly = Relay. 5 4 3 0 9 8 7 6 5 4 3 0 0 0 0 0 0 0 Alm Alm 0 0 0 0 0 0 Rly Rly 40003 (000) Maximum Display Read -999 to +9999 User defined 06 Represents the Maximum display, excluding the decimal point, since last power up or Max Value reset. Decimal point setting in 400. Writing any will reset the Maximum display to the present display. 400 3 (0003) Minimum Display Read -999 to +9999 User defined 06 Represents the Minimum display, excluding the decimal point, since last power up or Min Value reset. Decimal point setting in 400. Writing any will reset the Minimum display to the present display. 40005 40006 4 5 (00 0005) Display Read Only -999 to +9999 User defined Floating point Represents the display including the Accessing 40005 or 40006 by itself will return 0xFFFF. PRECISION DIGITAL CORPORATION 89 October Hill Road Holliston MA 0746 USA Tel (508) 655-7300 Fax (508) 655-8990 www.predig.com
Register Name Access Address (hex) 40007 6 (0006) Alarm and Relay status Read both, Relays = In Alarm = relay energized Bits 06, Mirror of 4000. 40008 40009 7 8 (0007 0008) Maximum Display Read Only -999 to +9999 User defined Floating point Represents the Maximum display, including the decimal point, since last power up or Max Value reset. Accessing 40008 or 40009 by itself will return 0xFFFF. 4000 400 9 0 (0009 000A) Minimum Display Read Only -999 to +9999 User Defined Floating point Represents the Minimum display, including the decimal point, since last power up or Min Value reset. Accessing 4000 or 400 by itself will return 0xFFFF. 400 (000B) Linear/Square Root 0xFF00 = Sq. rt 0x0000 = Linear Bit 06, Determines process input function. 0x0000 for linear function. 0xFF00 for square root. Any other write is ignored and has no effect. 4003 (000C) Alarm Acknowledge Only Not applicable Bits 06 Clear Relay n alarm condition. Set bit equal to to acknowledge. Only has effect on relays programmed to allow manual acknowledging. Alm = Alarm; X = don t care. 5 4 3 0 9 8 7 6 5 4 3 0 4004 3 (000D) Initialize Meter Only 0xFF00 to initialize. Bit 06 X X X X X X Alm Alm X X X X X X X X 0xFF00 to reinitialize the meter. Writing any other data has no effect. 4005 4 (000E) Remote Scale ma Only 0xFF00 to execute remote scaling. Bit 06 Used to remote scale the ma input. Writing any other data has no effect. 4006 5 (000F) Remote Scale Volts Only 0xFF00 to execute remote scaling. Bit 06 Used to remote scale the Volts input. Writing any other data has no effect. 400 00 (0064) Input selection Not applicable Word; bit flags See Table, page 7. 400 0 (0065) Active Decimal Point,, 3, or 6 6 = no to 3 = number of digits to right of dp. Mirror of bits 6-4 of 400. Only process decimal points can be written. Writing a non-process dp returns 0xFFFF. 4003 0 (0066) Current & Voltage decimal points 0x00CV, where C & V =,, 3, or 6. Word See table. If an out of range is sent for either or both decimal points, no change is made for that. Valid settings are none,,, and 3 decimal places. 40 03 (0067) Adjust -99 to +99 C or F Actually represents -9.9 to +9.9. Offset is only applied to temperature inputs. If Adjust is greater than C and the temperature units are switched to F, it will be set to 9.9 (lower than -, set to -9.9). Page
Register Name Access Address (hex) 4005 (0068) Bypass to 999 Percent of full scale or F Actually represents 0. to 99.9. If the input steps greater than the bypass, it will be displayed immediately, with no filtering occurring. The number represents percent of full-scale for process inputs and F for temperature inputs. No effect if filter = 0. 4006 05 (0069) Cutoff 0 to 9999 User Defined Represents the cutoff without the Valid only for process inputs. 4007 06 (006A) Filter 0, to 99 Unit-less Display filtering. 0 = no filtering. New = old + ((new - old)/filter) 4008 07 (006B) Lock 0x0000 to 0x9999 (Packed BCD) See Note 5, page 6. 4009 08 (006C) Baud 0 to 6 0 = 300, = 600, = 00, 3 = 400, 4 = 4800, 5 = 9600, & 6 = 900. Changes to this register are saved but don t take effect until next meter reset (Modbus command or power-up). Writing out of range data results in a baud rate of 400. 400 09 (006D) Parity 0 to Word; bit flags 0 =, = Odd, = Even. Changes to this register are saved but don t take effect until next meter reset (Modbus command or power-up). Writing out of range data results in a parity setting of Even. 40 0 (006E) Byte-to-byte timeout 0 to.54 Seconds This is the timeout between bytes of a Modbus frame. Note that a less than the minimum for the present baud rate cannot be saved. Minimums are: 300 baud = 0.06 secs, 600 = 0. 00 = 0.0 and 0.0 for 400 to 900. Changes to this register are saved but don t take effect until next meter reset (Modbus command or power-up). Writing out of range data results in a timeout of.54 seconds. 40 (006F) Modbus Address Read to 47 Changes to this register are saved but don t take effect until next meter reset (Modbus command or power-up). Writing out of range data results in an address of 47. 403 (0070) Display Intensity Read to 8 8 is the brightest level. Writing out of range data results in level brightness. 400 400 4003 40 4005 4006 00 (00C8) 0 (00C9) 0 03 (00CA 00CB) 05 (00CC 00CD) Display &, ma -999 to 9999 User Defined Input &, ma -999 to 000 0 s of μa (-9.99 to 0.00 ma) Floating point Used to remotely scale the ma input. This data represents the display without a Used to remotely scale the ma input. If data sent is out of range, default s of 400 and 000, respectively, will be used instead. This data represents the input points in ma. For example: 400 4.00 ma. Page 3
Register Name Access Address (hex) 4007 4008 4009 400 40 40 06 (00CE) 07 (00CF) 08 09 (00D0 00D) 0 (00D 00D3) Display &, Volts Input &, Volts -999 to 9999 User Defined PD644: 0 to 3000 PD765: -999 to 000 PD644: Tenths of Volts (000.0 to 300.0 V) Floating point PD765: 0 s of mv (-9.99 to 0.00 V) Used to remotely scale the Volts input. If data sent is out of range, default s of 0 and 000, respectively, will be used instead. This data represents the display without a Used to remotely scale the Volts input. If data sent is out of range, default s of 0 and 000, respectively, will be used instead. This data represents the input points in volts. For example: 000 0.00 V. 4030 40305 300 30 30 303 3 (0C to 030) Relay : Set point Reset point Turn-on delay Turn-off delay Mode -999 to +9999-999 to +9999 0 to 99 0 to 99 Bits 4,,, 0 User Defined User Defined Seconds Seconds Word: bits Set and Reset points represent the display without the See Table 3, page 8, for operating modes and bit assignments. 40306 4030 305 306 307 308 309 (03 to 035) Relay : Set point Reset point Turn-on delay Turn-off delay Mode -999 to +9999-999 to +9999 0 to 99 0 to 99 Bits 4,,, 0 User Defined User Defined Seconds Seconds Word: bits Set and Reset points represent the display without the See Table 3, page 8, for operating modes and bit assignments. 40 40 403 4 405 400 (090) 40 (09) 40 (09) 403 (093) 4 (094) Mode Filter Sensor Break 0000 0000 y000 0yyy 0, to 9 0 to 399 0 s of μa Overrange 0 to 399 0 s of μa Underrange 0 to 399 0 s of μa Selects output option and where the data source for the 4-0 ma output. See Table 4, page 9. This feature is not available through manual programming. 4-0 ma filtering: 0 = no filtering. Writing out of range data results in a of 0. New = old + ((new - old)/filter) Due to hardware variations, actual output range is designed to be at least.00 to 3.00 ma. Writing out of range data results in a of 3.00 ma. This feature is not available through manual programming. Due to hardware variations, actual output range is designed to be at least.00 to 3.00 ma. Writing out of range data results in a of.00 ma. This feature is not available through manual programming. Due to hardware variations, actual output range is designed to be at least.00 to 3.00 ma. Writing out of range data results in a of 3.00 ma. Page 4
Register Name Access Address (hex) 406 405 (095) Maximum allowed 0 to 399 0 s of μa This feature is not available through manual programming. Due to hardware variations, actual output range is designed to be at least.00 to 3.00 ma. Writing out of range data results in a of 3.00 ma. 407 406 (096) Minimum allowed 0 to 399 0 s of μa This feature is not available through manual programming. Due to hardware variations, actual output range is designed to be at least.00 to 3.00 ma. Writing out of range data results in a of 0.00 ma. 408 407 (097) Display Value -999 to +9999 User Defined 6, 4-0mA out scaling. Represents the display without the 409 408 (098) Display Value -999 to +9999 User Defined 6, 4-0mA out scaling. Represents the display without the 40 409 (099) Output 0 to 399 0 s of μa 4-0mA out scaling. Represents the ma output at Display without Writing out of range data results in a of 3.99 ma. 4 4 40 (09A) 4 (09B) Output Data in ma or Data in bits 0 to 399 0 s of μa 0 to 399 or 0 to 65535 0 s of μa (00.00 to 3.99 ma) or DAC bits 4-0mA out scaling. Represents the ma output at Display without Writing out of range data results in a of 3.99 ma. If 4-0mA out mode is set to Serial Comm., ma (0x83) this register is in 0 s of μa. Due to hardware variations, the actual output range is at least.00 to 3.00 ma. Writing out of range data results in a of 3.99 ma. If 4-0mA out mode is set to Serial Comm., bits (0x84), this register is in DAC bits. See Table 4, page 9. 490 49 4905 4908 4909 496 900 903 (38C 38F) 9 907 (390 393) 908 95 (394 39B) Product Identifier Read Only Not applicable Firmware Version Read Only Not applicable Mfg. Serial Read Only Not applicable ASCII characters ASCII characters ASCII characters 8 characters indicating the product firmware number 8 characters indicating the firmware version number 6 (max) characters indicating the manufacturing serial number information. Page 5
Notes Note. The Register numbers and addresses follow the Modbus format: 3xxxx are for Input Registers and are read-only. 4xxxx are for Holding Registers and are read/write. Although there are no specific 3x Registers, all 4x Registers are mirrored into 3x register space, and are therefore capable of being read by Modbus function (Read Input Registers). All data addresses in Modbus messages are referenced to zero (0), while Register addresses are referenced to one (). For example, Register 4000 is sent in the Modbus message as 0x0063 (00- = 99 63 hex). If two addresses are shown separated by a, they form a register pair to make the parameter into a 4-byte (3 bit). Note. Range: Writing a that is outside the parameters range will force it to be limited to the closest within the range. For example, if the range is -.99 to +.99 and the sent is 3., the used is.99. Likewise for the lower side of the range. Exceptions are noted in the comments. Note 3. Data Types: Data format is highest byte first. Word = 6 bit = -3768 to 3767 Long = -,47,483,648 to,47,483,647 Float = IEEE floating point format, 4 bytes Decimal point setting in 400. These s represent the number without regard to the The decimal point setting can be found in Holding Register 400. For example, if the number.34 is displayed, a read of 4000 will return 34 (0xD). Register 400 will contain (0x000) to indicate a decimal point setting of two places to the right of the Floating point versions of these numbers, with the decimal point included, are also available. Examples (register s are shown in hexadecimal): Process Registers Register 4000 Register 400 displayed 40005 40006.34 D 0003 3F9D F3B6.34 D 000 445 70A4 3.4 D 000 4F6 CCCD -3.4 FBE 000 CF6 CCCD Note 4. Remote scaling procedure: a. the desired s for the display, Display &. b. the desired s for the input, Input &, for ma or volts. Note that the s written to the PD765 are (ma * 00) or (volts * 00) because of the meter s input specifications (4 digit, 0.00 ma and 0.00 volt input ranges) and s written to the PD644 are (volts * 0) because of the meter s input specifications (4 digit, 300.0 volt input range). c. to the remote scaling register for either ma or volts. Warning! The scaling process takes the input s in ma or volts and converts them to A/D counts. Therefore, do NOT execute a remote scaling register write without first writing the display and input registers. In a similar vein, don t write to the ma (volts) registers and then execute a remote scale command for the volts (ma) input. Note 5. A read of the Lock register will return 0x0000 if the meter is unlocked, otherwise it will return 0xFFFF to indicate a locked meter. unlock, the correct lock number must be written, which will then clear the lock number to 0x0000. If the wrong lock number is written, the reply will return 0xFFFF. If the correct lock number is written, the reply will be 0x0000. An unlocked meter can be locked by writing any non-zero, but the must be in BCD (i.e. only nybbles between 0 and 9. If a nybble between A and F is sent, no change to lock status will occur and the return will be 0xFF00). Note 6. Modbus is a Registered Trademark of Schneider Automation Inc. Page 6
Tables Table. Input configuration Temperature sensor type and units are only used when temperature is input selected. Decimal point is automatically set for PD765, if temperature input is selected. Invalid selections will result in default settings (shown by the asterisks). Defaults are based on the input selected: for example, if RTD is selected, thermocouple type selection is not allowed and decimal point is forced to none. Bit(s) 5 4, 3,, 0, 9, 8 7, 6, 5, 4, 3,,, 0 F or C Active decimal point setting Temperature sensor type Input selected 0 C PD765 0x0000 J * PD765 F 0x000 3.4 0x000 K 0x0000 Volts * 0x000.34 * 0x000 T 0x00 ma 0x3000.34 0x0300 T, 0. 0x00 RTD 0x6000 34 0x00 E 0x003 TC 0x0500 0x0600 00 Ω RTD * 0.00385 α 00 Ω RTD 0.0039 α * Default settings for invalid selections Page 7
Table. Decimal Point Selections for PD644 and PD765 Decimal Point for PD644 Bit(s) 5 4 3 0 0x000 Decimal Point Decimal Point Selections for PD644 and PD765 0x 3.4 0x.34 0x3.34 Decimal Point for PD765 Bit(s) 5 8 7 4 3 0 0x6 34 00000000 Decimal Point for ma Decimal Point for Volts The relationship between these decimal point settings and the one found in 400 (and mirrored in 400) is that the decimal point setting in 400 is the active (presently displayed) decimal point, and the settings found in 4003 are the settings for the ma and Volts inputs. If the ma input is selected, the decimal point setting in bits 4 to of 400 will be the same as the one in bits 7 to 4 of 4003. If the voltage input is selected, the decimal point setting in bits 4 to of 400 will be the same as the one in bits 3 to 0 of 4003. If a temperature input is selected, the settings in 4003 may or may not be the same as the active setting (in 400). There is no storage for the decimal point settings for the RTD or thermocouple inputs because these are fixed. Table 3. Relay Configuration Bit(s) 5 8 7 5 4 3 0 00000000 000 Normal/ Fail-Safe 0 Operation 0 Normal 0 Automatic reset Fail-Safe Auto & Manual reset Latching 3 Latching with Clear 4 Pump Alternation 5 Unused 6 Unused 7 Off (Disabled) (Modbus accessible) Page 8
Table 4. 4-0 ma Output Modes Bit(s) 5 8 7 6 3 0 00000000 Output Option 000 0 4-0 ma Data Source 0 PD644 0 Display No 4-0 ma 4-0 ma installed PD765 4 3 Max Display Min Display Serial Comm., ma Serial Comm., bits The data for the 4-0 ma output is the display (process). The data for the 4-0 ma output is the Maximum display. The data for the 4-0 ma output is the Minimum display. The data for the 4-0 ma output is register 4. The data for the 4-0 ma output is register 4. 0 Relays 5 Unused Table 5. 4-0 ma 6 Unused Available Register Table This table shows available registers versus firmware versions for various Precision Digital products. PD765 PD644 Version 3.xxx Version.xxx 4000 to 4006 4000 to 400 4003 to 4004 400 to 403 400 4005 4007 to 403 400 to 40 4007 to 40 4030 to 4030 4030 to 4030 40 to 4 40 to 40 4 to 4 490 to 496 490 to 496 7 Unused Disclaimer The information contained in this document is subject to change without notice. Precision Digital makes no representations or warranties with respect to the contents hereof, and specifically disclaims any implied warranties of merchantability or fitness for a particular purpose. LIMModbus_A.doc 06/09