TPU2000/2000R Modbus/Modbus Plus Automation Guide
305
Each data block is a two byte word that has the following bit configuration:
bit 0-13 : data values
bit 14 : sign bit (1=multiply bits 0-13 by -1)
bit 15 : scale bit (0=multiply bits 0-13 by 1, 1=multiply bits 0-13 by attribute scale)
Example: Report column 1 is profiling attribute #0 (Demand kW-A) and has a dynamic scale = 122
Data word Binary pattern Scale Reported value
8,000 0001111101000000 1 8,000 kW
24,384 0101111101000000 -1 -8,000 kW
16,776 0100000011000100 122 23,912 kW
49,384 1100000011000100 -122 -23,912 kW
To obtain the reported value column from the data word, a listing for a c routine should look as follows:
long int ConvertData( unsigned short ,unsigned short );
long int report_value;
unsigned short int data_word;
report_value = ConvertData( data_word ,attribute_scale);
{
int scale=1;
if ( data_word & 0x4000 ) /* is sign bit set ? */
{
scale = -1;
}
if ( data_word & 0x8000 ) /* is scale bit set ? */
{
scale *= attribute_scale;
}
return( (data_word & 0x3fff) * scale );
}
6.5 Retransmit the Last Load Profile Data Block ( 3 6 5 )
Same as Report Next Load Profile Data Block except its the previous data sent!
6.6 Report Load Profile Data Header(Last Data) ( 3 6 6 )
This command is used to initialize the unit to report the entire contents of the accumulated load profile.
6.8 Send First Through Fault Record (3 6 8)
Msg byte
Definition
1/1 Relay Status (see command 3 4 1, msg 1/1)
1/2 Command + Subcommand = 0x68
1/3 Total Number of Messages = 30
2/1 Param Flag (high byte)
2/2 Param Flag (low byte)
2/3 Fault Type (element) (See Send First Differential Fault Record, command 3 5 8 for Fault Type
Definitions)
3/1 Setting
3/2 Fault Number (high byte)
3/3 Fault Number (low byte)
4/1 Year