Multiload II Communications Manual_fv_4!3!31_00

111
M M u u l l t t i i L L o o a a d d I I I I C C o o m m m m u u n n i i c c a a t t i i o o n n s s G G u u i i d d e e Including: M M u u l l t t i i L L o o a a d d I I I I M M u u l l t t i i L L o o a a d d I I I I S S M M P P M M u u l l t t i i L L o o a a d d I I I I M M o o b b i i l l e e Part # 6077 Firmware Version 3/4.31.00 March 2011

description

Sistemas de Monitoreo para abastecimeinto de combustible

Transcript of Multiload II Communications Manual_fv_4!3!31_00

MMuullttiiLLooaadd IIII CCoommmmuunniiccaattiioonnss GGuuiiddee I In nc cl lu ud di in ng g: : MMuullttiiLLooaadd IIII MMuullttiiLLooaadd IIII SSMMPP MMuullttiiLLooaadd IIII MMoobbiillee Part # 6077 Firmware Version 3/4.31.00 March 2011 2 Copyright Notice Copyright 2000 - 2011 Toptech Systems, Inc. Theinformationcontainedinthisdocumentisproprietaryandconfidential.Nopartofthisdocumentmaybecopied,reproduced,or transmitted in any medium without the express written permission of Toptech Systems, Inc. Disclaimer Toptech Systems assumes no responsibility for damages resulting from installation or use of its products.Toptech Systems will not be liable for any claims of damage, lost data, or lost time as a result of using its products. Toptech Systems, Inc. logo is a registered trademark of Toptech Systems, Inc. TMS, TMS5, TMS6,RCU II Remote Control Unit, Toptech MultiLoad II, MultiLoad II -RCU, MultiLoad II 1-Arm, MultiLoad II - SMP, FCM Flow Control Module are trademarks of Toptech Systems, Inc. Copyright 2000 - 2011 Toptech Systems, Inc. All Rights Reserved. 3 Table of Contents CHAPTER 1PROTOCOL SPECIFICATION ..................................................................................................... 6 1.1DEFINITIONS ............................................................................................................................................ 6 1.2SMITH PROTOCOL .................................................................................................................................... 7 1.3BROOKS PROTOCOL ................................................................................................................................. 7 1.4DANIELS PROTOCOL ................................................................................................................................. 7 1.5MODBUS-RTU PROTOCOL ........................................................................................................................ 8 1.5.1Read Holding Registers (fn=3) .......................................................................................................... 8 1.5.2Write Single Registers (fn=6)............................................................................................................. 8 1.5.3Loopback/Maintenance (fn=8) ........................................................................................................... 9 1.5.4Preset Multiple Registers (fn=16) ...................................................................................................... 9 1.5.5Error Responses (fn= +128) .............................................................................................................. 9 1.5.6Modbus Register Map Summary ..................................................................................................... 10 1.5.7Extended Services Register ............................................................................................................ 10 CHAPTER 2MULTILOAD COMMAND RESPONSES ................................................................................... 11 CHAPTER 3QUERY COMMAND: .................................................................................................................. 13 CHAPTER 4FUNCTION COMMANDS: .......................................................................................................... 14 CHAPTER 5TERMINAL COMMANDS: .......................................................................................................... 15 5.1TERMINAL ESCAPE COMMANDS:.............................................................................................................. 15 CHAPTER 6METER COMMANDS: ................................................................................................................ 20 6.1AUTHORIZE PRESET (PRODUCT AND PRESET VOLUME): ........................................................................... 20 6.2CLEAR ALARMS: ..................................................................................................................................... 20 6.3ENABLE PRESET .................................................................................................................................... 20 6.4END TRANSACTION ................................................................................................................................. 20 6.5BATCH COMPLETE .................................................................................................................................. 21 6.6BATCH END:........................................................................................................................................... 21 6.7END BATCH:........................................................................................................................................... 21 6.8PRESET MESSAGE: ................................................................................................................................ 22 6.9PROVING TRANSACTION MODE: .............................................................................................................. 22 6.10REQUEST STATUS & PRESET ALARMS: .................................................................................................... 23 6.11REQUEST SMP STATUS & PRESET ALARMS: ........................................................................................... 46 6.12TRIP PRESET ALARMS: ........................................................................................................................... 46 6.13REQUEST BAY ALARMS: ......................................................................................................................... 47 6.14REQUEST COMPONENT ALARMS: ............................................................................................................ 48 6.15REQUEST METER ALARMS: ..................................................................................................................... 49 6.16REQUEST ADDITIVE ALARMS: .................................................................................................................. 50 6.17START PRESET FLOW: ............................................................................................................................ 51 6.18STOP PRESET FLOW: ............................................................................................................................. 51 CHAPTER 7REGISTER OPERATIONS: ........................................................................................................ 52 7.1GENERIC REGISTERS ............................................................................................................................. 53 7.1.1Register Data Types ........................................................................................................................ 53 4 7.1.2000 RCU Level Configuration Registers ...................................................................................... 59 7.1.3100 Bay Level Configuration Registers ........................................................................................ 61 7.1.4101 Preset Level Configuration Registers .................................................................................... 62 7.1.5102 Meter Level Configuration Registers ..................................................................................... 65 7.1.6103 Component Level Configuration Registers ............................................................................ 68 7.1.7104 Additive Level Configuration Registers ................................................................................. 70 7.1.8105 Custom Logic Definitions Registers ...................................................................................... 72 7.1.9200 Stand Alone BOL Definition Registers .................................................................................. 76 7.1.10800 Transaction Archive Registers .......................................................................................... 79 7.2SPECIAL PURPOSE REGISTERS ............................................................................................................... 81 7.2.1000 MultiLoad Firmware Version .................................................................................................. 81 7.2.2001 Date and Time ....................................................................................................................... 81 7.2.3003 FCM Poll Rate ....................................................................................................................... 81 7.2.4005 Current BOL/Ticket Number .................................................................................................. 81 7.2.5070 Ethernet Enable ..................................................................................................................... 81 7.2.6071 IP Address ............................................................................................................................. 82 7.2.7072 IP Mask .................................................................................................................................. 82 7.2.8073 IP Gateway ............................................................................................................................ 82 7.2.9074 IP Host ................................................................................................................................... 82 7.2.10085 Modem Initialization String ................................................................................................ 82 7.2.11091..093 Communication Port Parameters .............................................................................. 82 7.2.12095..099 Program Mode Passwords (5) .................................................................................. 83 7.2.13112 - Real-Time Preset Total Gross Totalizers ........................................................................... 84 7.2.14113 - Real-Time Preset Total Net Totalizers ............................................................................... 84 7.2.15133 FCM IO Access ................................................................................................................. 84 7.2.16140 Current Latitude/Longitude position Registers (MultiLoad Mobile Only) ........................... 85 7.2.17141 Current Transaction Latitude/Longitude/Site Index Registers (MultiLoad Mobile Only) ... 86 7.2.18400 - Preset Definition Registers ................................................................................................ 86 7.2.19401 External Preset Display Register ...................................................................................... 87 7.2.20500 - Product Definition Registers .............................................................................................. 87 7.2.21600 - Standalone Driver Card Database ..................................................................................... 88 7.2.22650 GPS Site Database (MultiLoad Mobile Only) ..................................................................... 88 7.2.23700 - Configurable Language Prompts ....................................................................................... 89 7.2.24710 - Bay Alarm Messages ......................................................................................................... 89 7.2.25711 - Preset Alarm Messages ..................................................................................................... 91 7.2.26712 - Meter Alarm Messages ...................................................................................................... 92 7.2.27713 - Component Alarm Messages ............................................................................................. 94 7.2.28714 - Additive Alarm Messages .................................................................................................. 96 7.2.29910 Read Event Log Message Queue ..................................................................................... 97 7.2.30912 Read W & M Change Log Message Queue ...................................................................... 98 7.2.31950 - Current Driver Card Number .............................................................................................. 98 7.2.32951..954 - Current Driver Prompt Information ............................................................................. 98 7.2.33960 Input Data .......................................................................................................................... 98 7.2.34961 Input Data Terminating Key .............................................................................................. 99 7.2.35962 - Current Driver Card Data ................................................................................................... 99 7.2.36998 Bitmap Graphic Cache .................................................................................................... 101 5 CHAPTER 8COMMUNICATION TRACE EXAMPLE ................................................................................... 102 8.1STARTUP OF HOST SOFTWARE ............................................................................................................. 102 8.1.1Update Date & Time ...................................................................................................................... 102 8.1.2Update Product Definitions ............................................................................................................ 102 8.1.3Update Preset Definitions .............................................................................................................. 103 8.1.4Status Query .................................................................................................................................. 103 8.2TRANSACTION AUTHORIZATION ............................................................................................................. 104 8.2.1Process Driver Card In .................................................................................................................. 104 8.2.2Authorize a Transaction on MultiLoad ........................................................................................... 105 8.2.3Reading Totalizers ......................................................................................................................... 105 8.3BATCH AUTHORIZATION ........................................................................................................................ 106 8.3.1Authorize a Batch on MultiLoad ..................................................................................................... 106 8.3.2Monitor Load During Delivery ........................................................................................................ 108 8.4END OF BATCH PROCESSING ................................................................................................................ 108 8.4.1Ending a Batch on MultiLoad ......................................................................................................... 108 8.5END OF TRANSACTION PROCESSING ..................................................................................................... 109 8.5.1Ending a Transaction on MultiLoad ............................................................................................... 109 8.6SHUTDOWN OF HOST SOFTWARE .......................................................................................................... 109 CHAPTER 9DATA COMMUNICATION NOTES AND RECOMMENDATIONS ........................................... 110 9.1PROTOCOL SELECTION: RS-232 VS. RS-485 ........................................................................................ 110 9.1.1RS-232 ........................................................................................................................................... 110 9.1.2RS-485 ........................................................................................................................................... 110 9.2CABLE SELECTION................................................................................................................................ 110 9.3LINE TERMINATION IN MULTI-DROPPED COMMUNICATIONS ..................................................................... 110 9.4OPTICAL ISOLATION .............................................................................................................................. 111 9.5SHIELD GROUNDING ............................................................................................................................. 111 Chapter 1 Protocol Specification6 CHAPTER 1PROTOCOL SPECIFICATION The MultiLoad auto-detects four low level computer protocols for host communications. -Smith Protocol -Brooks Protocol -Daniels -Modbus-RTU Protocol Note: All unknown or not allowed signal or code sequences are rejected and have no impact on the software or measurement data. Hostcommunicationcanoccurviamulti-droppedRS-232/RS-485serialonCOM1orEthernet10/100socket communication on port 7734. 1.1DEFINITIONS Thenon-printingcharactersthatformtheskeletonoftheSmithandBrooksprotocolsarestandardASCII (American Standard Code Information Interchange): ASCII CHARACTERDECIMALHEXBINARY NUL0000000000 STX2200000010 ETX3300000011 SOH1100000001 PAD1277F01111111 CHARACTERDESCRIPTION BCC Block Check Characters. The ASCII hex representation of the binary sum of all the data in the message from the SOH through the ETX character. LRC Longitudinal Redundancy Check. The LRC is an ASCII character computed as the exclusive or(XOR) sum of all characters following theSTX and including the ETX. CRCCyclic Redundancy Check. A1..A3 A3-characterASCIIunitaddressoftheMultiLoad.Pleaserefertothe MultiLoad User Guide for configuring the unit address. D1..DnData field characters. FnFunction field code. AdrA single character binary unit address of the MultiLoad. Chapter 1 Protocol Specification7 1.2SMITH PROTOCOL TheSmithprotocoliscompatiblewithdevicesfromSmithMeter,suchastheAcculoadIandAcculoadIImini computer modes of operation.Using this protocol, MultiLoad accepts data in the format: NULSTXA1A2dataETXLRCPAD A1 and A2 are the last two digits of the unit address in the RCU configuration. 1.3BROOKS PROTOCOL TheBrooksprotocoliscompatiblewithdevicesfromBrooksInstrumentssuch astheirPetrocountRAUand IMS Control units running in computer mode.Using this protocol, MultiLoad accepts data in the format: SOHDESTINATION SOURCEA1 A2 A3 S1 S2 S3STX data ETXBCC1BCC2 1.4DANIELS PROTOCOL TheDanielsprotocoliscompatiblewithdevicesfromDanielsFlowProducts.Usingthisprotocol,MultiLoad accepts and responds with data in the format: Quiet Time ADRFN LEN(2 252) D1...DNCRC1CRC2 Quiet Time Daniels protocol messages are framed by a quiet time of three and one-half characters. ADR is binary character of the address of the MultiLoad.Typically 0x01. Fn is expected to be 0x41/0x42 alternating on each command.Responses will have Fn as 0x41/0x42 for normal responses and 0xc1/0xc2 for exception responses. D1Dn is string data containing the commands listed in this manual. Note:Modbusextentiontoreturnlargerpacketsizes:Onmessageswithdatapacketsizesfrom2to252 characters the Fn values of 0x41/0x42 will be returned.With messages outside this range, Fn will be the MSB value of the data size and the Len will be LSB of the data size. For Example: Fn = 0x41, Len = 0x80, when data packet size = 0x0080, Fn = 0x42, Len = 0x80, when data packet size = 0x0080, Fn = 0x00, Len = 0xFF, when data packet size = 0x00FF ( 255), Fn = 0x01, Len = 0x00, when data packet size = 0x0100 ( 256), Fn = 0x01, Len = 0x01, when data packet size = 0x0101 ( 257), Fn = 0x02, Len = 0x00, when data packet size = 0x0200 ( 512), Fn = 0x04, Len = 0x00, when data packet size = 0x0400 (1024), Fn = 0x08, Len = 0x00, when data packet size = 0x0800 (2048). Chapter 1 Protocol Specification8 1.5MODBUS-RTU PROTOCOL TheModbus-RTUprotocolhasbeenimplementedtobeascompatibleaspossiblewiththeoriginalpublished Modicon Modbus-RTU standard. Note:The Modbus protocol allows parameter register access only as defined by the explicit mapping in thismanual.TosendtheASCIIcommands(R000,T`A,MAM, MRS,etc.)thatarehandledbytheother three protocols, the Modbus Extended Services registers must be used. Using the modbusprotocol, MultiLoad accepts data in the following format: Quiet Time ADRFN...CRC1CRC2 Quiet Time Modbus-RTU protocol messages are framed by a quiet time of three and one-half characters. ADR is binary character of the address of the MultiLoad.Typically 0x01. Fn is the Modbus function.Functions implemented are as follows. Theformal specificationof Modbus lists the startingHoldingRegisteraddressas40001. TheModbus Holding Register functions (Fn 3, 6 and 16)allhave animplied 4XXXX reference. ReferencingHolding Register 40001 is addressed as register 0000 in the register address field in the message for fn 3, 6, and 16. Since Modbus addressing has been implemented in various ways over the years, to avoid confusion in this manual, the Modbus Holding Register addresses listed are the value in the register address field in the message.If it is necessary to know the formal Modbus Holding Register address, simply add 40001 to the register addresses listed in the manual. 1.5.1READ HOLDING REGISTERS (FN=3) Note: Both Modbus registers MUST be read at the same time when reading 32-bit values. Tx: Quiet TimeADRFN=3 Start Register MSB Start Register LSB Number Of Registers MSB Number of Registers LSB CRC1CRC2Quiet Time Rx: Quiet Time ADR FN=3 (+128 if error) Byte Count 1st Register MSB 1st Register LSB Next Register MSB Next Register MSB CRC1CRC2 Quiet Time 1.5.2WRITE SINGLE REGISTERS (FN=6) Note: can not be used for 32-bit registers. Tx: Quiet TimeADRFN=6 Start Register MSB Start Register LSB Register MSB Register LSB CRC1CRC2Quiet Time Rx: Quiet TimeADR FN=6 (+128 if error) Start Register MSB Start Register LSB Register MSB Register LSB CRC1CRC2Quiet Time Chapter 1 Protocol Specification9 1.5.3LOOPBACK/MAINTENANCE (FN=8) Note: only loopback of command supported. Tx: Quiet TimeADRFN=8 Diagnostic Code MSB Diagnostic Code LSB Data MSBData LSBCRC1CRC2Quiet Time Rx: Quiet TimeADRFN=8 Diagnostic Code MSB Diagnostic Code LSB Data MSBData LSBCRC1CRC2Quiet Time 1.5.4PRESET MULTIPLE REGISTERS (FN=16) Note: Both Modbus registers MUST be written at the same time when writing 32-bit values. Tx: Quiet Time ADRFN=16 Start Register MSB Start Register LSB Number Of Registers MSB Number of Registers LSB Byte Count 1st Register MSB 1st Register LSB Next Register MSB Next Register MSB CRC1CRC2 Quiet Time Rx: Quiet TimeADR FN=16 (+128 if error) Start Register MSB Start Register LSB Number Of Registers MSB Number of Registers LSB CRC1CRC2Quiet Time 1.5.5ERROR RESPONSES (FN= +128) Rx: Quiet TimeADRFN+128 Error Subcode CRC2CRC1 Error Subcodes are: 1=InvalidFunctionCode.Indicatesthattheuseofaninvalidorunimplementedfunctionhasbeen attempted. 2=InvalidAddressField.Indicatesthatareadorwritewasmadetoaninvalidaddress.Canalso indicate that a read or write to a single register of a 32-bit value has been attempted. 3 = Invalid Data Field.Indicates that an attempt to write an invalid value to a register has occured.This errorcodewill also be returned if an attempt is made to changeavalueunderWeights and Measures control without with W&M switch being in the active state. 4 = Query Processing Failure.This code is not returned. Chapter 1 Protocol Specification10 1.5.6MODBUS REGISTER MAP SUMMARY 1 999 General, BOL Template, MIsc. Configurations. 1000 1199RCU Configurations 1200 1399Bay Configurations 1400 1599Preset Configurations 1600 1799Meter Configurations 1800 1999Component Configurations 2000 2199Additive Configurations 2200 2999Product, Alarm, Database, Misc. Configurations 3000 3999Totalizers 4000 6000Preset, Meter, Component and Additive Status 7000 7799Status, Authorization Control and Alarms 7800 - 7999Transaction Archive 8000 - 8999Preset Definitions 9000-10999Extended Services Register 1.5.7EXTENDED SERVICES REGISTER Not all commands native to the MultiLoad II have corresponding mapping to Modbus registers.The ExtendedServicesregisterwasimplementedasawaytosupportsendingandreceivingnativeMultiloadIIcommands across the Modbus RTU interface.Anynative commandlisted can be sent tothe MultiLoad viathe extended Services Register. Modbus Registers: Write Holding Register=9000, Len=1, 16-Bit Integer (Command Length) Write Holding Register=9001, Max Len=999, Characters (Command Text) Read Holding Register=9000, Len=2, 32-Bit Integer (Reply Length) Read Holding Register=9001, Max Len=999, Characters (Reply Text) Perform the following operations to use of the Extended Services Register: 1.Write the Command Length into the Holding Register 9000 (max value of 999 characters). 2.Write the Command Text into the Holding Register 9001 (max length of 999). 3.CommandwillexecutewhenthefinalcharacteroftheCommandTextiswritten(9001+Command Length-1). 4.Read the Reply Length from the Holding Register 9000 (max value of 999 characters). 5.Read the Reply Text from the Holding Register 9001 (max length of 999). Steps 1 & 2 can be done with a single Modbus Function 16. Steps 4 & 5 can be done with a single Modbus Function 3. Chapter 2 MultiLoad Responses11 CHAPTER 2MULTILOAD COMMAND RESPONSES ForMultiLoadtoacknowledgeamessagetwoconditionsmustbemeet.Firstthemessagemustfitthe MessageFramingProtocolwithavalidLRC,BCCorCRC.Second,theaddressspecifiedinthefirsttwo characters of the command must match the configured MultiLoad address.Any message that satisfies both of these requirements will be sent a response. Modbus: If using the Modbus protocol, the Modbus Extended Services Registers must be used to pass in these ASCII string commands. The first three characters of every response will contain command, RCU and card status data as defined below. enum { VALID_COMMAND= 0, INVALID_PARAMETER= 1, INVALID_COMMAND= 2 } command_status; enum { IDLE= '0', AUTH_BAY= '4', MENU_MODE= '9', DIAG_MODE= '%', AUTHORIZING_LOAD= 'A', LOAD_AUTHORIZED= 'B', COMPLETING_LOAD= 'C', TRANSACTION_DONE= 'D', TRANSACTION_CANCEL= 'E', PULLING_TRANSACTION= 'P', ARCHIVING_TRANSACTION= 'R', TRANSACTION_AUTHORIZED= 'T', RCU_NOT_CONFIGURED= '?', RCU_POWER_UP= '!', INITIALIZING= 'I', NO_TRANSACTION= 'N', REMOTE_AUTH_PRESET1= 'a', REMOTE_AUTH_PRESET2= 'b', REMOTE_AUTH_PRESET3= 'c', REMOTE_AUTH_PRESET4= 'd', REMOTE_AUTH_PRESET5= 'e', REMOTE_AUTH_PRESET6= 'f', REMOTE_AUTH_PRESET7= 'g', REMOTE_AUTH_PRESET8= 'h', Chapter 2 MultiLoad Responses12 REMOTE_AUTH_PRESET9= 'i', REMOTE_AUTH_PRESET10= 'j', REMOTE_AUTH_PRESET11= 'k', REMOTE_AUTH_PRESET12= 'l', REMOTE_AUTH_PRESET13= 'm', REMOTE_AUTH_PRESET14= 'n' } rcu_status; Modbus: Read Only Register=7000, Len=1, Character (rcu_status) enum { CARD_NOT_INSERTED=0, CARD_INSERTED=1 } card_status; Modbus: Read Only Register=7001, Len=1, Character (card_status) Inmostcasesacommandwillreturnadditionalinformationspecifictothecommand.Thisinformationwill alwaysfollowthethreestatuscharacters.Forexampleifthefollowingvalidcommandtoreadthecurrent firmware version is sent: Command=>Response R000=>0?0000MultiLoad II v3.29.xx Jan xx 2009 With 0?0 as the three status characters and 000MultiLoad II v3.29.xx Jan xx 2009 as the command specific response. Chapter 3 Query Command13 CHAPTER 3QUERY COMMAND: Query Command=>Response Q=>0?0XXXX Where: XXXX = 4 digit hexadecimal number with bits representing the rcu_status as: union { unsigned int value; struct { unsigned char rcu_trans_header:1; unsigned char proving_mode:1; unsigned char power_up:1;// indicated system has been powered on unsigned char configured:1;// indicates configuration state unsigned char unassigned_keypress_on_load_screen:1; unsigned char logmsg_queued:1;// a log message is available unsigned char unused6:1; unsigned char unused7:1; unsigned char wm_logmsg_queued:1;// a w&m log message is available unsigned char host_up:1;// host system is up, card in will be allowed. unsigned char input_in_progress:1; unsigned char input_done:1; unsigned char unused12:1; unsigned char reserved13:1; unsigned char wm_key:1;// W&M key is active unsigned char program_key:1;// Program key is active } flags; } rcu_status; This command also resets the Host Down Timerand should be issued periodically to notifyMultiLoad that the Host is still active. Modbus: Read Only Register=7002, Len=1, 16-Bit Integer (XXXX) Chapter 4 Function Commands14 CHAPTER 4FUNCTION COMMANDS: FREBOOT=Performs a software reboot of the MultiLoad RCU. FFACTORY=Restores all MultiLoad registers to factory defaults. FUPDATEAPPFLASH =Updates the Flash with an uploaded image (req. W&M and a valid image) Modbus: Supported through Modbus Extended Services Registers. FUNCONFIG=Clears the configured RCU status bit. FRECONFIG=Sets the configured RCU status bit. Modbus: Write Only Register=7010, Len=1, 16-Bit Integer (any value=FUNCONFIG) Write Only Register=7011, Len=1, 16-Bit Integer (any value=FRECONFIG) FPOWERUP=Resets the power_up RCU status bit.This bit is set on power up. Modbus: Write Only Register=7012, Len=1, 16-Bit Integer (any value=FPOWERUP) FHOSTUP=Setsthehost_upRCUstatusbit.Clearedonpoweruporwhenhostdown timeout expires between Q commands.Command should be issued when host system starts communicating with MultiLoad. Modbus: Write Only Register=7013, Len=1, 16-Bit Integer (any value=FHOSTUP) FHOSTDOWN=Clearsthehost_upRCUstatusbit.Commandshouldbeissuedwhenhost system stops communicating with MultiLoad. Modbus: Write Only Register=7014, Len=1, 16-Bit Integer (any value=FHOSTDOWN) FHOSTWAIT=Bypass host down timer once with alternate timeout. Modbus: Write Only Register=7015, Len=1, 16-Bit Integer (any value=FHOSTUP) FPccc.=Send ccc characters to the attached printer port (if defined). FCLEARPROD=Clear all product definitions (500 register) except for the 000-Unknown Product definition. FCLEARID=Clear Access ID and PIN database. FCLEARCUSTOM=Clears all custom logic entries. Modbus: Supported through Modbus Extended Services Registers. Chapter 5 Terminal Commands15 CHAPTER 5TERMINAL COMMANDS: Ts Where: s = Any text string to display.Display string may contain one or more terminal escape commands. 5.1TERMINAL ESCAPE COMMANDS: Where Terminal Escape Commands are: AAuthorize Transaction: Authorize MultiLoad Transaction.Will display load screen. Modbus: Write Only Register=7016, Len=1, 16-Bit Integer (any value=Authorize Transaction) CxClear RCU counters Where, X = counter to clear, 1 = counter 1, 2 = counter 2 ESetup Data Entry Usedtodisplayaflashingcursor(SetupDataEntryLength>1)andallowuserinput.Datatobe retrieved at R960, R961. FTurn on Big Font Used to enable double size font. fTurn off Big Font Used to return to normal size font. GSet Foreground/Background Text Colors Where: f = (character) 0x20 + Foreground Color Palette Index b = (character) 0x20 + Background Color Palette Index Pixel color palette index values defined as: Black= 0x00 Blue= 0x01 Red= 0x02 Magenta= 0x03 Green= 0x04 Cyan= 0x05 Yellow= 0x06 White= 0x07 Custom 0= 0x08 (Not available) Chapter 5 Terminal Commands16 Custom 1= 0x09 (Not available) Custom 2= 0x0a (Not available) Custom 3= 0x0b (Not available) Custom 4= 0x0c (Not available) Custom 5= 0x0d (Not available) Flash 1= 0x0e Flash 2= 0x0f Example: To display a green word 'Hello' code the string as follows: TG$Hello $ = 0x20 + 0x04 (Green) = 0x20 + 0x07 (White) HHome Cursor to Position (0,0) Move cursor position to upper left corner of screen. IrcleSet Reverse Video Where: r = (character) 0x20 + Top Text Row Position (0 = top, 15 = bottom) c = (character) 0x20 + Left Text Column Position (0 = left, 39 = right) l = (character) 0x20 + Length in Text Columns e = 0 or 1 (0 = Set Inverse Text, 1 = Clear Inverse Text) JErase from Cursor to End of Line Use with after Y first to clear an entire line.Can be used as a CR since cursor will be positioned on next line. KErase from Cursor to End of Screen Use with after H to clear entire screen. LxxSetup Data Entry Length Where: xx = Length of Data Entry Input Required (00-25) (0 = Key Press with No Flashing Cursor) NTurn On Cursor OTurn Off Cursor RReset the RCU Display Modbus: Write Only Register=7017, Len=1, 16-Bit Integer (any value=Reset RCU Display) YrcSet Cursor Position Where: r = (character) 0x20 + Top Text Row Position (0 = top, 15 = bottom) c = (character) 0x20 + Left Text Column Position (0 = left, 39 = right) XClear Entire Display Chapter 5 Terminal Commands17 Lock the Display @Turn Character Echo On !Turn Asterisk Echo On arcwh Draw Progress Box Where: r = (character) 0x20 + Top Text Row Position (0 = top, 15 = bottom) c = (character) 0x20 + Left Text Column Position (0 = left, 39 = right) w = (character) 0x20 + Width in Text Columns h = (character) 0x20 + Height in Text Rows Down brcwhpUpdate Progress Box Where: r = (character) 0x20 + Top Text Row Position (0 = top, 15 = bottom) c = (character) 0x20 + Left Text Column Position (0 = left, 39 = right) w = (character) 0x20 + Width in Text Columns h = (character) 0x20 + Height in Text Rows Down p = (character) 0x20 + Percent Value to Display (0 = None, 100 = Full) crcpf Display Animation Frame Where: r = (character) 0x20 + Top Text Row Position (0 = top, 15 = bottom) c = (character) 0x20 + Left Text Column Position (0 = left, 39 = right) p = (character) 0x20 + Animation Picture Index f = (character) 0x20 + Animation Frame Index Note:Test only since Animation Picture Index and Animation Frame Index values may change between firmware versions. df Display Factory Logo Where: f = (character) 0x20 + Factory Logo Index Note:Test only since Factory Logo Index values may change between firmware versions. ercwdDraw Display Graphic Where: r = (character) 0x20 + Top Text Row Position (0 = top, 15 = bottom) c = (character) 0x20 + Left Text Column Position (0 = left, 39 = right) w = (character) 0x20 + Width in Text Columns d = (character) 0x20 + pixel color palette index values from left to right, top to bottom, Note:Each text column = 16 pixels wide, each text row = 30 pixels high Pixel color palette index values defined as: Chapter 5 Terminal Commands18 Black= 0x00 Blue= 0x01 Red= 0x02 Magenta= 0x03 Green= 0x04 Cyan= 0x05 Yellow= 0x06 White= 0x07 Custom 0= 0x08 (Not available) Custom 1= 0x09 (Not available) Custom 2= 0x0a (Not available) Custom 3= 0x0b (Not available) Custom 4= 0x0c (Not available) Custom 5= 0x0d (Not available) Flash 1 = 0x0e Flash 2 = 0x0f Example: To positiona smallgraphic startingatrow5, column 20, column width 2,code the string as follows: Te%4 $$$$$$ $$$ $$$$ $$$$$$$$ $$$$$$$$$$ Note: formatted for illustration only, there are no spaces or CRs in the above command.'%' = 0x20 + 5'4' = 0x20 + 20 = 0x20 + 2 = 0x20 + 0x07 (White)$ = 0x20 + 0x04 (Green) grcwhcFill Box with a Color Where: r = (character) 0x20 + Top Text Row Position (0 = top, 15 = bottom) c = (character) 0x20 + Left Text Column Position (0 = left, 39 = right) w = (character) 0x20 + Width in Text Columns h = (character) 0x20 + Height in Text Columns Down c = (character) 0x20 + color palette index value Pixel color palette index values defined as: Black= 0x00 Blue= 0x01 Red= 0x02 Magenta= 0x03 Green= 0x04 Cyan= 0x05 Yellow= 0x06 White= 0x07 Custom 0= 0x08 (Not available) Chapter 5 Terminal Commands19 Custom 1= 0x09 (Not available) Custom 2= 0x0a (Not available) Custom 3= 0x0b (Not available) Custom 4= 0x0c (Not available) Custom 5= 0x0d (Not available) Flash 1= 0x0e Flash 2= 0x0f hrcwhaaaaaaaa Display Graphic Cache Where: r = (character) 0x20 + Top Text Row Position (0 = top, 15 = bottom) c = (character) 0x20 + Left Text Column Position (0 = left, 39 = right) w = (character) 0x20 + Width in Text Columns h = (character) 0x20 + Height in Text Columns aaaaaaaa = 8 character hexadecimal cache offset start value. See R/U 998 command for more details on cache offset. Modbus: Supported through Modbus Extended Services Registers. Chapter 6 Meter Commands20 CHAPTER 6METER COMMANDS: 6.1AUTHORIZE PRESET (PRODUCT AND PRESET VOLUME): MAMpppaiiivvvvvvvvvcc Where: ppp = The specified zero-based preset or load arm number (000-011). a = Authorize bit, 0 = Cancel Authorization, 1 = Authorize. iii= Product Index (500 register) for the authorized product. vvvvvvvvv = Preset volume. cc = Compartment number. Note:Will only accept Authorize Preset command when in REMOTE_AUTH_PRESET state or when preset is authorized and a batch not already authorized. Modbus: Write Only Register=7500+5*ppp, Len=1, 16-Bit Integer (iii) Write Only Register=7501+5*ppp, Len=2, 32-Bit Integer (vvvvvvvvv) Write Only Register=7503+5*ppp, Len=1, 16-Bit Integer (cc) Write Only Register=7504+5*ppp, Len=1, 16-Bit Integer (a) Note: Last Authorize Preset Register Used=7559 6.2CLEAR ALARMS: MCAppp Where: ppp = The specified zero-based preset or load arm number (000-011). Modbus: Write Only Register=7020+ppp, Len=1, 16-Bit Integer (any value) 6.3ENABLE PRESET MEMpppa Where: ppp = The specified zero-based preset or load arm number (000-011). a = Enable Flag, 0 = Disabled, 1 = Enabled/Not Available, 2 = Available Modbus: Write Only Register=7032+ppp, Len=1, 16-Bit Integer (a) 6.4END TRANSACTION MET When an ET command is received, a forced card out will occur. Note:The Host will still need to send a MEB command for each preset that reaches a PRESET_END_OF_BATCH state. Modbus: Write Only Register=7044, Len=1, 16-Bit Integer (any value) Chapter 6 Meter Commands21 6.5BATCH COMPLETE MBCppp Where: ppp = The specified zero-based preset or load arm number (000-011). WhenaBCcommandisreceived,thepresetflowwillstopandthebatchwillbemarkedascomplete.The operator will not be able to restart the batch, but will be allowed to clear the batch and preset another (pending Host authorization). Modbus: Write Only Register=7045+ppp, Len=1, 16-Bit Integer (any value) 6.6BATCH END: MBEppp Where: ppp = The specified zero-based preset or load arm number (000-011). Command used to start end batch processing and to transition state to PRESET_END_OF_BATCH when flow stops and final values are received. Note:Typical end of batch command order is: MSMppp (tell Multiload to stop flow) MBCppp (tell Multiload to mark batch as complete, no further flowing on batch) MBEppp (tell Multiload to get ready for total pickup) wait for state==PRESET_END_OF_BATCH (ok to get totals) MRSppp to get totals MEBppp (ok to clear totals on Multiload) Modbus: Write Only Register=7057+ppp, Len=1, 16-Bit Integer (any value) 6.7END BATCH: MEBppp Where: ppp = The specified zero-based preset or load arm number (000-011). Command is used to finish end-of-batch processing and that totals can be cleared. Modbus: Write Only Register=7069+ppp, Len=1, 16-Bit Integer (any value) Chapter 6 Meter Commands22 6.8PRESET MESSAGE: MPMpppssssssssssddddddddddddddddddddddddddddddddddddddd Where: ppp = The specified zero-based preset or load arm number (000-011). ssssssssss = 10 Character Message. ddddddddddddddddddddddddddddddddddddddd = 39 Character Detail Message. Displays a message forthe particularpreset. A detail message will be displayed when the presetis selected.Driver and acknowledge and clear the message by pressing CLR key. Modbus: Only supported through Modbus Extended Services Registers. 6.9PROVING TRANSACTION MODE: MPTx When: x = Mode Status 0 = Off, 1 = On.Default Off when transaction is authorized. Command is used to indicate when a card in is done with a proving card and meter proving may be done during this transaction. Modbus: Write Only Register=7081, Len=1, 16-Bit Integer (x) Chapter 6 Meter Commands23 6.10REQUEST STATUS & PRESET ALARMS: MRSpppxxxxyyyyzzzzaaaa => RSppp (Requested parameters as listed below). Where: ppp = The specified zero-based preset or load arm number (000-011). xxxx = Optional response configuration bits #0 in hexadecimal as: union { unsigned int value; struct { unsigned int preset_state:1; unsigned int preset_status_0:1; unsigned int preset_alarms:1; unsigned int volume_preset_whole:1; unsigned int batch_gross_del_whole:1; unsigned int batch_net_del_whole:1; unsigned int batch_temp_tenths:1; unsigned int batch_pressure_tenths:1; unsigned int batch_gravity:1; unsigned int gross_flow_rate:1; unsigned int component_batch_gross_del_whole:1; unsigned int component_batch_net_del_whole:1; unsigned int component_batch_temp_tenths:1; unsigned int component_batch_pressure_tenths:1; unsigned int component_batch_gravity:1; unsigned int additive_batch_gross_del_thous:1; } flags; } query_0;(default value 0x965f.) Chapter 6 Meter Commands24 yyyy = Optional response configuration bits #1 in hexadecimal as: union { unsigned int value; struct { unsigned int preset_status_0:1; unsigned int preset_status_1:1; unsigned int preset_status_2:1; unsigned int meter_status_0:1; unsigned int meter_status_1:1; unsigned int meter_status_2:1; unsigned int component_status_0:1; unsigned int component_status_1:1; unsigned int component_status_2:1; unsigned int additive_status_0:1; unsigned int additive_status_1:1; unsigned int additive_status_2:1; unsigned int temp_press_in_hunds:1; unsigned int component_current_temp_hund:1; unsigned int component_current_pressure_hund:1; unsigned int component_current_density_tenths:1; } flags; } query_1;(default value 0x0000.) Chapter 6 Meter Commands25 zzzz = Optional response configuration bits #2 in hexadecimal as: union { unsigned int value; struct { unsigned int meter_batch_gross_del_whole:1; //Mass unsigned int meter_gross_flow_rate:1; // Mass unsigned int component_current_relative_density_tenthous:1; unsigned int unused_3:1; unsigned int unused_4:1; unsigned int unused_5:1; unsigned int unused_6:1; unsigned int unused_7:1; unsigned int unused_8:1; unsigned int unused_9:1; unsigned int unused_10:1; unsigned int unused_11:1; unsigned int unused_12:1; unsigned int unused_13:1; unsigned int unused_14:1; unsigned int unused_15:1; } flags; } query_2;(default value 0x0000.) aaaa = Optional response configuration bits #3 in hexadecimal as: union { unsigned int value; struct { unsigned int component_meter_gross_del_whole:1; unsigned int component_meter_net_del_whole:1; // Mass unsigned int component_meter_batch_temp_tenths:1; unsigned int component_meter_batch_pressure_tenths:1; unsigned int component_meter_batch_gravity:1; unsigned int component_meter_current_temp_tenths:1; unsigned int component_meter_current_pressure_tenths:1; unsigned int component_meter_current_gravity:1; unsigned int component_meter_current_relative_density_tenthous:1; unsigned int unused_9:1; unsigned int unused_10:1; unsigned int unused_11:1; unsigned int unused_12:1; unsigned int unused_13:1; Chapter 6 Meter Commands26 unsigned int unused_14:1; unsigned int unused_15:1; } flags; } query_3;(default value 0x0000.) Defaults are compatible with previous Multiload MRS replies. To query for preset information only use: MRSppp03ff To query for preset pressure only use: MRSppp0080 To query for additive delivered only use: MRSppp8000 RS = Request Status Response ppp = The specified zero-based preset or load arm number (000-011). Chapter 6 Meter Commands27 Query 0 and 1 Responses: wwww= preset state in hexidecimal as: enum { PRESET_IDLE=0, PRESET_LOW_FLOW=1, PRESET_HIGH_FLOW=2, PRESET_1ST_TRIP=3, PRESET_2ND_TRIP=4, PRESET_FINAL_TRIP=5, PRESET_START=6, PRESET_ALARM=7, PRESET_COMPLETE=8, PRESET_NOT_AUTH=9, PRESET_WAIT_TMS= 10, PRESET_AUTH= 11, PRESET_PRESET= 12, PRESET_DISABLED= 13, PRESET_STOP= 14, PRESET_REMOTE_MSG= 15, PRESET_END_OF_BATCH= 16, PRESET_ARCHIVING= 17, PRESET_CLEARING= 18, PRESET_TRANS_DONE= 19 } preset_state; Chapter 6 Meter Commands28 xxxx= preset status #0 in hexadecimal as: union { unsigned int value; struct { unsigned char preset_enabled:1;// preset is enabled unsigned char preset_host_enabled:1;// preset enabled by host unsigned char authorized:1;// preset available for use unsigned char flow_active:1;// flow state is not idle unsigned char batch_authorized:1;// product & preset has been authorized unsigned char remote_msg:1;// remote message active unsigned char remote_desc:1;// remote descriptive message active unsigned char load_complete:1;// no further loading on batch can be done unsigned char end_batch:1;// MBE command processing started unsigned char end_batch_done:1;// MBE command processing done unsigned char tms_got_data:1;// MEB command received unsigned char archived:1;//batchdatahasbeenarchivedintotransaction database unsigned char batch_cleared:1;// batch has been cleared unsigned char clearing_load:1;// load clear has been issued unsigned char load_cleared:1;// load has been cleared unsigned char trans_done:1;// transaction is done } flags: } preset_status_0; Chapter 6 Meter Commands29 yyyy= preset alarms in hexadecimal as: union { unsigned int value; struct { unsigned char preset_fcm_com:1;//oneormoreFCMsthatarerequiredfor PRESETstatusorsignalsareincom error. unsigned char preset_permissive:1;// preset permissive not active but preset is authorized to load. unsigned char swing_arm_permissive:1;//swingarmnotinbayandpresetis authorized to load. unsigned char line_not_flushed:1;//lessthanmin_line_flush_volhasflowed since a non-flush component has flowed and batch was ended. unsigned char preset_block_valve:1;//blockvaluestatusdoesnotagreewith commanded valve position. unsigned char bay_alarm:1;// a bay level alarm currently exists. unsigned char component_alarm:1;// a component level alarm currently exists for this preset. unsigned char additive_alarm:1;// a additive level alarm currently exists for this preset. unsigned char meter_stop:1;// meter stop button for preset pressed unsigned char preset_overrun:1;//presetdeliveredvolumeisovertarget volume by overrun_alarm_vol. unsigned char excess_flow:1;//presetflowratehasexceeded excess_flow_alarm_rate. unsigned char unused11:1; unsigned char unused12:1; unsigned char unused13:1; unsigned char unused14:1; unsigned char configuration_error:1;//presetconfigurationhasinvaliddata, check message log for details } flags; } preset_alarms; Chapter 6 Meter Commands30 qqqqqqqqq= preset quantity in whole units ddddddddd = delivered gross quantity in whole unitsddddddddd=deliverednetquantityinwhole units Note: if the Use Hundredths W&M RCU parameter is enabled, the gross and net quantity value will have an implied two decimal places. sddddd = signed batch average temp in tenths or hundredths sddddd = signed batch average pressure in tenths or hundredths dddddd = depending on API table selected,batch average density in tenths OR batch average relative density in ten thousands OR batch average gravity in tenths ddddd = preset gross flow rate in whole units Modbus : Where: p = preset (0-11) Read Only Register=4000+p, Len=1, 16-Bit Integer (wwww) Read Only Register=4012+p, Len=1, 16-Bit Integer (xxxx) Read Only Register=4024+p, Len=1, 16-Bit Integer (yyyy) Read Only Register=4036+p, Len=2, 32-Bit Integer (qqqqqqqqq) Read Only Register=4060+p, Len=2, 32-Bit Integer (ddddddddd (gross)) Read Only Register=4084+p, Len=2, 32-Bit Integer (ddddddddd (net)) Read Only Register=4108+p, Len=2, 32-Bit Integer (sddddd (temp)) Read Only Register=4132+p, Len=2, 32-Bit Integer (sddddd (pressure)) Read Only Register=4156+p, Len=2, 32-Bit Integer (dddddd) Read Only Register=4180+p, Len=1, 16-Bit Integer (ddddd (rate)) Chapter 6 Meter Commands31 per meter(5): ddddddddd = meter delivered gross quantity in whole units Note: if the Use Hundredths W&M RCU parameter is enabled, the gross quantity value will have an implied two decimal places. ddddd = meter gross flow rate in whole units Modbus : Where: p = preset (0-11), m = meter (0-4) Read Only Register=4192+p*5+m, Len=2, 32-Bit Integer (ddddddddd (gross)) Read Only Register=4312+p*5+m, Len=1, 16-Bit Integer (ddddd (rate)) Chapter 6 Meter Commands32 per component(8): ddddddddd = delivered gross quantity in whole units ddddddddd = delivered net quantity in whole units Note: if the Use Hundredths W&M RCU parameter is enabled, the gross and net quantity value will have an implied two decimal places. sddddd = signed component batch average temp in tenths or hundredths sddddd = component batch average pressure in tenths or hundredths dddddd = depending on API table selected,component batch average density in tenths OR component batch average relative density in ten thousands OR component batch average gravity in tenths sddddd = signed component current temp in hundredths sddddd = signed component current pressure in hundredths sddddd = signed component current density in tenths sddddd = signed component current relative density in ten thousands ddddddddd = component meter delivered gross quantity in whole units ddddddddd = component meter delivered net quantity in whole units sddddd = signed component meter batch average temp in tenths or hundredths sddddd = component meter batch average pressure in tenths or hundredths dddddd = depending on API table selected,component meter batch average density in tenths OR component meter batch average relative density in ten thousands OR component meter batch average gravity in tenths sddddd = signed component meter current temp in hundredths sddddd = signed component meter current pressure in hundredths sddddd = signed component meter current density in tenths sddddd = signed component meter current relative density in ten thousands Modbus : Where: p = preset (0-11), c = component (0-7) Read Only Register=4372+p*8+c, Len=2, 32-Bit Integer (ddddddddd (gross)) Read Only Register=4564+p*8+c, Len=2, 32-Bit Integer (ddddddddd (net)) Read Only Register=4756+p*8+c, Len=2, 32-Bit Integer (sddddd (component average temp)) Read Only Register=4948+p*8+c, Len=2, 32-Bit Integer (sddddd (component average pressure)) Read Only Register=5140+p*8+c, Len=2, 32-Bit Integer (dddddd (component average density/rel. dens./gravity)) Read Only Register=5332+p*8+c, Len=2, 32-Bit Integer (sddddd (component current temp)) Read Only Register=5524+p*8+c, Len=2, 32-Bit Integer (sddddd (component current pressure)) Read Only Register=5716+p*8+c, Len=2, 32-Bit Integer (sddddd (component current density)) Read Only Register=6292+p*8+c, Len=2, 32-Bit Integer (sddddd (component current relative density)) Chapter 6 Meter Commands33 per additive(16): ddddddddd = delivered quantity in thousands Modbus : Where: p = preset (0-11), a = additive (0-11) Read Only Register=5908+p*16+a, Len=2, 32-Bit Integer (ddddddddd (delivered quantity in thousands)) Chapter 6 Meter Commands34 Query 1 Responses: xxxx= preset status #0 in hexadecimal as: union { unsigned int value; struct { unsigned char preset_enabled:1;// preset is enabled unsigned char preset_host_enabled:1;// preset enabled by host unsigned char authorized:1;// preset available for use unsigned char flow_active:1;// flow state is not idle unsigned char batch_authorized:1;// product & preset has been authorized unsigned char remote_msg:1;// remote message active unsigned char remote_desc:1;// remote descriptive message active unsigned char load_complete:1;// no further loading on batch can be done unsigned char end_batch:1;// MBE command processing started unsigned char end_batch_done:1;// MBE command processing done unsigned char tms_got_data:1;// MEB command received unsigned char archived:1;//batchdatahasbeenarchivedintotransaction database unsigned char batch_cleared:1;// batch has been cleared unsigned char clearing_load:1;// load clear has been issued unsigned char load_cleared:1;// load has been cleared unsigned char trans_done:1;// transaction is done } flags: } preset_status_0; Chapter 6 Meter Commands35 xxxx= preset status #1 in hexadecimal as: union { unsigned int value; struct { unsigned char program_clear_errors:1;// command to clear errors unsigned char remote_clear_errors:1;// command to clear errors unsigned char driver_clear_errors:1;// command to clear errors unsigned char clearing_errors:1;// currently clearing errors unsigned char flow_batch:1;// command to flow/not flow product unsigned char clear_batch:1;// command to clear batch unsigned char clear_load:1;// command to clear load unsigned char flush_stage_needed:1;// product flush stage required unsigned char open_blk_val:1;// block valve open unsigned char blk_val_status:1;// block valve status unsigned char close_blk_val:1;// block valve close unsigned char remote_start:1;// remote start button status unsigned char swing_arm:1;// swing arm select status unsigned char meter_stop:1;// meter stop button status unsigned char alarm_out:1;// preset alarm output status unsigned char permissive:1;// preset permissive input status } flags: } preset_status_1; Chapter 6 Meter Commands36 xxxx= preset status #2 in hexadecimal as: union { unsigned int value; struct { unsigned char permissive_out:1;// preset permissive output status unsigned char load_interrupted:1; // has loading been interrupted unsigned char clearing_batch:1; // batch in process of clearing unsigned char alt_high_flow:1; // alt_high_flow input active unsigned char gross_value_measured_for_trade:1; // gross value is W&M approved unsigned char wm_clear_errors:1; // command to clear errors unsigned char batch_alarm:1; // one or more preset level alarms occurred during the batch unsigned char unused2_7:1; // future use unsigned char unused2_8:1; // future use unsigned char unused2_9:1; // future use unsigned char unused2_10:1; // future use unsigned char unused2_11:1; // future use unsigned char unused2_12:1; // future use unsigned char unused2_13:1; // future use unsigned char unused2_14:1; // future use unsigned char unused2_15:1; // future use } flags: } preset_status_2; Modbus: Supported through Modbus Extended Services Registers. Chapter 6 Meter Commands37 per meter(6): xxxx= meter status #0 in hexadecimal as: union { unsigned int value; struct { unsigned char program_clear_errors:1;// command to clear errors unsigned char remote_clear_errors:1;// command to clear errors unsigned char driver_clear_errors:1;// command to clear errors unsigned char clearing_errors:1;// currently clearing errors unsigned char clear_totals:1;// commanded to clear totals unsigned char start_flow:1;// commanded to start flow unsigned char stop_flow:1; ;// commanded to stop flow unsigned char high_flow:1;// forcing flow into high flow unsigned char upstream_valve:1;// upstream valve status unsigned char downstream_valve:1;// downstream valve status unsigned char alarm_out:1;// meter alarm output status unsigned char authorized:1;// meter authorized output status unsigned char permissive:1;// meter permissive input status unsigned char permissive_out:1;// meter permissive output status unsigned char wm_clear_errors:1;// command to clear errors unsigned char unused0_15:1;// future use } flags: } meter_status_0; Chapter 6 Meter Commands38 xxxx= meter status #1 in hexadecimal as: union { unsigned int value; struct { unsigned char unused1_0:1; // future use unsigned char unused1_1:1; // future use unsigned char unused1_2:1; // future use unsigned char unused1_3:1; // future use unsigned char unused1_4:1; // future use unsigned char unused1_5:1; // future use unsigned char unused1_6:1; // future use unsigned char unused1_7:1; // future use unsigned char unused1_8:1; // future use unsigned char unused1_9:1; // future use unsigned char unused1_10:1; // future use unsigned char unused1_11:1; // future use unsigned char unused1_12:1; // future use unsigned char unused1_13:1; // future use unsigned char unused1_14:1; // future use unsigned char unused1_15:1; // future use } flags: } meter_status_1; Chapter 6 Meter Commands39 xxxx= meter status #2 in hexadecimal as: union { unsigned int value; struct { unsigned char unused2_0:1; // future use unsigned char unused2_1:1; // future use unsigned char unused2_2:1; // future use unsigned char unused2_3:1; // future use unsigned char unused2_4:1; // future use unsigned char unused2_5:1; // future use unsigned char unused2_6:1; // future use unsigned char unused2_7:1; // future use unsigned char unused2_8:1; // future use unsigned char unused2_9:1; // future use unsigned char unused2_10:1; // future use unsigned char unused2_11:1; // future use unsigned char unused2_12:1; // future use unsigned char unused2_13:1; // future use unsigned char unused2_14:1; // future use unsigned char unused2_15:1; // future use } flags: } meter_status_2; Modbus: Supported through Modbus Extended Services Registers. Chapter 6 Meter Commands40 per component(8): xxxx= component status #0 in hexadecimal as: union { unsigned int value; struct { unsigned char program_clear_errors:1;// command to clear errors unsigned char remote_clear_errors:1;// command to clear errors unsigned char driver_clear_errors:1;// command to clear errors unsigned char clearing_errors:1;// currently clearing errors unsigned char clear_batch:1;// commanded to clear batch unsigned char remote_start_button:1;// remote start button input status unsigned char pump_run:1;// pump run output status unsigned char pump_kill:1;// pump kill output status unsigned char pump_status:1;// pump status input status unsigned char open_blk_val:1;// open block valve output status unsigned char blk_val_status:1;// block valve status input status unsigned char close_blk_val:1;// close block valve output status unsigned char alarm_out:1;// alarm out output status unsigned char authorized:1;// authorized output status unsigned char permissive:1;// component permissive input status unsigned char permissive_out:1;// component permissive output status } flags: } component_status_0; Chapter 6 Meter Commands41 xxxx= component status #1 in hexadecimal as: union { unsigned int value; struct { unsigned char blend_ready:1;// component blend ready unsigned char blend_complete:1;// component blend complete unsigned char flush_ready:1;// component flush ready unsigned char flush_complete:1;// component flush complete unsigned char sequential_delivery:1;// component to be sequentially delivered unsigned char clearing_batch:1; // component batch in process of clearing unsigned char gross_value_measured_for_trade:1; // gross value is W&M approved unsigned char wm_clear_errors:1; // command to clear errors unsigned char unused1_8:1; // future use unsigned char unused1_9:1; // future use unsigned char unused1_10:1; // future use unsigned char unused1_11:1; // future use unsigned char unused1_12:1; // future use unsigned char unused1_13:1; // future use unsigned char unused1_14:1; // future use unsigned char unused1_15:1; // future use } flags: } component_status_1; Chapter 6 Meter Commands42 xxxx= component status #2 in hexadecimal as: union { unsigned int value; struct { unsigned char unused2_0:1; // future use unsigned char unused2_1:1; // future use unsigned char unused2_2:1; // future use unsigned char unused2_3:1; // future use unsigned char unused2_4:1; // future use unsigned char unused2_5:1; // future use unsigned char unused2_6:1; // future use unsigned char unused2_7:1; // future use unsigned char unused2_8:1; // future use unsigned char unused2_9:1; // future use unsigned char unused2_10:1; // future use unsigned char unused2_11:1; // future use unsigned char unused2_12:1; // future use unsigned char unused2_13:1; // future use unsigned char unused2_14:1; // future use unsigned char unused2_15:1; // future use } flags: } component_status_2; Modbus: Supported through Modbus Extended Services Registers. Chapter 6 Meter Commands43 per additive(16): xxxx= additive status #0 in hexadecimal as: union { unsigned int value; struct { unsigned char program_clear_errors:1;// command to clear errors unsigned char remote_clear_errors:1;// command to clear errors unsigned char driver_clear_errors:1;// command to clear errors unsigned char clearing_errors:1;// commanded to clear errors unsigned char clear_batch:1;// commanded to clear batch unsigned char test_button:1;// test inject button input status unsigned char pump_run:1;// pump run output status unsigned char pump_kill:1;// pump kill output status unsigned char pump_status:1;// pump status input status unsigned char open_blk_val:1;// open block valve output status unsigned char blk_val_status:1;// block valve status input status unsigned char close_blk_val:1;// close block valve output status unsigned char flush_pump_run:1;// flush pump run output status unsigned char alarm_out:1;// alarm out output status unsigned char authorized:1;// authorized output status unsigned char permissive:1;// additive permissive input status } flags: } additive_status_0; Chapter 6 Meter Commands44 xxxx= additive status #1 in hexadecimal as: union { unsigned int value; struct { unsigned char permissive_out:1;// permissive out output status unsigned char feedback_status:1;// additive feedback input status unsigned char wm_clear_errors:1; // command to clear errors unsigned char unused1_3:1; // future use unsigned char unused1_4:1; // future use unsigned char unused1_5:1; // future use unsigned char unused1_6:1; // future use unsigned char unused1_7:1; // future use unsigned char unused1_8:1; // future use unsigned char unused1_9:1; // future use unsigned char unused1_10:1; // future use unsigned char unused1_11:1; // future use unsigned char unused1_12:1; // future use unsigned char unused1_13:1; // future use unsigned char unused1_14:1; // future use unsigned char unused1_15:1; // future use } flags: } additive_status_1; Chapter 6 Meter Commands45 xxxx= additive status #2 in hexadecimal as: union { unsigned int value; struct { unsigned char unused2_0:1; // future use unsigned char unused2_1:1; // future use unsigned char unused2_2:1; // future use unsigned char unused2_3:1; // future use unsigned char unused2_4:1; // future use unsigned char unused2_5:1; // future use unsigned char unused2_6:1; // future use unsigned char unused2_7:1; // future use unsigned char unused2_8:1; // future use unsigned char unused2_9:1; // future use unsigned char unused2_10:1; // future use unsigned char unused2_11:1; // future use unsigned char unused2_12:1; // future use unsigned char unused2_13:1; // future use unsigned char unused2_14:1; // future use unsigned char unused2_15:1; // future use } flags: } additive_status_2; Modbus: Supported through Modbus Extended Services Registers. Chapter 6 Meter Commands46 6.11REQUEST SMP STATUS & PRESET ALARMS: MSSpppxxxxyyyyzzzz => SSppp (Requested parameters as listed above). The MSS command for the MultiLoad IISMP, is identical to theMRS command but only returns 1 component instead of 8, 1 meter instead of 4, and 2 additives instead of 16 additives in the response. 6.12TRIP PRESET ALARMS: MTPApppyyyy => TPAppp Where: ppp = The specified zero-based preset or load arm number (000-011). yyyy= preset alarms in hexadecimal as: union { unsigned int value; struct { unsigned char preset_fcm_com:1;//oneormoreFCMsthatarerequiredfor PRESETstatusorsignalsareincom error. unsigned char preset_permissive:1;// preset permissive not active but preset is authorized to load. unsigned char swing_arm_permissive:1;//swingarmnotinbayandpresetis authorized to load. unsigned char line_not_flushed:1;//lessthanmin_line_flush_volhasflowed since a non-flush component has flowed and batch was ended. unsigned char preset_block_valve:1;//blockvaluestatusdoesnotagreewith commanded valve position. unsigned char bay_alarm:1;// a bay level alarm currently exists. unsigned char component_alarm:1;// a component level alarm currently exists for this preset. unsigned char additive_alarm:1;// a additive level alarm currently exists for this preset. unsigned char meter_stop:1;// meter stop button for preset pressed unsigned char preset_overrun:1;//presetdeliveredvolumeisovertarget volume by overrun_alarm_vol. unsigned char excess_flow:1;//presetflowratehasexceeded excess_flow_alarm_rate. unsigned char unused11:1; unsigned char unused12:1; unsigned char unused13:1; unsigned char unused14:1; unsigned char configuration_error:1;//presetconfigurationhasinvaliddata, check message log for details } flags; } preset_alarms; Chapter 6 Meter Commands47 Modbus: Write Only Register=7082+ppp, Len=1, 16-Bit Integer (yyyy) 6.13REQUEST BAY ALARMS: MRBA => RBAxxxx Where: xxxx = bay alarms in hexadecimal as: union { struct { unsigned char bay_fcm_com:1;//oneormoreFCMsthatarerequiredforBAY status or signals are in com error. unsigned char bay_permissive0:1;//userdefinablepresetpermissive0notactive butbayisauthorizedtoload.Errormessage can be renamed to indicate permissive. unsigned char bay_permissive1:1;//userdefinablepresetpermissive1notactive butbayisauthorizedtoload.Errormessage can be renamed to indicate permissive. unsigned char bay_permissive2:1;//userdefinablepresetpermissive2notactive butbayisauthorizedtoload.Errormessage can be renamed to indicate permissive. unsigned char bay_permissive3:1;//userdefinablepresetpermissive3notactive butbayisauthorizedtoload.Errormessage can be renamed to indicate permissive. unsigned char bay_permissive4:1;//userdefinablepresetpermissive4notactive butbayisauthorizedtoload.Errormessage can be renamed to indicate permissive. unsigned char bay_permissive5:1;//userdefinablepresetpermissive5notactive butbayisauthorizedtoload.Errormessage can be renamed to indicate permissive. unsigned char bay_permissive6:1;//userdefinablepresetpermissive6notactive butbayisauthorizedtoload.Errormessage can be renamed to indicate permissive. unsigned char bay_permissive7:1;//userdefinablepresetpermissive7notactive butbayisauthorizedtoload.Errormessage can be renamed to indicate permissive. unsigned char all_stop:1;// all stop button pressed unsigned char bay_pcm_com:1;//oneormoreFCMsthatarerequiredforBAY status or signals are in comm error. unsigned char printer_error:1;// one or more printers are in error. unsigned char unused12:1; unsigned char unused13:1; unsigned char unused14:1; unsigned char fcm_trace:1; } flags; unsigned int value; } bay_alarms; Modbus: Chapter 6 Meter Commands48 Read Only Register=7094, Len=1, 16-Bit Integer (xxxx) 6.14REQUEST COMPONENT ALARMS: MRCAppp => RCApppxxxx Where: ppp = The specified zero-based preset or load arm number (000-011). per component(8): xxxx = component alarms in hexadecimal as: union { unsigned int value; struct { unsigned char component_fcm_com:1;//oneormoreFCMsthatare requiredforCOMPONENTstatus or signals are in comm error. unsigned char component_permissive:1;// component permissive not active butcomponentisauthorizedto load. unsigned char component_block_valve:1;//blockvaluestatusdoesnot agreewithcommandedvalve position. unsigned char component_unauth_flow:1;//greaterthan unauth_flow_alarm_volhasbeen metered when component was not authorized for flow. unsigned char component_pump_status:1;// pump status does not agree with commanded pump state. unsigned char meter_alarm:1;//ameterlevelalarmcurrently exists for this component. unsigned char component_over_blend_tol:1;//blendprecenthasbeenoverby blend_chk_alarm_pctfor blend_chk_alarm_time seconds. unsigned char component_under_blend_tol:1;// blend precent has been under by blend_chk_alarm_pctfor blend_chk_alarm_time seconds. unsigned char component_api_table:1;// API VCF table error unsigned char unused9:1; unsigned char unused10:1; unsigned char unused11:1; unsigned char unused12:1; unsigned char unused13:1; unsigned char unused14:1; unsigned char unused15:1; } flags; } component_alarm; Modbus: Where: p = preset (0-11), c = component (0-7) Chapter 6 Meter Commands49 Read Only Register=7095+8*p+c, Len=1, 16-Bit Integer (xxxx) Note: Last Component Alarm Register Used=7190 6.15REQUEST METER ALARMS: MRMAppp => RMApppxxxx Where: ppp = The specified zero-based preset or load arm number (000-011). per meter(5): xxxx = meter alarms in hexadecimal as: union { unsigned int value; struct { unsigned char meter_fcm_com:1;//oneormoreFCMsthatarerequiredfor METERstatusorsignalsareincomm error. unsigned char meter_permissive:1;// meter permissive notactive but meter is authorized to load. unsigned char fcm_invalid_config:1;//FCMreportinganerrorwithloaded configuration.(Meterfactorslikelysource of this type of error.) unsigned char fcm_wdt_reset:1;//FCMstoppedflowduetolackof communication from RCU. unsigned char fcm_com_timeout:1;//FCMcomtimedoutduetoalackof communication from RCU. unsigned char valve_fault:1;//greaterthanvalue_fault_alarm_volhas been metered since flow was stopped. unsigned char low_flow:1;// flow rate was below low_flow_alarm_rate forlow_flow_alarm_timesecondswhile attempting to flow. unsigned char excess_flow:1;//flowratewasabove excess_flow_alarm_rate. unsigned char quad_encoding:1;// max_quad_errors were received. unsigned char density_error:1;//densitysignalnotvalidordensity< alarm_low_densityordensity> alarm_high_density. unsigned char temp_error:1;//tempsignalnotvalidortemp< alarm_low_temportemp> alarm_high_temp. unsigned char valve_control:1;//notabletoslowforstopflowratefor valve_control_alarm_time. unsigned char meter_creep:1;// greater than meter_creep_alarm_vol has been metered since flow was stopped. unsigned char pressure_error:1;//pressuresignalnotvalidorpressure< alarm_low_pressureorpressure> alarm_high_pressure. unsignedcharquad_encoding_a:1;//max_quad_errorswerereceivedonchannel A. Chapter 6 Meter Commands50 unsignedcharquad_encoding_b:1;//max_quad_errorswerereceivedonchannel B. } flags; } meter_alarms; Modbus: Where: p = preset (0-11), m = meter (0-4) Read Only Register=7191+5*p+m, Len=1, 16-Bit Integer (xxxx) Note: Last Meter Alarm Register Used=7250 6.16REQUEST ADDITIVE ALARMS: MRAAppp => RAApppxxxx Where: ppp = The specified zero-based preset or load arm number (000-011). per additive(16): xxxx = additive alarms in hexadecimal as: union { unsigned int value; struct { unsigned char additive_fcm_com:1;//oneormoreFCMsthatarerequiredfor ADDITIVEstatusorsignalsareincomm error. unsigned char additive_permissive:1;//additivepermissivenotactivebut additive is authorized to load. unsigned char additive_under_add:1;//recipeadditiveneededisunderactual additivedeliveredby under_adtv_alarm_injects. unsigned char additive_over_add:1;//recipeadditiveneededisoveractual additivedeliveredby over_adtv_alarm_injects. unsigned char additive_valve_fault:1;//greaterthanvalue_fault_alarm_volhas been metered since flow was stopped. unsigned char additive_pump_status:1;//pumpstatusdoesnotagreewith commanded pump state. unsigned char additive_injection:1;//pistonswitchorpulserdidnotindicate an injection took place. unsigned char additive_unauth_flow:1;//greaterthanunauth_flow_alarm_volhas beenmeteredwhenadditivewasnot authorized for flow. unsigned char additive_line_not_flushed:1; // min_line_flush_volume of product has not flushed since last inject was completed and batch was ended. unsigned charadditive_meter_creep:1; // greater than meter_creep_alarm_volhas been metered since flow was stopped. unsignedcharadditive_block_valve:1;//blockvalvestatusdoesnotagreewith commanded valve position. unsigned char unused11:1; Chapter 6 Meter Commands51 unsigned char unused12:1; unsigned char unused13:1; unsigned char unused14:1; unsigned char unused15:1; } flags; } additive_alarms; Modbus: Where: p = preset (0-11), a = additive (0-15) Read Only Register=7251+16*p+a, Len=1, 16-Bit Integer (xxxx) Note: Last Additive Alarm Register Used=7442 6.17START PRESET FLOW: MMSppp Where: ppp = The specified zero-based preset or load arm number (000-011). Startsflowfortheparticularpreset.AmessageisplacedintotheMessageLogwhenthiscommandis executed. Modbus: Write Only Register=7443+ppp, Len=1, 16-Bit Integer (any value) 6.18STOP PRESET FLOW: MSMpppssssssssssddddddddddddddddddddddddddddddddddddddd Where: ppp = The specified zero-based preset or load arm number (000-011). ssssssssss = 10 Character Optional Message. ddddddddddddddddddddddddddddddddddddddd = 39 Character Optional Detail Message. Stops flow and displays a message for the particular preset.A detail message will be displayed when the preset is selected.Driver and acknowledge and clear the message by pressing CLR key. Modbus: Write Only Register=7455+ppp, Len=1, 16-Bit Integer (any value) Stop Preset Message only supported through Modbus Extended Services Register. Chapter 7 Register Operations52 CHAPTER 7REGISTER OPERATIONS: Read Register Command=>Response R=> R004=>0?00004000000001 R104021000001=>0?0104021000001000000020 R999=>1?0999 (invalid register!) Update Register Command=>Response U=> U004000000001=>0?0004 U104021000001000000020=>0?0104021000001 U999000000001=>1?0999 (invalid register or value!) MultiLoad contains literally hundreds of registers that configure everything from message toggling delay to meter factors.All of these registers are accessed using the same two commands. ToreadthevalueofaregisterthecommandisRfollowedbytheregisterandsubregisternumbers.The response will be the register and sub register numbers, followed by the register value.The value may be up to 9 decimal digits.To update the value of a register the command is U followed by the register and sub register numbers and the value to be stored. While almost all registers can be read or updated, a few have only read access.Many others have protection that prevents updates while a transaction is in process, host system is up, or when Weights & Measures security is in effect. Chapter 7 Register Operations53 7.1GENERIC REGISTERS 7.1.1REGISTER DATA TYPES Allregistersarereadandupdatedaspositiveintegersevenwhenvaluesexpressedarenonpositiveor fractional.In some cases a several values are concatenated bit-wise to form the register value. unsigned int Unsigned integer value. Numeric ValueRegister Value 1234512345 unsigned div10 Unsigned numeric value with 1 decimal place. Numeric ValueRegister Value 1234.512345 unsigned div100 Unsigned numeric value with 2 decimal places. Numeric ValueRegister Value 123.4512345 unsigned div1000 Unsigned numeric value with 3 decimal places. Numeric ValueRegister Value 12.34512345 unsigned div10000 Unsigned numeric value with 4 decimal places. Numeric ValueRegister Value 1.234512345 percent Unsigned percent value with 2 decimal places. Numeric ValueRegister Value 123.45%12345 percent div 10000 Unsigned percent value with 4 decimal places. Numeric ValueRegister Value 1.2345%12345 signed int Signed integer value. Numeric ValueRegister Value +1234512345 +00 +11 +3276732767 -3276832768 -165535 signed div10 Signed numeric value with 1 decimal place. Numeric ValueRegister Value Chapter 7 Register Operations54 +1234.512345 +0.00 +0.11 +3276.732767 -3276.832768 -0.165535 signed div100 Signed numeric value with 2 decimal places. Numeric ValueRegister Value +123.4512345 +0.000 +0.011 +327.6732767 -327.6832768 -0.0165535 signed div1000 Signed numeric value with 3 decimal places. Numeric ValueRegister Value +12.34512345 +0.0000 +0.0011 +32.76732767 -32.76832768 -0.00165535 signed div10000 Signed numeric value with 4 decimal places. Numeric ValueRegister Value +1.234512345 +0.00000 +0.00011 +3.276732767 -3.276832768 -0.000165535 disable enable Enumerated disable and enable values. enum{ //Enumerated ValueRegister Value DISABLED= 0, ENABLED= 1 }; measure Enumerated measure values. enum{ //Enumerated ValueRegister Value GALLONS= 0, LITRES= 1, CUBIC_METERS= 2, TONNES= 3, Chapter 7 Register Operations55 KILOGRAMS= 4, GRAMS= 5, POUNDS= 6, BARRELS= 7, NO_MEASURE= 8, LITERS= 9, DECALITERS= 10, }; api table name Enumerated api table name values. enum{ //Enumerated ValueRegister Value NONE= 0, TABLE_6A= '1', TABLE_6B= '2', TABLE_6C= 'F', TABLE_6D= 'U', TABLE_7= 'M', TABLE_8= 'H', TABLE_23E= 'a', TABLE_24A= '3', TABLE_24B= '4', TABLE_24E= 'S', TABLE_26= 'B', TABLE_34= '7', TABLE_53A= 'Q' TABLE_53B= 'R' TABLE_53D= 'Y' TABLE_54= 'A', TABLE_54A= '5', TABLE_54B= '6', TABLE_54BE= 'P', TABLE_54C= '8', TABLE_54D= 'X', TABLE_59E= 'b', TABLE_60A= 'C', TABLE_60B= 'D', TABLE_60D= 'E', TABLE_60o= 'c', TABLE_901A= 'd', TABLE_TEC= '9', TABLE_TEC_ETH= 'G', TABLE_I= 'I', TABLE_J= 'J', TABLE_K= 'K', TABLE_L= 'L', TABLE_O= 'O', Chapter 7 Register Operations56 TABLE_1122= 'T', TABLE_1122M= 'W', }; Note:Registervalueisstillanintegervaluenotanasciichar.Forexample,tospecifyTABLE_54,theascii value of A or 65 would be the register value, not the characterA. fcm address FCM addressing parameters. This type is a bit-wise concatenation of four different FCM addressing parameters that is expressed as a single register value. struct fcm_address_type { unsigned char port_number:3;// FCM port range 0-7 unsigned char fcm_number:5;// FCM number range 0-31 unsigned char invert:1;// Normal signal = 0, Invert signal = 1 // For pulse outputs, single pulse = 0, dual pulse = 1 unsigned char enabled:1;// Disabled = 0, Enabled = 1 unsigned char ext_port:3;// ext_port(3) Port range 0-39 unsigned char unused:3; }; Note: Register value is still an integer value not a binary structure. Forexample,tospecifyport_number4,fcm_number1,normalsignal,enabled,(0000,0,1,0,00001,100)the numericvalueofthebit-wiseconcatenationofthesefourdifferentFCMaddressingparameterswouldbe 0x020C = 524. Forexample,tospecifyport_number11,fcm_number3,normalsignal,enabled,(0000,1,1,0,00011,011)the numericvalueofthebit-wiseconcatenationofthesefourdifferentFCMaddressingparameterswouldbe 0x061B = 1563. language Enumerated language values. enum{ //Enumerated ValueRegister Value LANGUAGE_ENGLISH = 0, LANGUAGE_SPANISH = 1, LANGUAGE_PORTUGUESE= 2, LANGUAGE_FRENCH= 3, LANGUAGE_MANDARIN= 4, }; alarm count reset mode Enumerated alarm count reset mode values. enum{ //Enumerated ValueRegister Value AUTH_TRANS= 0, CLEAR_PROMOTED= 1, TIME_2_MIN= 2, TIME_5_MIN= 3, TIME_15_MIN= 4, TIME_30_MIN= 5, TIME_60_MIN= 6, TIME_3_HOURS= 7, Chapter 7 Register Operations57 TIME_6_HOURS= 8, TIME_12_HOURS= 9, TIME_24_HOURS= 10, }; Chapter 7 Register Operations58 meter type Enumerated meter type values. enum{ //Enumerated ValueRegister Value METER_TYPE_VOLUME_PULSE_INPUT= 0, METER_TYPE_MASS_PULSE_INPUT= 1, METER_TYPE_VOLUME_ANALOG_INPUT= 2 }; totalizer Totalizer selection parameter. This type is a bit-wise concatenation of four totalizer selection parameters that is expressed as a single register value. struct totalizer_selection_type { unsigned int preset_selected:1; unsigned int meter_selected:1; unsigned int component_selected:1; unsigned int additive_selected:1; unsigned int unused0:4; unsigned int unused1:8; unsigned int unused2:8; unsigned int unused3:8; }; Note: Register value is still an integer value not a binary structure. Forexample,tospecifypreset_selectedandcomponent_selected,(0101)thenumericvalueofthebit-wise concatenation of these four different totalizer selection parameters would be 0x0005 = 3. Chapter 7 Register Operations59 7.1.2000 RCU LEVEL CONFIGURATION REGISTERS PrefixRegisterDescriptionDate Type Min Value Max Value Default Value Protection Modbus Register Len=2 R / U004Reload ROM Lang Filedisable/enableEnabledGeneral1008 R / U008Driver LanguagelanguageEnglishGeneral1016 R / U009Program Mode LanguagelanguageEnglishGeneral1018 R / U010Card Readerdisable/enableEnabledGeneral1020 R / U011Prox Card Pull Secsunsigned int2303General1022 R / U012Remote Processingdisable/enableEnabledGeneral1024 R / U013Message Swap Delayunsigned int1603General1026 R / U014Message Hold Delayunsigned int16010General1028 R / U015 Max GPS Site Distance (MultiLoad Mobile Only)unsigned int010000200General 1030 R / U016Auto Authorizedisable/enableDisabledGeneral 1032 R / U017MM/DD/YY Datedisable/enableEnabledW & M1034 R / U018Default to Alt Langdisable/enableDisabledGeneral1036 R / U019Load Date From Enddisable/enableEnabledGeneral1038 R / U020Measure UsedmeasuresGallonsW & M1040 R / U021Print Blend Detailsunsigned int 02 1General1042 R / U022Compartment Entrydisable/enableDisabledGeneral1044 R / U023Config Timeout Minsunsigned int09920General1046 R / U024Print TotalizerstotalizersNoneGeneral1048 R / U025unused1050 R / U026Large Promptsdisable/enableDisabledGeneral1052 R / U027Confirm Flow Startsdisable/enableDisabledGeneral1054 R / U028Display Adtv as CCsdisable/enableDisabledGeneral1056 R / U029Display Hundredthsdisable/enableDisabledGeneral1058 R / U030Use Hundredthsdisable/enableDisabledW & M1060 R / U031unused1062 R / U032Print Ticketdisable/enableDisabledGeneral1064 R / U033Form Feed After Tcktdisable/enableEnabledGeneral1066 R / U034Print Ticket on PCMdisable/enableDisabledGeneral1068 R / U035Ticket PCMunsigned int0320General1070 R / U036Meter Arch Timeoutunsigned int012030General1072 R / U037InactivityTimeoutunsigned int06035General1074 R / U038Print Msg Log on PCMdisable/enableDisabledGeneral1076 R / U039Message Log PCM#unsigned int0320General1078 R / U040No Prox Pull If Flowdisable/enableDisabledGeneral1080 R / U041Host Down Timeoutunsigned int3099930General1082 Chapter 7 Register Operations60 PrefixRegisterDescriptionDate Type Min Value Max Value Default Value Protection Modbus Register Len=2 R / U042Host Wait Timeoutunsigned int60999999General1084 R / U043Prt Alibi Log on PCMdisable/enableDisabledGeneral1086 R / U044Alibi Log PCM# unsigned int03 0General1088 R / U045Swing Arm Secondarydisable/enableDisabledGeneral1090 R / U046Screen Saver Timeoutunsigned int0 65535600General1092 R / U047Screen Saver Brightpercent0100005000General1094 R / U048Min Time Change Secsunsigned int 06553560W & M1096 R / U049Display Load Volumedisable/enableDisabledGeneral1098 R / U050FCM Tracedisable/enableDisabledGeneral1100 R / U051Measure On Load Scrndisable/enableDisabledW & M1102 R / U052Status Scrn Lockoutdisable/enableEnabledGeneral1104 R / U053Load Screen Timeoutunsigned int06553560General1106 R / U054Preset Slct Timeoutunsigned int0655350General1108 R / U055Pixel Testdisable/enableDisabledGeneral1110 R / U056Meter Proving Modedisable/enableDisabledGeneral1112 R / U057Trace Preset Numberunsigned int1121General1114 R / U058unused 1116 R / U059Trace Recipedisable/enableDisabledGeneral1118 R / U060Trace Adtv Numberunsigned int1161General1120 R / U061Trace FCM Numberunsigned int03332General1122 R / U062Trace FCM Assignmentdisable/enableDisabledGeneral1124 R / U063Trace Meter Flowsdisable/enableDisabledGeneral1126 R / U064Trace Adtv Volumedisable/enableDisabledGeneral1128 R / U065unused 1130 R / U066unused 1132 R / U067unused 1134 R / U068W&M Key FCM#fcm addressDisabledW & M1136 R / U069Program Key FCM#fcm addressDisabledW & M1138 R / U090RCU Addressunsigned int09991General1180 Chapter 7 Register Operations61 7.1.3100 BAY LEVEL CONFIGURATION REGISTERS AccessRegisterDescriptionDate Type Min Value Max Value Default ValueProtection Modbus Register Len=2 R / U100000Number Bay Presetsunsigned int1121General1200 R / U100001Number of FCMsunsigned int0321General1202 R / U100002Number of PCMsunsigned int0321General1204 R / U100003Temps in Fdisable/enableDisabledW & M1206 R / U100004Canada API Limitsdisable/enableDisabledW & M1208 R / U100005unused1210 R / U100006Bay Numberunsigned int099990General 1212 R / U100007Number External Presetsunsigned int0120General1214 R / U100008unused 1216 R / U100009unused 1218 R / U100080unused1360 R / U100081Output Pulse FCM#Fcm addressDisabledGeneral1362 R / U100082Output Pulse Factorunsigned div 10000.00150.00010.000W & M1364 R / U100083unused 1366 R / U100084unused 1368 R / U100085unused 1370 R / U100086unused 1372 R / U100087unused 1374 R / U100088unused 1376 R / U100089Alarm Out FCM#Fcm addressDisabledGeneral1378 R / U100090Authorized FCM#Fcm addressDisabledGeneral1380 R / U100091Permiss 0 FCM#Fcm addressDisabledGeneral1382 R / U100092Permiss 1 FCM#Fcm addressDisabledGeneral1384 R / U100093Permiss 2 FCM#Fcm addressDisabledGeneral1386 R / U100094Permiss 3 FCM#Fcm addressDisabledGeneral1388 R / U100095Permiss 4 FCM#Fcm addressDisabledGeneral1390 R / U100096Permiss 5 FCM#Fcm addressDisabledGeneral1392 R / U100097Permiss 6 FCM#Fcm addressDisabledGeneral1394 R / U100098Permiss 7 FCM#Fcm addressDisabledGeneral1396 R / U100099Permiss Out FCM#Fcm addressDisabledGeneral1398 Chapter 7 Register Operations62 7.1.4101 PRESET LEVEL CONFIGURATION REGISTERS Note:ppp = The specified zero-based preset or load arm number (000-011). Modbus: The Modbus Preset Index Register sets the ppp index, Read/Write Register=996, Len=1, 16-Bit Integer PrefixRegisterDescriptionDate Type Min Value Max Value Default ValueProtection Modbus Register Len=2 R / U101000pppNumber of Metersunsigned int161General1400 R / U101001pppNumber of Componentsunsigned int181General1402 R / U101002pppNumber of Additivesunsigned int0160General1404 R / U101003pppSequential Blendingdisable/enableDisabledGeneral1406 R / U101004pppRatio Blendingdisable/enableDisabledGeneral1408 R / U101005pppW&M Controlleddisable/enableDisabledW & M1410 R / U101006pppProving Flow Rateunsigned int09999600General1412 R / U101007pppExcess Flw Alrm Rateunsigned int099991100General1414 R / U101008pppOverrun Alarm Volunsigned int0655355General1416 R / U101009pppLow Flow Start Volunsigned int06553550General 1418 R / U101010pppLow Flow Restart Volunsigned int06553515 General1420 R / U101011pppLow Flow Rateunsigned int09999150 General1422 R / U101012pppHigh Flow Rateunsigned int09999600 General1424 R / U101013pppProving Low Flow Volunsigned int06553550General1426 R / U101014pppLine Flush Volunsigned int0655350General1428 R / U101015pppLine Flush Min Volunsigned int0655350General1430 R / U101016pppLine Flush Comp#unsigned int080General1432 R / U101017pppTake L.F. from Matchdisable/enableEnabledGeneral1434 R / U101018pppTake L.F. from Firstdisable/enableDisabledGeneral1436 R / U101019pppTake L.F. from Lastdisable/enableDisabledGeneral1438 R / U101020pppunused 1440 R / U101021pppAlt. High Flow Rateunsigned int09999600 General1442 R / U101022pppStop Start Delayunsigned int0655350General1444 R / U101023pppBlnd Chk Start Volunsigned int06553560Conditional1446 R / U101024pppBlnd Chk Restart Volunsigned int06553510Conditional1448 R / U101025pppBlnd Chk Alarm %percent0.10%100.00%5.00%Conditional1450 R / U101026pppBlnd Chk Alarm Volunsigned int06553525Conditional1452 R / U101027pppBlnd Chk Alarm Timeunsigned int06553510Conditional1454 R / U101028pppunused1456 R / U101029pppBlnd On Lead Compdisable/enableDisabledGeneral1458 R / U101030pppBlnd Adj Start Volunsigned int06553560General1460 R / U101031pppBlnd Adj Restart Volunsigned int06553510General1462 R / U101032pppBlnd Adj Dev %percent0.00%100.00%1.00%General1464 Chapter 7 Register Operations63 PrefixRegisterDescriptionDate Type Min Value Max Value Default ValueProtection Modbus Register Len=2 R / U101033pppBlnd Adj Dev Volunsigned int0655355General1466 R / U101034pppBlnd Adj Timeunsigned int0655355General1468 R / U101035pppunused1470 R / U101036pppMin Preset Volumeunsigned long int0999999100General1472 R / U101037pppDefault Preset Volumeunsigned long int09999990General1474 R / U101038pppMax Preset Volumeunsigned long int099999910000General1476 R / U101039pppAuto Batch Authorize disable/enableDisabled General1478 R / U101040pppDeliver In Netdisable/enableDisabledW & M1480 R / U101041pppBlkValve Open Delayunsigned int0655350General1482 R / U101042pppB.V. Open Alrm Timeunsigned int26553510General1484 R / U101043pppB.V. Close Alrm Timeunsigned int26553510General1486 R / U101044pppunused 1488 R / U101045pppunused 1490 R / U101046pppOutput Pulse FCM#Fcm addressDisabledGeneral1492 R / U101047pppOutput Pulse Factorunsigned div 10000.00150.00010.000W & M1494 R / U101048pppOutput Pulse Netdisable/enableDisabledW & M1496 R / U101049pppAlt High Flow Start Delayunsigned int 09990 General 1498 R / U101050pppAlt High Flow Stop Delayunsigned int 09990 General 1500 R / U101051pppPermissive Alarm Timeunsigned int 09990 General 1502 R / U101080pppunused 1560 R / U101081pppunused 1562 R / U101082pppunused 1564 R / U101083pppunused 1566 R / U101084pppunused 1568 R / U101085pppunused 1570 R / U101086pppRemote Clear FCM#fcm address DisabledGeneral1572 R / U101087pppAlt. H.F. Rate FCM#fcm addressDisabledGeneral1574 R / U101088pppClose Blk Val FCM#fcm addressDisabledGeneral1576 R / U101089pppBlk Val Status FCM#fcm addressDisabledGeneral1578 R / U101090pppOpen Blk Val FCM#fcm addressDisabledGeneral1580 R / U101091pppFlow Active FCM#fcm addressDisabledGeneral1582 R / U101092pppBatch Authorizd FCM#fcm addressDisabledGeneral1584 R / U101093pppRemote Start FCM#fcm addressDisabledGeneral1586 R / U101094pppSwing Arm FCM#fcm addressDisabledGeneral1588 R / U101095pppMeter Stop FCM#fcm addressDisabledGeneral1590 R / U101096pppAlarm Out FCM#fcm addressDisabledGeneral1592 R / U101097pppAuthorized FCM#fcm addressDisabledGeneral1594 Chapter 7 Register Operations64 PrefixRegisterDescriptionDate Type Min Value Max Value Default ValueProtection Modbus Register Len=2 R / U101098pppPermiss FCM#fcm addressDisabledGeneral1596 R / U101099pppPermiss Out FCM#fcm addressDisabledGeneral1598 Chapter 7 Register Operations65 7.1.5102 METER LEVEL CONFIGURATION REGISTERS Note:ppp = The specified zero-based preset or load arm number (000-011). mmm = The specified zero-based meter number (000-005). Modbus: The Modbus Preset Index Register sets the ppp index, Read/Write Register=996, Len=1, 16-Bit Integer The Modbus Meter Index Register sets the mmm index, Read/Write Register=998, Len=1, 16-Bit Integer PrefixRegisterDescriptionDate Type Min Value Max Value Default ValueProtection Modbus Register