20130201 Multiload II Communications Manual_fv_3!4!31_09
-
Upload
nguyen-truong -
Category
Documents
-
view
226 -
download
0
Transcript of 20130201 Multiload II Communications Manual_fv_3!4!31_09
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
1/117
MMuullttiiLLooaaddIIII
CCoommmmuunniiccaattiioonnssGGuuiiddeeIInncclluuddiinngg::
MMuullttiiLLooaaddIIII
MMuullttiiLLooaaddIIIISSMMPPMMuullttiiLLooaaddIIIIMMoobbiillee
Part # 6077
Firmware Version 3/4.31.09
February 2013
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
2/117
Copyright Notice
Copyright 2000 - 2013 Toptech Systems, Inc.The information contained in this document is proprietary and confidential. No part of this document may be copied, reproduced, ortransmitted 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 liablefor any claims of damage, lost data, or lost time as a result of using its products.
Toptech
System s, 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 II1-Arm, MultiLoad II - SMP, FCM Flow Control Module are trademarks of Toptech Systems, Inc.
Copyright 2000 - 2013 Toptech Systems, Inc. All Rights Reserved.
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
3/117
Table of ContentsCHAPTER 1 PROTOCOL SPECIFICATION ..................................................................................................... 6
1.1
DEFINITIONS ............................................................................................................................................ 6
1.2
SMITH PROTOCOL .................................................................................................................................... 7
1.3
BROOKS PROTOCOL ................................................................................................................................. 7
1.4
DANIELS PROTOCOL ................................................................................................................................. 7
1.5
MODBUS-RTUPROTOCOL ........................................................................................................................ 8
1.5.1 Read Holding Registers (fn=3) .......................................................................................................... 8
1.5.2 Write Single Registers (fn=6)............................................................................................................. 8
1.5.3 Loopback/Maintenance (fn=8) ........................................................................................................... 9
1.5.4 Preset Multiple Registers (fn=16) ...................................................................................................... 9
1.5.5 Error Responses (fn= +128) .............................................................................................................. 9
1.5.6 Modbus Register Map Summary ..................................................................................................... 10
1.5.7
Extended Services Register ............................................................................................................ 10
CHAPTER 2
MULTILOAD COMMAND RESPONSES ................................................................................... 11
CHAPTER 3 QUERY COMMAND: .................................................................................................................. 13
CHAPTER 4 FUNCTION COMMANDS: .......................................................................................................... 14
CHAPTER 5 TERMINAL COMMANDS: .......................................................................................................... 16
5.1
TERMINAL ESCAPE COMMANDS:.............................................................................................................. 16
CHAPTER 6 METER COMMANDS: ................................................................................................................ 21
6.1
AUTHORIZE PRESET (PRODUCT AND PRESET VOLUME): ........................................................................... 21
6.2
CLEARALARMS: ..................................................................................................................................... 21
6.3
ENABLE PRESET .................................................................................................................................... 21
6.4
END TRANSACTION ................................................................................................................................. 21
6.5
BATCH COMPLETE .................................................................................................................................. 22
6.6
BATCH END:........................................................................................................................................... 22
6.7
END BATCH:........................................................................................................................................... 22
6.8
PRESET MESSAGE: ................................................................................................................................ 23
6.9
PROVING TRANSACTION MODE: .............................................................................................................. 23
6.10
REQUEST STATUS &PRESETALARMS: .................................................................................................... 24
6.11
REQUEST SMPSTATUS &PRESETALARMS: ........................................................................................... 48
6.12
TRIP PRESETALARMS: ........................................................................................................................... 48
6.13
REQUEST BAYALARMS: ......................................................................................................................... 49
6.14
REQUEST COMPONENTALARMS: ............................................................................................................ 50
6.15
REQUEST METERALARMS: ..................................................................................................................... 51
6.16
REQUESTADDITIVEALARMS: .................................................................................................................. 52
6.17
START PRESET FLOW: ............................................................................................................................ 53
6.18
STOP PRESET FLOW: ............................................................................................................................. 53
CHAPTER 7 REGISTER OPERATIONS: ........................................................................................................ 54
7.1
GENERIC REGISTERS ............................................................................................................................. 55
7.1.1 Register Data Types ........................................................................................................................ 55
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
4/117
7.1.2 000RCU Level Configuration Registers ...................................................................................... 64
7.1.3 100Bay Level Configuration Registers ........................................................................................ 66
7.1.4 101Preset Level Configuration Registers .................................................................................... 67
7.1.5 102Meter Level Configuration Registers ..................................................................................... 70
7.1.6 103Component Level Configuration Registers ............................................................................ 74
7.1.7
104Additive Level Configuration Registers ................................................................................. 76
7.1.8 105Custom Logic Definitions Registers ...................................................................................... 78
7.1.9 200Stand Alone BOL Definition Registers .................................................................................. 82
7.1.10 800Transaction Archive Registers .......................................................................................... 85
7.2
SPECIAL PURPOSE REGISTERS ............................................................................................................... 87
7.2.1 000MultiLoad Firmware Version .................................................................................................. 87
7.2.2 001Date and Time ....................................................................................................................... 87
7.2.3 003FCM Poll Rate ....................................................................................................................... 88
7.2.4 005Current BOL/Ticket Number .................................................................................................. 88
7.2.5 070Ethernet Enable ..................................................................................................................... 88
7.2.6 071 IP Address ............................................................................................................................. 88
7.2.7
072IP Mask .................................................................................................................................. 88
7.2.8 073 IP Gateway ............................................................................................................................ 88
7.2.9 074 IP Host ................................................................................................................................... 89
7.2.10 085Modem Initialization String ................................................................................................ 89
7.2.11
091..093Communication Port Parameters .............................................................................. 89
7.2.12 095..099Program Mode Passwords (5) .................................................................................. 90
7.2.13 112 - Real-Time Preset Total Gross Totalizers ........................................................................... 90
7.2.14 113 - Real-Time Preset Total Net Totalizers ............................................................................... 91
7.2.15 133FCM IO Access ................................................................................................................. 91
7.2.16 140Current Latitude/Longitude position Registers (MultiLoad Mobile Only) ........................... 92
7.2.17 141Current Transaction Latitude/Longitude/Site Index Registers (MultiLoad Mobile Only) ... 92
7.2.18 400 - Preset Definition Registers ................................................................................................ 93
7.2.19 401External Preset Display Register ...................................................................................... 93
7.2.20 500 - Product Definition Registers .............................................................................................. 94
7.2.21 600 - Standalone Driver Card Database ..................................................................................... 94
7.2.22 650GPS Site Database (MultiLoad Mobile Only) ..................................................................... 95
7.2.23 700 - Configurable Language Prompts ....................................................................................... 95
7.2.24 710 - Bay Alarm Messages ......................................................................................................... 96
7.2.25 711 - Preset Alarm Messages ..................................................................................................... 98
7.2.26 712 - Meter Alarm Messages ...................................................................................................... 99
7.2.27 713 - Component Alarm Messages ........................................................................................... 101
7.2.28
714 - Additive Alarm Messages ................................................................................................ 102
7.2.29 910Read Event Log Message Queue ................................................................................... 104
7.2.30 912Read W & M Change Log Message Queue .................................................................... 104
7.2.31 950 - Current Driver Card Number ............................................................................................ 105
7.2.32 951..954 - Current Driver Prompt Information ........................................................................... 105
7.2.33 960Input Data ........................................................................................................................ 105
7.2.34
961Input Data Terminating Key ............................................................................................ 105
7.2.35
962 - Current Driver Card Data ................................................................................................. 106
7.2.36
998Bitmap Graphic Cache .................................................................................................... 107
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
5/117
CHAPTER 8 COMMUNICATION TRACE EXAMPLE ................................................................................... 108
8.1
STARTUP OF HOST SOFTWARE ............................................................................................................. 108
8.1.1 Update Date & Time ...................................................................................................................... 108
8.1.2 Update Product Definitions ............................................................................................................ 108
8.1.3 Update Preset Definitions .............................................................................................................. 109
8.1.4
Status Query .................................................................................................................................. 109
8.2
TRANSACTIONAUTHORIZATION ............................................................................................................. 110
8.2.1 Process Driver Card In .................................................................................................................. 110
8.2.2 Authorize a Transaction on MultiLoad ........................................................................................... 111
8.2.3 Reading Totalizers ......................................................................................................................... 111
8.3
BATCHAUTHORIZATION ........................................................................................................................ 112
8.3.1 Authorize a Batch on MultiLoad..................................................................................................... 112
8.3.2 Monitor Load During Delivery ........................................................................................................ 114
8.4
END OF BATCH PROCESSING ................................................................................................................ 114
8.4.1 Ending a Batch on MultiLoad ......................................................................................................... 114
8.5
END OF TRANSACTION PROCESSING ..................................................................................................... 115
8.5.1
Ending a Transaction on MultiLoad ............................................................................................... 115
8.6
SHUTDOWN OF HOST SOFTWARE .......................................................................................................... 115
CHAPTER 9
DATA COMMUNICATION NOTES AND RECOMMENDATIONS ........................................... 116
9.1
PROTOCOL SELECTION:RS-232VS.RS-485 ........................................................................................ 116
9.1.1 RS-232 ........................................................................................................................................... 116
9.1.2 RS-485 ........................................................................................................................................... 116
9.2
CABLE SELECTION................................................................................................................................ 116
9.3
LINE TERMINATION IN MULTI-DROPPED COMMUNICATIONS ..................................................................... 116
9.4
OPTICAL ISOLATION .............................................................................................................................. 117
9.5
SHIELD GROUNDING ............................................................................................................................. 117
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
6/117
Chapter 1Protocol Specification
CHAPTER 1 PROTOCOL 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 thesoftware or measurement data.
Host communication can occur via multi-dropped RS-232/RS-485 serial on COM 1 or Ethernet 10/100 socketcommunication on port 7734.
1.1 DEFINITIONS
The non-printing characters that form the skeleton of the Smith and Brooks protocols are standard ASCII(American Standard Code Information Interchange):
ASCII CHARACTER DECIMAL HEX BINARY
NUL 0 0 00000000
STX 2 2 00000010
ETX 3 3 00000011
SOH 1 1 00000001
PAD 127 7F 01111111
CHARACTER DESCRIPTION
BCCBlock Check Characters. The ASCII hex representation of the binary sum of allthe data in the message from the SOH through the ETX character.
LRCLongitudinal Redundancy Check. The LRC is an ASCII character computed asthe exclusive or (XOR) sum of all characters following the STX and includingthe ETX.
CRC Cyclic Redundancy Check.
A1..A3A 3-character ASCII unit address of the MultiLoad. Please refer to theMultiLoad User Guide for configuring the unit address.
D1..Dn Data field characters.
Fn Function field code.
Adr A single character binary unit address of the MultiLoad.
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
7/117
Chapter 1Protocol Specification
1.2 SMITH PROTOCOL
The Smith protocol is compatible with devices from Smith Meter, such as the Accuload I and Accuload II minicomputer modes of operation. Using this protocol, MultiLoad accepts data in the format:
NUL STX A1 A2 data ETX LRC PAD
A1 and A2 are the last two digits of the unit address in the RCU configuration.
1.3 BROOKS PROTOCOL
The Brooks protocol is compatible with devices from Brooks Instruments such as their Petrocount RAU andIMS Control units running in computer mode. Using this protocol, MultiLoad accepts data in the format:
SOHD ES TINA TION S OURC E
A1 A2 A3 S1 S2 S3
STX data ETX BCC
1
BCC
2
1.4 DANIELS PROTOCOL
The Daniels protocol is compatible with devices from Daniels Flow Products. Using this protocol, MultiLoadaccepts and responds with data in the format:
QuietTime
ADR FNLEN
(2252)D1...DN CRC1 CRC2
QuietTime
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/0x42for normal responses and 0xc1/0xc2 for exception responses.
D1Dn is string data containing the commands listed in this manual.
Note: Modbus extention to return larger packet sizes: On messages with data packet sizes from 2 to 252characters the Fn values of 0x41/0x42 will be returned. With messages outside this range, Fn will be the MSBvalue 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).
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
8/117
Chapter 1Protocol Specification
1.5 MODBUS-RTUPROTOCOL
The Modbus-RTU protocol has been implemented to be as compatible as possible with the original publishedModicon Modbus-RTU standard.
Note: The Modbus protocol allows parameter register access only as defined by the explicit mapping inthis manual. To send the ASCII commands (R000, T`A, MAM, MRS, etc.) that are handled by the otherthree protocols, the Modbus Extended Services registers must be used.
Using the modbus protocol, MultiLoad accepts data in the following format:
QuietTime
ADR FN ... CRC1 CRC2QuietTime
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.
The formal specification of Modbus lists the starting Holding Register address as 40001. The ModbusHolding Register functions (Fn 3, 6 and 16) all have an implied 4XXXX reference. Referencing Holding
Register 40001 is addressed as register 0000 in the register address field in the message for fn 3, 6, and16.
Since Modbus addressing has been implemented in various ways over the years, to avoid confusion inthis manual, the Modbus Holding Register addresses listed are the value in the register address field inthe message. If it is necessary to know the formal Modbus Holding Register address, simply add 40001to the register addresses listed in the manual.
1.5.1 READ HOLDING REGISTERS (FN=3)
Note: Both Modbus registers MUST be read at the same time when reading 32-bit values.
Tx:
Quiet Time ADR FN=3
Start
RegisterMSB
Start
RegisterLSB
Number
OfRegisters
MSB
Number
ofRegistersLSB
CRC1 CRC2 Quiet Time
Rx:
QuietTime
ADR
FN=3
(+128 iferror)
ByteCount
1st
Register
MSB
1st
RegisterLSB
NextRegister
MSB
NextRegister
MSB CRC1 CRC2
QuietTime
1.5.2 WRITE SINGLE REGISTERS (FN=6)
Note: can not be used for 32-bit registers.
Tx:
Quiet Time ADR FN=6Start
RegisterMSB
StartRegister
LSB
Register
MSB
Register
LSBCRC1 CRC2 Quiet Time
Rx:
Quiet Time ADR
FN=6
(+128 iferror)
StartRegister
MSB
StartRegister
LSB
Register
MSB
Register
LSBCRC1 CRC2 Quiet Time
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
9/117
Chapter 1Protocol Specification
1.5.3 LOOPBACK/MAINTENANCE (FN=8)
Note: only loopback of command supported.
Tx:
Quiet Time ADR FN=8DiagnosticCode MSB
DiagnosticCode LSB
Data MSB Data LSB CRC1 CRC2 Quiet Time
Rx:
Quiet Time ADR FN=8DiagnosticCode MSB
DiagnosticCode LSB
Data MSB Data LSB CRC1 CRC2 Quiet Time
1.5.4 PRESET MULTIPLE REGISTERS (FN=16)
Note: Both Modbus registers MUST be written at the same time when writing 32-bit values.
Tx:
QuietTime
ADR FN=16Start
RegisterMSB
StartRegister
LSB
Number
OfRegisters
MSB
Numberof
RegistersLSB
ByteCount
1st
Register
MSB
1st
RegisterLSB
NextRegister
MSB
NextRegister
MSB CRC1 CRC2
QuietTime
Rx:
Quiet Time ADR
FN=16
(+128 iferror)
StartRegister
MSB
StartRegister
LSB
Number
OfRegisters
MSB
Numberof
RegistersLSB
CRC1 CRC2 Quiet Time
1.5.5 ERROR RESPONSES (FN=+128)
Rx:
Quiet Time ADR FN+128Error
SubcodeCRC2 CRC1
Error Subcodes are:
1 = Invalid Function Code. Indicates that the use of an invalid or unimplemented function has beenattempted.
2 = Invalid Address Field. Indicates that a read or write was made to an invalid address. Can alsoindicate 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. Thiserror code will also be returned if an attempt is made to change a value under Weights and Measures controlwithout with W&M switch being in the active state.
4 = Query Processing Failure. This code is not returned.
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
10/117
Chapter 1Protocol Specification
1.5.6 MODBUS REGISTER MAP SUMMARY
1999 General, BOL Template, MIsc. Configurations.
10001199 RCU Configurations
12001399 Bay Configurations
14001599 Preset Configurations16001799 Meter Configurations
18001999 Component Configurations
20002199 Additive Configurations
22002999 Product, Alarm, Database, Misc. Configurations
30003999 Totalizers
40006000 Preset, Meter, Component and Additive Status
70007799 Status, Authorization Control and Alarms
7800 - 7999 Transaction Archive
8000 - 8999 Preset Definitions
9000-10999 Extended Services Register
1.5.7 EXTENDED SERVICES REGISTER
Not all commands native to the MultiLoad II have corresponding mapping to Modbus registers. The ExtendedServices register was implemented as a way to support sending and receiving native Multiload II commandsacross the Modbus RTU interface. Any native command listed can be sent to the MultiLoad via the extendedServices 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. Command will execute when the final character of the Command Text is written (9001+CommandLength-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.
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
11/117
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
12/117
Chapter 2MultiLoad Responses
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)
In most cases a command will return additional information specific to the command. This information willalways follow the three status characters. For example if the following valid command to read the currentfirmware 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 specificresponse.
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
13/117
Chapter 3Query Command
CHAPTER 3 QUERY COMMAND:
Query Command => Response
Q => 0?0XXXXWhere:
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 keypad_locked:1; // is keypad locked or not
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 Timer and should be issued periodically to notify MultiLoad that theHost is still active.
Modbus:
Read Only Register=7002, Len=1, 16-Bit Integer (XXXX)
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
14/117
Chapter 4Function Commands
CHAPTER 4 FUNCTION 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.
FKEYPADON = Enables the keypad on the MultiLoad RCU (default it is active)
FKEYPADOFF = Disables the keypad on the MultiLoad RCU
Write Only Register=7008, Len=1, 16-Bit Integer (any value=FKEYPADON)
Write Only Register=7009, Len=1, 16-Bit Integer (any value=FKEYPADOFF)
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 = Sets the host_up RCU status bit. Cleared on power up or when host downtimeout expires between Q commands. Command should be issued when hostsystem starts communicating with MultiLoad.
Modbus:
Write Only Register=7013, Len=1, 16-Bit Integer (any value=FHOSTUP)
FHOSTDOWN = Clears the host_up RCU status bit. Command should be issued when hostsystem 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)
FEODLOG = Prints EOD-Report for all totalizers type by arm and also gives the thruputbetween the feodlog commands
Modbus:
Write Only Register=7018, Len=1, 16-Bit Integer (any value=FEODLOG)
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
15/117
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
16/117
Chapter 5Terminal Commands
CHAPTER 5 TERMINAL COMMANDS:
Ts
Where:s = Any text string to display. Display string may contain one or more terminal escape commands.
5.1 TERMINAL ESCAPE COMMANDS:
Where Terminal Escape Commands are:
A Authorize Transaction:
Authorize MultiLoad Transaction. Will display load screen.
Modbus:
Write Only Register=7016, Len=1, 16-Bit Integer (any value=Authorize Transaction)
Cx Clear RCU counters
Where,
X = counter to clear, 1 = counter 1, 2 = counter 2
E Setup Data Entry
Used to display a flashing cursor (Setup Data Entry Length > 1) and allow user input. Data to beretrieved at R960, R961.
F Turn on Big Font
Used to enable double size font.
f Turn off Big Font
Used to return to normal size font.
G Set 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 = 0x00Blue = 0x01
Red = 0x02
Magenta = 0x03
Green = 0x04
Cyan = 0x05
Yellow = 0x06
White = 0x07
Custom 0 = 0x08 (Not available)
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
17/117
Chapter 5Terminal Commands
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 = 0x0eFlash 2 = 0x0f
Example: To display a green word 'Hello' code the string as follows:
TG$Hello
$ = 0x20 + 0x04 (Green) = 0x20 + 0x07 (White)
H Home Cursor to Position (0,0)
Move cursor position to upper left corner of screen.
Ircle Set 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)
J Erase 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 positionedon next line.
K Erase from Cursor to End of Screen
Use with after H to clear entire screen.
Lxx Setup Data Entry Length
Where:
xx = Length of Data Entry Input Required (00-25) (0 = Key Press with No Flashing Cursor)
N Turn On Cursor
O Turn Off Cursor
R Reset the RCU Display
Modbus:Write Only Register=7017, Len=1, 16-Bit Integer (any value=Reset RCU Display)
Yrc Set 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)
X Clear Entire Display
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
18/117
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
19/117
Chapter 5Terminal Commands
Black = 0x00
Blue = 0x01
Red = 0x02
Magenta = 0x03
Green = 0x04
Cyan = 0x05Yellow = 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 position a small graphic starting at row 5, column 20, column width 2, code the string asfollows:
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 = 0x00Blue = 0x01
Red = 0x02
Magenta = 0x03
Green = 0x04
Cyan = 0x05
Yellow = 0x06
White = 0x07
Custom 0 = 0x08 (Not available)
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
20/117
Chapter 5Terminal Commands
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 = 0x0eFlash 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.
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
21/117
Chapter 6Meter Commands
CHAPTER 6 METER COMMANDS:
6.1 AUTHORIZE 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 isauthorized 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.2 CLEAR 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.3 ENABLE 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.4 END 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 aPRESET_END_OF_BATCH state.
Modbus:
Write Only Register=7044, Len=1, 16-Bit Integer (any value)
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
22/117
Chapter 6Meter Commands
6.5 BATCH COMPLETE
MBCppp
Where:
ppp = The specified zero-based preset or load arm number (000-011).
When a BC command is received, the preset flow will stop and the batch will be marked as complete. The
operator will not be able to restart the batch, but will be allowed to clear the batch and preset another (pendingHost authorization).
Modbus:
Write Only Register=7045+ppp, Len=1, 16-Bit Integer (any value)
6.6 BATCH 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 flowstops 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.7 END 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)
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
23/117
Chapter 6Meter Commands
6.8 PRESET 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 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:
Only supported through Modbus Extended Services Registers.
6.9 PROVING 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 duringthis transaction.
Modbus:
Write Only Register=7081, Len=1, 16-Bit Integer (x)
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
24/117
Chapter 6Meter Commands
6.10 REQUEST 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.)
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
25/117
Chapter 6Meter Commands
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.)
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
26/117
Chapter 6Meter Commands
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 component_current_bsw_hund:1;
unsigned int component_current_api_gravity_tenths 1;
unsigned int component_batch_bsw_hund:1;
unsigned int component_batch_api_gravity_tenths: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 component_meter_current_bsw_hund:1;
unsigned int component_meter_current_api_gravity_tenths:1;
unsigned int component_meter_batch_bsw_hund:1;
unsigned intcomponent_meter_batch_api_gravity_tenths:1;
unsigned int unused_13:1;
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
27/117
Chapter 6Meter Commands
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).
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
28/117
Chapter 6Meter Commands
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;
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
29/117
Chapter 6Meter Commands
xxxx= preset status #0 in hexadecimal as:
union
{
unsigned int value;
struct
{
unsigned char preset_enabled:1; // preset is enabledunsigned 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; // batch data has been archived into
transaction databaseunsigned 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;
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
30/117
Chapter 6Meter Commands
yyyy= preset alarms in hexadecimal as:
union
{
unsigned int value;
struct{
unsigned char preset_fcm_com:1; // one or more FCMs that are required forPRESET status or signals are in comerror.
unsigned char preset_permissive:1; // preset permissive not active but preset isauthorized to load.
unsigned char swing_arm_permissive:1; // swing arm not in bay and preset isauthorized to load.
unsigned char line_not_flushed:1; // less than min_line_flush_vol has flowedsince a non-flush component has flowedand batch was ended.
unsigned char preset_block_valve:1; // block value status does not agree withcommanded valve position.
unsigned char bay_alarm:1; // a bay level alarm currently exists.
unsigned char component_alarm:1; // a component level alarm currently existsfor this preset.
unsigned char additive_alarm:1; // a additive level alarm currently exists forthis preset.
unsigned char meter_stop:1; // meter stop button for preset pressed
unsigned char preset_overrun:1; // preset delivered volume is over targetvolume by overrun_alarm_vol.
unsigned char excess_flow:1; // preset flow rate has exceededexcess_flow_alarm_rate.
unsigned char unused11:1;
unsigned char unused12:1;
unsigned char unused13:1;
unsigned char unused14:1;
unsigned char configuration_error:1; // preset configuration has invalid data,check message log for details
} flags;
} preset_alarms;
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
31/117
Chapter 6Meter Commands
qqqqqqqqq= preset quantity in whole units
ddddddddd = delivered gross quantity in whole units ddddddddd = delivered net quantity in wholeunits
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))
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
32/117
Chapter 6Meter Commands
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))
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
33/117
Chapter 6Meter Commands
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
sddddd = signed component current bsw hund
sdddd = signed component current api gravity tenths
sddddd = signed batch average bsw hundsdddd = signed batch average api gravity tenths
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
sddddd = signed component meter current bsw hund
sdddd = signed component meter current api gravity tenths
sddddd = signed meter batch average bsw hund
sdddd = signed meter batch average api gravity tenths
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))
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
34/117
Chapter 6Meter Commands
Read Only Register=6292+p*8+c, Len=2, 32-Bit Integer (sddddd (component current relative density))
Read Only Register=6484+p*8+c, Len=2, 32-Bit Integer (sddddd (component current bsw))
Read Only Register=6676+p*8+c, Len=2, 32-Bit Integer (sddddd (component current api gravity))
NOT AVAILABLE, Len=2, 32-Bit Integer (sddddd (component average bsw))
NOT AVAILABLE Len=2, 32-Bit Integer (sdddd (component average api gravity))
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
35/117
Chapter 6Meter Commands
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))
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
36/117
Chapter 6Meter Commands
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; // batch data has been archived intotransaction 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;
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
37/117
Chapter 6Meter Commands
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;
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
38/117
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
39/117
Chapter 6Meter Commands
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;
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
40/117
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
41/117
Chapter 6Meter Commands
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.
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
42/117
Chapter 6Meter Commands
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;
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
43/117
Chapter 6Meter Commands
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;
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
44/117
Chapter 6Meter Commands
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.
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
45/117
Chapter 6Meter Commands
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;
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
46/117
Chapter 6Meter Commands
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;
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
47/117
Chapter 6Meter Commands
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.
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
48/117
Chapter 6Meter Commands
6.11 REQUEST SMPSTATUS &PRESET ALARMS:
MSSpppxxxxyyyyzzzz => SSppp (Requested parameters as listed above).
The MSS command for the MultiLoad II SMP, is identical to the MRS 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.12 TRIP 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; // one or more FCMs that are required forPRESET status or signals are in comerror.
unsigned char preset_permissive:1; // preset permissive not active but preset isauthorized to load.
unsigned char swing_arm_permissive:1; // swing arm not in bay and preset isauthorized to load.
unsigned char line_not_flushed:1; // less than min_line_flush_vol has flowedsince a non-flush component has flowedand batch was ended.
unsigned char preset_block_valve:1; // block value status does not agree withcommanded valve position.
unsigned char bay_alarm:1; // a bay level alarm currently exists.
unsigned char component_alarm:1; // a component level alarm currently existsfor this preset.
unsigned char additive_alarm:1; // a additive level alarm currently exists forthis preset.
unsigned char meter_stop:1; // meter stop button for preset pressed
unsigned char preset_overrun:1; // preset delivered volume is over targetvolume by overrun_alarm_vol.
unsigned char excess_flow:1; // preset flow rate has exceeded
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; // preset configuration has invalid data,check message log for details
} flags;
} preset_alarms;
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
49/117
Chapter 6Meter Commands
Modbus:
Write Only Register=7082+ppp, Len=1, 16-Bit Integer (yyyy)
6.13 REQUEST BAY ALARMS:
MRBA => RBAxxxx
Where:
xxxx = bay alarms in hexadecimal as:
union
{
struct
{
unsigned char bay_fcm_com:1; // one or more FCMs that are required for BAYstatus or signals are in com error.
unsigned char bay_permissive0:1; // user definable preset permissive 0 not activebut bay is authorized to load. Error messagecan be renamed to indicate permissive.
unsigned char bay_permissive1:1; // user definable preset permissive 1 not activebut bay is authorized to load. Error messagecan be renamed to indicate permissive.
unsigned char bay_permissive2:1; // user definable preset permissive 2 not activebut bay is authorized to load. Error messagecan be renamed to indicate permissive.
unsigned char bay_permissive3:1; // user definable preset permissive 3 not activebut bay is authorized to load. Error messagecan be renamed to indicate permissive.
unsigned char bay_permissive4:1; // user definable preset permissive 4 not activebut bay is authorized to load. Error messagecan be renamed to indicate permissive.
unsigned char bay_permissive5:1; // user definable preset permissive 5 not activebut bay is authorized to load. Error messagecan be renamed to indicate permissive.
unsigned char bay_permissive6:1; // user definable preset permissive 6 not activebut bay is authorized to load. Error messagecan be renamed to indicate permissive.
unsigned char bay_permissive7:1; // user definable preset permissive 7 not activebut bay is authorized to load. Error messagecan be renamed to indicate permissive.
unsigned char all_stop:1; // all stop button pressed
unsigned char bay_pcm_com:1; // one or more FCMs that are required for BAYstatus 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 deadman:1; //deadman alarm active
unsigned char fcm_trace:1;
unsigned char unused16-31:1;
} flags;
unsigned int value;
} bay_alarms;
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
50/117
Chapter 6Meter Commands
Modbus:
Read Only Register=7094, Len=1, 16-Bit Integer (xxxx)
6.14 REQUEST 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; // one or more FCMs that arerequired for COMPONENT statusor signals are in comm error.
unsigned char component_permissive:1; // component permissive not activebut component is authorized toload.
unsigned char component_block_valve:1; // block value status does notagree with commanded valveposition.
unsigned char component_unauth_flow:1; // greater thanunauth_flow_alarm_vol has beenmetered when component was notauthorized for flow.
unsigned char component_pump_status:1; // pump status does not agree with
commanded pump state.unsigned char meter_alarm:1; // a meter level alarm currently
exists for this component.
unsigned char component_over_blend_tol:1; // blend precent has been over byblend_chk_alarm_pct forblend_chk_alarm_time seconds.
unsigned char component_under_blend_tol:1; // blend precent has been under byblend_chk_alarm_pct forblend_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;
unsigned char unused16-31:1;
} flags;
} component_alarm;
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
51/117
Chapter 6Meter Commands
Modbus:
Where: p = preset (0-11), c = component (0-7)
Read Only Register=7095+8*p+c, Len=1, 16-Bit Integer (xxxx)
Note: Last Component Alarm Register Used=7190
6.15 REQUEST 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; // one or more FCMs that are required for
METER status or signals are in commerror.
unsigned char meter_permissive:1; // meter permissive not active but meter isauthorized to load.
unsigned char fcm_invalid_config:1; // FCM reporting an error with loadedconfiguration. (Meter factors likely sourceof this type of error.)
unsigned char fcm_wdt_reset:1; // FCM stopped flow due to lack ofcommunication from RCU.
unsigned char fcm_com_timeout:1; // FCM com timed out due to a lack of
communication from RCU.unsigned char valve_fault:1; // greater than value_fault_alarm_vol has
been metered since flow was stopped.
unsigned char low_flow:1; // flow rate was below low_flow_alarm_ratefor low_flow_alarm_time seconds whileattempting to flow.
unsigned char excess_flow:1; // flow rate was aboveexcess_flow_alarm_rate.
unsigned char quad_encoding:1; // max_quad_errors were received.
unsigned char density_error:1; // density signal not valid or density alarm_high_density.
unsigned char temp_error:1; // temp signal not valid or temp alarm_high_temp.
unsigned char valve_control:1; // not able to slow for stop flow rate forvalve_control_alarm_time.
unsigned char meter_creep:1; // greater than meter_creep_alarm_vol hasbeen metered since flow was stopped.
unsigned char pressure_error:1; // pressure signal not valid or pressure alarm_high_pressure.
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
52/117
Chapter 6Meter Commands
unsigned char quad_encoding_a:1; // max_quad_errors were received on channelA.
unsigned char quad_encoding_b:1; // max_quad_errors were received on channelB.
unsigned char meter_com:1; // assigned serial (mass) meter is in commerror.
unsigned char bsw_error:1; // Bottom Sediment Water Errorunsigned char api_gravity_error:1; // API Gravity Error
unsigned char unused16-31:1;
} 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.16 REQUEST 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; // one or more FCMs that are required forADDITIVE status or signals are in commerror.
unsigned char additive_permissive:1; // additive permissive not active butadditive is authorized to load.
unsigned char additive_under_add:1; // recipe additive needed is under actualadditive delivered byunder_adtv_alarm_injects.
unsigned char additive_over_add:1; // recipe additive needed is over actualadditive delivered byover_adtv_alarm_injects.
unsigned char additive_valve_fault:1; // greater than value_fault_alarm_vol hasbeen metered since flow was stopped.
unsigned char additive_pump_status:1; // pump status does not agree withcommanded pump state.
unsigned char additive_injection:1; // piston switch or pulser did not indicatean injection took place.
unsigned char additive_unauth_flow:1; // greater than unauth_flow_alarm_vol hasbeen metered when additive was notauthorized for flow.
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
53/117
Chapter 6Meter Commands
unsigned char additive_line_not_flushed:1; // min_line_flush_volume of product hasnot flushed since last inject was completedand batch was ended.
unsigned char additive_meter_creep:1; // greater than meter_creep_alarm_vol hasbeen metered since flow was stopped.
unsigned char additive_block_valve:1; // block valve status does not agree with
commanded valve position.unsigned char unused11:1;
unsigned char unused12:1;
unsigned char unused13:1;
unsigned char unused14:1;
unsigned char unused15:1;
unsigned char unused16-31: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.17 START PRESET FLOW:
MMSppp
Where:
ppp = The specified zero-based preset or load arm number (000-011).
Starts flow for the particular preset. A message is placed into the Message Log when this command isexecuted.
Modbus:
Write Only Register=7443+ppp, Len=1, 16-Bit Integer (any value)
6.18 STOP 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 presetis 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.
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
54/117
Chapter 7Register Operations
CHAPTER 7 REGISTER 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 meterfactors. All of these registers are accessed using the same two commands.
To read the value of a register the command is R followed by the register and sub register numbers. Theresponse will be the register and sub register numbers, followed by the register value. The value may be up to9 decimal digits.
To update the value of a register the command is U followed by the register and sub register numbers a nd thevalue to be stored.
While almost all registers can be read or updated, a few have only read access. Many others have protectionthat prevents updates while a transaction is in process, host system is up, or when Weights & Measures securityis in effect.
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
55/117
Chapter 7Register Operations
7.1 GENERIC REGISTERS
7.1.1 REGISTER DATA TYPES
All registers are read and updated as positive integers even when values expressed are non positive orfractional. In some cases a several values are concatenated bit-wise to form the register value.
unsigned int Unsigned integer value.
Numeric Value Register Value
12345 12345
unsigned div10 Unsigned numeric value with 1 decimal place.
Numeric Value Register Value
1234.5 12345
unsigned div100 Unsigned numeric value with 2 decimal places.
Numeric Value Register Value123.45 12345
unsigned div1000 Unsigned numeric value with 3 decimal places.
Numeric Value Register Value
12.345 12345
unsigned div10000 Unsigned numeric value with 4 decimal places.
Numeric Value Register Value
1.2345 12345
percent Unsigned percent value with 2 decimal places.
Numeric Value Register Value
123.45% 12345
percent div 10000 Unsigned percent value with 4 decimal places.
Numeric Value Register Value
1.2345% 12345
signed int Signed integer value.
Numeric Value Register Value
+12345 12345+0 0
+1 1
+32767 32767
-32768 32768
-1 65535
signed div10 Signed numeric value with 1 decimal place.
Numeric Value Register Value
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
56/117
Chapter 7Register Operations
+1234.5 12345
+0.0 0
+0.1 1
+3276.7 32767
-3276.8 32768
-0.1 65535
signed div100 Signed numeric value with 2 decimal places.
Numeric Value Register Value
+123.45 12345
+0.00 0
+0.01 1
+327.67 32767
-327.68 32768
-0.01 65535
signed div1000 Signed numeric value with 3 decimal places.
Numeric Value Register Value
+12.345 12345
+0.000 0
+0.001 1
+32.767 32767
-32.768 32768
-0.001 65535
signed div10000 Signed numeric value with 4 decimal places.
Numeric Value Register Value+1.2345 12345
+0.0000 0
+0.0001 1
+3.2767 32767
-3.2768 32768
-0.0001 65535
disable enable Enumerated disable and enable values.
enum{ // Enumerated Value Register Value
DISABLED = 0,
ENABLED = 1};
measure Enumerated measure values.
enum{ // Enumerated Value Register Value
GALLONS = 0,
LITRES = 1,
CUBIC_METERS = 2,
TONNES = 3,
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
57/117
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
58/117
Chapter 7Register Operations
TABLE_HYDRO_BRAZIL =206,
TABLE_I = 'I',
TABLE_J = 'J',
TABLE_K = 'K',
TABLE_L = 'L',
TABLE_O = 'O',
TABLE_2004_6A = 1000,
TABLE_2004_6B = 1001,
TABLE_2004_6C = 1002,
TABLE_2004_6D = 1003, //why cab on this place
TABLE_2004_6X = 1004,
TABLE_2004_24A = 1008,
TABLE_2004_24B = 1009,
TABLE_2004_24C = 1010,
TABLE_2004_24D = 1011,
TABLE_2004_24X = 1012,
TABLE_2004_5A = 1013,
TABLE_2004_5B = 1014,
TABLE_2004_5D = 1015,
TABLE_2004_5X = 1016,
TABLE_2004_23A = 1017,
TABLE_2004_23B = 1018,
TABLE_2004_23D = 1019,
TABLE_2004_23X = 1020,
TABLE_2004_54A = 1021,
TABLE_2004_54B = 1022,
TABLE_2004_54C = 1023,
TABLE_2004_54D = 1024,
TABLE_2004_60A = 1025,
TABLE_2004_60B = 1026,
TABLE_2004_60C = 1027,
TABLE_2004_60D = 1028,
TABLE_2004_60X = 1029,
TABLE_2004_53A = 1030,
TABLE_2004_53B = 1031,
TABLE_2004_53D = 1032,
TABLE_2004_59A = 1033,TABLE_2004_59B = 1034,
TABLE_2004_59D = 1035,
TABLE_2004_59X = 1036,
TABLE_2004_1121 = 1040,
TABLE_2004_1121M = 1041
};
Note: Register value is still an integer value not an ascii char. For example, to specify TABLE_54, the asciivalue of A or 65 would be the register value, not the characterA.
-
8/11/2019 20130201 Multiload II Communications Manual_fv_3!4!31_09
59/117
Chapter 7Register Operations
fcm address FCM addressing parameters.
This type is a bit-wise concatenation of four different FCM addressing parameters that is expressed as a singleregister 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.
For example, to specify port_number 4, fcm_number 1, normal signal, enabled, (0000,0,1,0,00001,100) thenumeric value of the bit-wise concatenation of these four different FCM addressing parameters would b