MODBUS MAP
Modbus Map 1
Doc. No. : MM-TC-0001
Version E
Date : 2022/11
NCU Modbus Map
TRINA R&D DEPARTMENT
MODBUS MAP
2
Revision Record
Date
Version Description Prepared by Edited by Reviewed by
(MM /YY)
A 03/2020 First edition
Change the BIT31
error in the TCU
B 03/2020 fault to BIT15 The
baud rate was
changed to 9600
Expansion of 150
C 12/2020
TCU protocols
Functions about
D 11/2022 snow sensor
added
TCU error status:
Bit0-Difference in
E 11/2022
angles for multi-
motor added
MODBUS MAP
3
Content Table
1. Shorthand .................................................................................................3
2. Communication Protocol Overview ................................................................4
2.1. The format of the data frames ................................................................................................ 5
2.2. Function code ............................................................................................................................ 5
2.3. Message instruction format ..................................................................................................... 5
Read the Hold Register (0x03) ................................................................................... 6
Read the Input Register (0x04) .................................................................................. 7
Write Single Register (0x06) ....................................................................................... 8
Write Multiple Register (0x10) .................................................................................... 9
3. Register Map ..............................................................................................10
3.1. Basic ......................................................................................................................................... 10
3.2. Hold Register(0x03) ................................................................................................................ 11
3.3. Input Register(0x04) ............................................................................................................... 17
MODBUS MAP
4
1 SHORTHAND
TABLE 1-1 SHORTHAND
Name Description
In master-slave communication, the party that initiates the
Master node
communication is called the master node
In master-slave communication, the party that responds passively is
Slave node
called the slave node
U16 typedef unsigned int INT16U
I16 typedef signed int INT16S
TCU Tracker Control Unit
NCU Net Control Unit
R Read Only
R/W Read and Write
N/A Not Applicable
MODBUS MAP
5
2 COMMUNICATION PROTOCOL
OVERVIEW
2.1. The format of the data frames
Address Function
Register address Data code CRC16 check code
code code
1 byte 1 byte 2 byte N byte 2 byte
2.2. Function code
Function Code Description Comments
Single and multiple hold
0x03 Read the hold register
register reads are supported
Single and multiple input
0x04 Read the input register
register reads are supported
Support for single register
0x06 Write single register
write action
Support multi - register
0x10 Write multiple registers
continuous write action
MODBUS MAP
6
2.3. Message instruction format
Read the Hold Register (0x03)
The master node requests the frame format
Data field Length Description
Slave address 1 byte
Function code 1 byte 0x03
Register start address 2 byte High bytes before, low bytes after
Number of registers 2 byte 1~125
CRC16 Check 2 byte Low bytes before, high bytes after
The slave node responds normally to the frame format
Data Field Length Description
Slave address 1 byte
Function code 1 byte 0x03
Number of bytes 1 byte 2xN
Register values 2 x N byte
MODBUS MAP
7
CRC16 Check 2 byte Low bytes before, high bytes after
Read the Input Register (0x04)
The master node requests the frame format
Data field Length Description
Slave address 1 byte
Function code 1 byte 0x04
Register start address 2 byte High bytes before, low bytes after
Number of registers 2 byte 1~125
CRC16 Check 2 byte Low bytes before, high bytes after
The slave node responds normally to the frame format
Data Field Length Description
Slave address 1 byte
Function code 1 byte 0x04
Number of bytes 1 byte 2xN
MODBUS MAP
8
Register values 2 x N byte
CRC16 Check 2 byte Low bytes before, high bytes after
Write Single Register (0x06)
The master node requests the frame format
Data Field Length Description
Slave address 1 byte
Function code 1 byte 0x06
Register address 2 byte High bytes before, low bytes after
Register values 2 byte High bytes before, low bytes after
CRC16 Check 2 byte Low bytes before, high bytes after
The slave node responds normally to the frame format
Data Field Length Description
Slave address 1 byte
Function code 1 byte 0x06
Register address 2 byte High bytes before, low bytes after
MODBUS MAP
9
Register values 2 byte High bytes before, low bytes after
CRC16 Check 2 byte Low bytes before, high bytes after
Write Multiple Register (0x10)
The master node requests the frame format
Data Field Length Description
Slave address 1 byte
Function code 1 byte 0x10
Register start address 2 byte High bytes before, low bytes after
Number of registers 2 byte 0x0000~0x007B
Number of bytes 1 byte 2xN
Register values 2N byte High bytes before, low bytes after
CRC16 Check 2 byte Low bytes before, high bytes after
Data Field Length Description
Slave address 1 byte
MODBUS MAP
10
Function code 1 byte 0x10
Register start address 2 byte High bytes before, low bytes after
Number of registers 2 byte High bytes before, low bytes after
CRC16 check 2 byte Low bytes before, high bytes after
3. REGISTER MAP
3.1. Basic
Title Basic Information Comments
Update
Revised version V1.5
date:2022/11/18
Communication
Modbus-RTU
protocol
Communication
RS-485 Serial port
interface
Serial port-parameter 9600,None,8,1 Can't be changed
Device's initial
1 Could be changed
address
0x03-Read Hold
Register
0x04-Read Input
Function code Register
0x03/0x04/0x06/0x10
supported 0x06-Write Single
Register
0x10-Write Multiple
Registers
MODBUS MAP
11
3.2. Hold Register (0x03)
Data
Description R/W Unit Gain Address Comments
Type
Poll the number of TCU, for
example: If set to 5, poll the
TCU num R U8 1 0 1st to 5th TCU and update
the corresponding register
data
1#TCU ID R U8 N/A 1 1
150#TCU ID R U8 N/A 1 150
1#TCU actual
R INT16 ° 10 151 range [-60.0,60.0]
angle
150#TCU actual
R INT16 ° 10 300 Same as above
angle
Bit0 Difference in angles
Bit2 Motor error
Bit3 Inclinometer error
Bit4 Overcurrent
1#TCU error Bit5 East Limit error
R U16 N/A 1 301
status Bit6 West Limit error
Bit7 RTC error
Bit8 Limited Battery
Bit9 Low Battery
Bit15 Comm error
150#TCU error
R U16 N/A 1 450 Same as above
status
Total_radiation R U16 W/m2 1 451 Range[0,2500]
Direct_radiation R U16 W/m2 1 452 Range[0,2500]
MODBUS MAP
12
Precipitation R U16 N/A 1 453 Reversed
Bit0 Anemometer 1 error
Bit1 Anemometer 2 error
Bit2 IIC error
Bit3 GPS error
Bit4 Irradiation
NCU error status R U16 N/A 1 455 Bit5 Ethernet error
Bit6 Lora error
Bit7 Difference in Wind
speed
Bit8 Vane error
Bit9 snow sensor error
Share wind speed R/W U16 Km/h 10 456 Reversed,Range[0,200]
0x0000 STOP
0x0020 AUTO
0x0042 RAIN
0x0048 Cleaning
0x0140 Target Angle
the following mode could
1#TCU Operating be read,can't be set
R/W U16 N/A 1 457
status 0x0010 Manual
0x0012 Manual_stow
0x0014 Manual_west
0x0018 Manual_east
0x0041 Snow
0x0044 Wind
0x0440 Hail
150#TCU
R/W U16 N/A 1 606 Same as above
Operating status
Range[-60.0,60.0]
Read: Read the TCU target
angle
Write: Can only be used if
the operating status code is
the TARGET Angle
1#TCU Target
R/W INT16 ° 10 607 For single control, write the
angle
corresponding TCU's
operating status code as
TARGET Angle first, and
write this register within 1
second after receiving the
reply
MODBUS MAP
13
150#TCU Target
R/W INT16 ° 10 756 Same as above
Angle
1#TCU Battery
R U16 V 10 757 Range[0.0,40.0]
Voltage
150#TCU Battery
R U16 V 10 906 Same as above
Voltage
1#TCU Motor
R U16 A 10 907 Range[0.0,40.0]
Current
150#TCU Motor
R U16 A 10 1056 Same as above
Current
Range[-20,20]
Optimization
R/W INT8 ° 1 1057 special value 100 indicates
Angle
the overcast weather
ShareSnowDeep R/W U16 mm 1 1059
Bit 0: Smart Algorithm
Switch (0:Off 1:On);
Bit 1: Smart Algorithm Setup
(0:Master 1:Slave);
SmartTack_Type R/W U8 N/A 1 1060 Bit 2: Switch for Snow Sensor
Data (0:Off 1:On);
Bit 3: Switch for Snow Sensor
Data Setup (0:Master
1:Slave);
Snow thickness-
R/W U16 mm 1 1061
initial position
Snow thickness-
R/W U16 mm 1 1062
alarm position
Range[-180.00,180.00]
the positive value is east
Longitude R/W INT16 ° 100 1063
longitude,negative value is
west longitude.
Range[-90.00,90.00]
the positive value is north
Latitude R/W INT16 ° 100 1064
latitude,negative value is
south latitude.
Range[-12,12]
the positive value is eastern
Time zone R/W INT16 N/A 1 1065
time zone,negative value is
western time zone.
MODBUS MAP
14
Vanguard-
Level 1 wind start R/W U8 km/h 1 1066 Range[0,100]
speed
Vanguard-
Level 1 wind start R/W U16 s 1 1067 Range[0,1000]
time
Vanguard-
Level 1 wind R/W INT8 ° 1 1068 Range[0,60]
protect angle
Vanguard-
Level 2 wind start R/W U8 km/h 1 1069 Range[0,100]
speed
Vanguard-
Level 2 wind start R/W U16 s 1 1070 Range[0,1000]
time
Vanguard-
Level 2 wind R/W INT8 ° 1 1071 Range[0,60]
protect angle
Vanguard-
Level 3 wind start R/W U8 km/h 1 1072 Range[0,100]
speed
Vanguard-
Level 3 wind start R/W U16 s 1 1073 Range[0,1000]
time
Vanguard-
Level 3 wind R/W INT8 ° 1 1074 Range[0,60]
protect angle
Vanguard-Stop
R/W U16 km/h 1 1075 Range[0,100]
speed
Vanguard-Stop
R/W U16 s 1 1076 Range[0,1000]
time
Year R/W U16 N/A 1 1077 [0,2099]
Month R/W U16 N/A 1 1078 [1,12]
Day R/W U16 N/A 1 1079 [1,31]
Hour R/W U16 N/A 1 1080 [0,23]
Minute R/W U16 N/A 1 1081 [0,59]
Second R/W U16 N/A 1 1082 [0,59]
0x0000 STOP
Group control R/W U16 N/A 1 1084 0x0020 AUTO
0x0042 RAIN
MODBUS MAP
15
0x0048 Cleaning
0x0140 Target Angle
Can only be used if the
Group angle R/W U16 ° 10 1085 operating status code is the
TARGET Angle
1-Vanguage 2-Agile
Value 1 means NCU will use
Vanguard wind parameters
Stent Type R/W U8 N/A 1 1086
Value 2 means NCU will use
Agile wind parameters and
wind direction parameters
Agile-
Level 1 wind start R/W U8 km/h 1 1087 Range[0,100]
speed
Agile-
Level 1 wind start R/W U16 s 1 1088 Range[0,1000]
time
Agile-
Level 1 wind east R/W INT8 ° 1 1089 Range[-60,60]
angle
Agile-
Level 1 wind west R/W INT8 ° 1 1090 Range[-60,60]
angle
Agile-
Level 2 wind start R/W U8 km/h 1 1091 Range[0,100]
speed
Agile-
Level 2 wind start R/W U16 s 1 1092 Range[0,1000]
time
Agile-
Level 2 wind east R/W INT8 ° 1 1093 Range[-60,60]
angle
Agile-
Level 2 wind west R/W INT8 ° 1 1094 Range[-60,60]
angle
Agile-
Level 3 wind start R/W U8 km/h 1 1095 Range[0,100]
speed
Agile-
Level 3 wind start R/W U16 s 1 1096 Range[0,1000]
time
MODBUS MAP
16
Agile-
Level 3 wind east R/W INT8 ° 1 1097 Range[-60,60]
angle
Agile-
Level 3 wind west R/W INT8 ° 1 1098 Range[-60,60]
angle
Agile-Stop time R/W U16 s 1 1099 Range[0,1000]
Agile wind
direction-
R/W U16 N/A 1 1100 Range[0,360]
Lower limit of east
direction
Agile wind
direction- R/W
U16 N/A 1 1101 Range[0,360]
Upper limit of east
direction
Agile wind
direction-
R/W U16 N/A 1 1102 Range[0,360]
Lower limit of
west direction
Agile wind
direction-
R/W U16 N/A 1 1103 Range[0,360]
Upper limit of
west direction
Agile wind
direction- R/W U16 km/h 1 1104 Range[0,100]
Start speed
Agile wind
direction- R/W U16 s 1 1105 Range[0,1000]
Start Time
Agile wind
direction- R/W U16 s 1 1106 Range[0,1000]
Stop Time
BIT5 Manual Stow
BIT4 Hail
BIT3 High Wind
Alarm_poririty R/W U8 N/A 1 1107
BIT2 Snow
BIT1 Medium Wind
BIT0 Low Wind
MODBUS MAP
17
3.3. Input Register (0x04)
Data
Description R/W Unit Gain Address Comments
Type
Real-time wind
R U16 N/A 1 1000
direction
Real-time wind speed R U16 km/h 1 1001
0:Normal
1:Wind Level 1
Wind speed level R U16 N/A 1 1002
2:Wind Level2
3:Wind Level3
0:No wind
1:East
Wind direction R U16 N/A 1 1003
2:West
3:Vane error
Real-time snow depth R U16 mm 1 1004 Reserved