HiQSolar,Inc. December1,17
TrueString™InverterMODBUSMap Page2of12
ContentsIntroduction...........................................................................................................................................................3
PhysicalInterface...................................................................................................................................................3Cable-Physical...............................................................................................................................................3Cable-WiringColorCode..............................................................................................................................4
MODBUSSerialSettings.........................................................................................................................................4
SupportedMODBUSFunctionCodes.....................................................................................................................5
SupportedMODBUSExceptionCodes...................................................................................................................5
SupportedMODBUSDataTypes............................................................................................................................5
MODBUSRegisterAddressing................................................................................................................................6
GeneralRegisters...................................................................................................................................................6
ProductionRegisters..............................................................................................................................................7
WritableControlRegisters.....................................................................................................................................8
MODBUSDeviceDiscovery....................................................................................................................................9
InverterModeTable............................................................................................................................................11
GeneralStatusTable............................................................................................................................................11
StringStatusTable................................................................................................................................................12
HiQSolar,Inc. December1,17
TrueString™InverterMODBUSMap Page3of12
IntroductionHiQSolarinvertersmaybeorderedwithanoptionalRS485port.Theportiselectricallyisolatedand“floating”withrespecttotheinverterandground.Theportprovides2-wire,half-duplexcommunicationsbasedontheRS485standard,aswellasasmallamountofregulatedandunregulatedpower.
Bydefault,theportimplementstheMODBUSRTUserialprotocolandrespondsasaslavedevice,allowinganexternalmastertoreadavarietyofmeasuredvaluesandperformbasiccontrolfunctions.
PhysicalInterfaceTheoptionalinverterauxconnectorislocatedbetweentheACconnectorandbutton.Theconnectorisshippedwithaprotectivecap.
Auxconnectorwithprotectivecap. Auxconnectorwithcapremoved.
Cable-Physical
Acablewithanappropriatematingconnectorissuppliedwitheachunitwiththeauxportoption.Ithasthefollowingcharacteristics:
Parameter Value
Length 2m
Outersheathdiameter 8.4mm
Wiregauge 20AWG
HiQSolar,Inc. December1,17
TrueString™InverterMODBUSMap Page4of12
Cable-WiringColorCode
Thecablehasthefollowingwiringcolorcode:
WireColor Function Details
WHITE VP 8-12V,unregulated
MaxIVP=125mA-IVP5
(Typical9.5V@50mA,8.2V@125mA,assumingnoloadonVP5.)
BROWN VP5 5V+/-4%,regulated
MaxIVP5=40mA
GREY RS485+
GREEN RS485-
YELLOW GND Powerandsignalgroundreference
Thelinesontheportareisolatedfromthepowerconversioncircuitryandfloatwithrespecttobothinverterandearthground.TheRS485+/-linesareun-terminatedandunbiasedinternally.
MODBUSSerialSettings
Supported Default
MODBUSAddress 1-254 200
MODBUSProtocol RTU RTU
DataRate 2400-500Kbps 19200
Parity none,even,odd,mark even
DataBits 8 8
StopBits 1 1
Notes:
1. Parity“none”resultsina10-bitserialwordof1startbit,8databits,and1stopbit2. Parity“mark”resultsina11-bitserialwordwiththeparitybitalwayssetto1andisequivalenttothe
MODBUSspec'sparity“none”thatisdescribedashavingtwostopbits.
HiQSolar,Inc. December1,17
TrueString™InverterMODBUSMap Page5of12
SupportedMODBUSFunctionCodes
Code Description
3 ReadHoldingRegisters
4 ReadInputRegisters
6 WriteSingleRegister
16 WriteMultipleRegisters
17 ReportSlaveID
23 Read/WriteMultipleRegisters
Notes:
• Writestonon-writableregisterswillbeignored.• ThesameregistersaremappedintobothHoldingandInputregisterspace.
SupportedMODBUSExceptionCodes
Code Description
1 IllegalFunction
2 IllegalDataAddress
3 IllegalDataValue
4 IllegalResponseLength
SupportedMODBUSDataTypes
SINT16 Signed16-bitinteger
SINT32 Signed32-bitinteger,splitbetweentworegisters
ASCII ASCIIcharacters,twoperregister,paddedwithnull(0)attheend.
Note:
• Whenaccessingdatatypesthatspanmorethanoneregister(ASCIIstrings,32-bitvalues),partialreadsofthedatatypearenotallowedandwillresultinundefinedvaluesbeingreturnedfortheentiretransaction.
HiQSolar,Inc. December1,17
TrueString™InverterMODBUSMap Page6of12
PertheMODBUSstandard,alldatatypestransmittedinbig-endianformat.Forexample:
DataType ExampleValue ByteOffset/TransmissionOrder
0 1 2 3
SINT16 0x1234 0x12 0x34
SINT32 0x12345678 0x12 0x34 0x56 0x78
ASCII “ABC” 'A' 'B' 'C' 0x00
MODBUSRegisterAddressingTheGatewayusesextendedaddressinginordertofitallsupportedinvertersintotheaddressspace.Notethat,pertheMODBUSstandard,thesuppliedregisteraddressesmustbetranslatedintodataaddressesintherequestbyremovingtheaddressspaceprefix(4)andsubtracting1.Effectively,subtractdecimal40001fromthesuppliedRegisterAddresstogettherequireddataaddress.
GeneralRegisters
Register NumberofRegisters
Description Units Format Multiplier Comments
40100 1 MODBUSMapVersion SINT16 1 Version=1
40101 8 InverterSerial ASCII “MIBB001234”forexample
40109 3 Reserved ASCII
40112 1 MaxNumberofStrings SINT16 1
40113 1 PLCSignal SINT16 1
40114 1 PLCNoise SINT16 1
40115 2 ActiveFaults0 SINT32 1
40117 2 ActiveFaults1 SINT32 1
40119 1 Temperature1 degC SINT16 0.1
40120 1 Temperature2 degC SINT16 0.1
40121 1 Temperature3 degC SINT16 0.1
40122 1 Temperature4 degC SINT16 0.1
40123 1 Temperature5 degC SINT16 0.1
HiQSolar,Inc. December1,17
TrueString™InverterMODBUSMap Page7of12
ProductionRegisters
Register NumberofRegisters
Description Units Format Multiplier Comments
40200 2 Reserved SINT32 1
40202 1 InverterMode SINT16 1 SeeInverterModeTable
40203 1 InverterStatus SINT16 1 SeeGeneralStatusTable
40204 2 NetOutputPower Watts SINT32 0.1
40206 2 TotalEnergyProduced KWh SINT32 1
40208 1 VoltageRMSL1-N Volts SINT16 0.1
40209 1 VoltageRMSL2-N Volts SINT16 0.1
40210 1 VoltageRMSL3-N Volts SINT16 0.1
40211 1 CurrentRMSL1 Amps SINT16 0.01
40212 1 CurrentRMSL2 Amps SINT16 0.01
40213 1 CurrentRMSL3 Amps SINT16 0.01
40214 2 PowerRMSL1 Watts SINT32 0.1
40216 2 PowerRMSL2 Watts SINT32 0.1
40218 2 PowerRMSL3 Watts SINT32 0.1
40220 1 LineFrequency Hz SINT16 0.01
40221 1 String1Voltage Volts SINT16 0.1
40222 1 String1Current Amps SINT16 0.01
40223 2 String1Power Watts SINT32 0.1
40225 1 String1Status SINT16 1 SeeStringStatusTable
40226 1 String2Voltage Volts SINT16 0.1
40227 1 String2Current Amps SINT16 0.01
40228 2 String2Power Watts SINT32 0.1
40230 1 String2Status SINT16 1 SeeStringStatusTable
... ...
40301 1 String16Voltage Volts SINT16 0.1
40302 1 String16Current Amps SINT16 0.01
40303 2 String16Power Watts SINT32 0.1
40305 1 String16Status SINT16 1 SeeStringStatusTable
HiQSolar,Inc. December1,17
TrueString™InverterMODBUSMap Page8of12
WritableControlRegisters Register Numberof
RegistersDescription Units Format Multiplier Comments
40400 2 Reserved SINT32 1
40402 2 DiscoverySerial SINT32 1 Readreturnsthenumericportionoftheinverterserialnumber.Writedoesnothing.
40404 2 DiscoverySerialMin
SINT32 1 Setstheminimuminverterserialnumberthatcanrespond.UsedtodiscoverinverterswhenMODBUSaddresseshavenotbeenassigned.
40406 2 DiscoverySerialMax
SINT32 1 Setsthemaximuminverterserialnumberthatcanrespond.
40408 1 SerialProtocol SINT16 1 0=PortDisabled
1=MODBUSRTU
40409 1 MODBUSAddress SINT16 1 WritetosetMODBUSaddress.Rangeis1to254.
40410 2 MODBUSDataRate
bps SINT32 1 WritetosetMODBUSDataRate.Rangeis2400to500000bps.
40412 1 MODBUSParity SINT16 1 WritetosetMODBUSparity.
0=NONE
1=MARK
2=EVEN
3=ODD
40413 1 SpecialSystemMode
SINT16 1 Specializedsystemmodes.
0=NormalPVInverter
1=PowerSupply
40414 1 RequestedInverterMode
SINT16 1 Awriterequestsaninvertermodechange.Requestedmodesinclude:
0=GenerateOff(autorestart)2=GenerateOn
5=GenerationLockedOff
SeeInverterModeTable.
(Continues…)
HiQSolar,Inc. December1,17
TrueString™InverterMODBUSMap Page9of12
(Continued)Register Numberof
RegistersDescription Units Format Multiplier Comments
40415 1 SetPowerLimit Watts SINT16 1 Maximuminverterpowerlimit.Rangeis500Wtonormalpowerlimit.
40417 1 SetString1Voltage
Volts SINT16 1 Setsstring1targetvoltagewheninverterisinpowersupplymode.
40418 1 SetString2Voltage
Volts SINT16 1 Setsstring2targetvoltagewheninverterisinpowersupplymode.
MODBUSDeviceDiscoveryWhenshipped,HiQinvertersdefaulttoaMODBUSaddressof200,unlessanotheraddresshasbeenrequested.MODBUSaddressescanalsobesetbyHiQtechsupportusingaHiQGatewayusingPowerLineCommunications(PLC).IncaseswherethecustomerwouldliketodiscoverinvertersandassignaddressesontheirownusingMODBUS,adiscoverymechanismhasbeenprovided.
Inthecaseofonlyonedeviceonthebus,discoveryistrivial.UsetheMODBUSbroadcastaddress(0)toaddresstheinverterandread/writeitsMODBUSaddressregister.
InthecaseoftwoormoredevicesonthebusthatsharethesameMODBUSaddress,three“Discovery”registershavebeenprovidedtoallowuniqueidentificationandaddressingofdeviceseveniftheirMODBUSaddressesarethesame.
Eachinverterhasaunique,factoryassignedserialnumber.Thenumericportionofthatserialnumbercanbereadinthe“DiscoverySerial”register.The“DiscoverySerialMin”and“DiscoverSerialMax”registersprovideafilterbasedonthatserialnumber.TheinverterwillonlyrespondtoMODBUSreadsandwritesifitsserialnumberfallsbetweentheminandmaxserialnumbers(inclusive)definedbythoseregisters.Theminandmaxregistersareanexceptiontothefilter,withwritesalwaysbeingaccepted.Bydefault,theregistersaresettoarangethatincludesallpossibleserialnumbers.
Todiscoverinverters,eitherusetheMODBUSbroadcastaddress(0)ortheinverterdefaultMODBUSaddress(200)toattempttoreadthe“DiscoverySerial”register.Ifyougeta“clean”MODBUSresponse,onlyoneinverterwaspresent.Ifyougetagarbledresponse(CRCorotherprotocolfailure),thenmorethanoneinverterrespondedatthesametime.Writetothediscoveryminandmaxregisterstonarrowdowntherangeofpossiblyrespondinginvertersuntilyougetacleanresponse.Atthatpoint,youcanassignauniqueMODBUSaddress,ifdesired.
Example:
Imaginethatyouhavethreeinvertersonthebuswithserialnumbers3210,5000,and6100.AllareassignedthedefaultMODBUSaddressof200,and,assuch,cannotbeuniquelyaddressedusingthenormalMODBUSprotocol.Thefollowingdiscoverysequencecanthenbeused:
HiQSolar,Inc. December1,17
TrueString™InverterMODBUSMap Page10of12
TryreadingfromMODBUSaddress200.
=>Wegetagarbledresponse,as3210,5000,and6100allrespond.
WriteDiscovery_Min=1andDiscover_Max=5000,andtryreadingagain.
=>Wegetagarbledresponse,asboth3210and5000respond.
WriteDiscovery_Min=1andDiscover_Max=2500,andtryreadingagain.
=>Wegetnoresponse.Therearenoinvertersinthisrange.
WriteDiscovery_Min=2501andDiscover_Max=5000,andtryreadingagain.
=>Wegetagarbledresponse,asboth3210and5000respond.
WriteDiscovery_Min=2501andDiscover_Max=3725,andtryreadingagain.
=>Wegetacleanresponse,asonly3210responds.Assign3210aMODBUSaddressotherthan200.
WriteDiscovery_Min=3726andDiscover_Max=5000,andtryreadingagain.
=>Wegetacleanresponse,asonly5000responds.Assign5000aMODBUSaddressotherthan200.
WriteDiscovery_Min=5001andDiscover_Max=10000,andtryreadingagain.
=>Wegetacleanresponse,asonly6100responds.Assign6100aMODBUSaddressotherthan200.
WriteDiscovery_Min=1andDiscover_Max=10000000,andtryreadingagain.
=>Wegetnoresponse.Therearenoinvertersinthisrange.Allinvertershavebeendiscovered.
HiQSolar,Inc. December1,17
TrueString™InverterMODBUSMap Page11of12
InverterModeTable
Code Description
0 Idle
1 SafetyCheck
2 Generating
3 LowLight
4 Sleeping
5 LockedOff
6+ Reserved
GeneralStatusTable
Code Description
0 Healthy
1 Fault
2 Warning
3 Unknown
4 Reserved
5 Reserved
6 Missing
7+ Reserved
Continues…