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
C 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