Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6
MDB Protocol VMC Commands BILL
SETUP 31H 27 bytes: Z1 - Z27
Z1 = Bill Validator Feature Level - 1 byte Indicates current feature level of the bill validator. Currently defined levels are: Level 1 - does not support option bits (Z1 = 01h) Level 2 - supports option bits (Z1 = 02h) Z2 - Z3 = Country / Currency Code - 2 bytes The packed BCD country / currency code of the bill validator can be sent in two different forms depending on the value of the left most BCD digit. If the left most digit is a 0, the International Telephone Code is used to indicate the country that the validator is set-up for. For example, the USA code is 00 01H (Z2 = 00 and Z3 = 01). If the left most digit is a 1, the latest version of the ISO 4217 numeric currency code is used (see Appendix A1). For example, the code for the US dollar is 18 40H (Z2 = 18 and Z3 = 40) and for the Euro is 1978 (Z2 = 19 and Z3 = 78). Z4 - Z5 = Bill Scaling Factor - 2 bytes All accepted bill values must be evenly divisible by this number. For example, this could be set to 0064H for the USA. Z6 = Decimal Places - 1 byte Indicates the number of decimal places on a credit display. For example, this could be set to 02H for the USA. Z7 - Z8 = Stacker Capacity - 2 bytes Indicates the number of bills that the stacker will hold. For example, 400 bill capacity = 0190H. Z9 - Z10 = Bill Security Levels - 2 bytes Indicates the security level for bill types 0 to 15. Since not all validators support multiple security levels, validators that do not have this feature must report a “high” security level. Z11 = Escrow/No Escrow - 1 byte Indicates the escrow capability of the bill validator. If Z11 = 00H, the bill validator does not have escrow capability. If Z11 = FFH, the bill validator has escrow capability. Z12 - Z27 = Bill Type Credit - 16 bytes Indicates the value of the bill types 0 to 15. Values must be sent in ascending order. This number is the bill's monetary value divided by the bill scaling factor. Unused bill types are sent as 00H. Unsent bill types are assumed to be zero. FFH bills are assumed to be vend tokens. POLL 33H 16 bytes: Z1 - Z16 Z1 - Z16 = Bill Validator Activity - 16 bytes Indicates the validator activity, for example, the type and number of bills accepted, stacker position, recycler actions, or error conditions. If there is nothing to report, the validator should send only an ACK. Otherwise, the only valid responses are: Bills Accepted: Indicates the type and number of bills accepted, validator stacker status, or recycler status. The first four Bill Routing responses (yyy = 000 to 011) should be used to add or subtract credit. The last four Bill Routing responses (yyy = 100 to 111) are for audit information (EVS-DTS fields). Z1 (1yyyxxxx) yyy = Bill Routing; 000: BILL STACKED 001: ESCROW POSITION2 010: BILL RETURNED 011: BILL TO RECYCLER1 100: DISABLED BILL REJECTED 101: BILL TO RECYCLER – MANUAL FILL1,3 110: MANUAL DISPENSE1 111: TRANSFERRED FROM RECYCLER TO CASHBOX1 xxxx = Bill Type (0 to 15) STACKER 36H 2 bytes: Z1 - Z2 Indicates stacker full condition and the number of bills in the stacker. Z1 Z2 (Fxxxxxxx) (xxxxxxxx) F = 1 if stacker is full, 0 if not. xxxxxxxxxxxxxxx = The number of bills in the stacker MDB Protocol VMC Commands COIN CHANGER SETUP 09H Request for changer setup information. Z1 = Changer Feature Level - 1 byte Indicates the feature level of the changer. This will distinguish the changers feature level to the VMC. Current defined levels: Level 2: Supports “core” command set. These are: RESET, STATUS, TUBE STATUS, POLL, COIN TYPE, and DISPENSE. (Z1 = 02h) Level 3: Supports level two and the EXPANSION command addition changer model number, manufacturer code, turning revision, etc. See the details of EXPANSION command later in this document. (Z1=03h) Z2 - Z3 = Country / Currency Code - 2 bytes The packed BCD country / currency code of the changer can be sent in two different forms depending on the value of the left most BCD digit. If the left most digit is a 0, the International Telephone Code is used to indicate the country that the changer is set-up for. For example, the USA code is 00 01H (Z2 = 00 and Z3 = 01). If the left most digit is a 1, the latest version of the ISO 4217 numeric currency code is used (see Appendix A1). For example, the code for the US dollar is 18 40H (Z2 = 18 and Z3 = 40) and for the Euro is 1978 (Z2 = 19 and Z3 = 78). Z4 = Coin Scaling Factor - 1 byte All accepted coin values must be evenly divisible by this number. For example, this could be set to 05H for the USA nickel. Z5 = Decimal Places - 1 byte Indicates the number of decimal places on a credit display. For example, this could be set to 02H in the USA. Z6 - Z7 = Coin Type Routing - 2 bytes Indicates what coin types can be routed to the Changer’s tubes. Bit is set to indicate a coin type can be routed to the tube. Valid coin types are 0 to 15. Z8 - Z23 = Coin Type Credit - 16 bytes Indicates the value of coin types 0 to 15. Values must be sent in ascending order. This number is the coin's monetary value divided by the coin scaling factor. Unused coin types are sent as 00H. Unsent coin types are assumed to be zero. It is not necessary to send all coin types. Coin type credits sent as FFH are assumed to be vend tokens. That is, their value is assumed to worth one vend. The bytes position in the 16 byte string indicates the coin type(s). For example, the first byte sent would indicate the value of coin type 0, the second byte sent would indicate the value of coin type 1, and so on. For example, the USA coin types may be; Coin type 0 = nickel, Coin type 1 = dime, Coin type 2 = quarter, Coin type 3 = dollar. TUBE STATUS 0AH 18 bytes: Z1 - Z18 Z1 - Z2 = Tube Full Status - 2 bytes Indicates status of coin tube for coin types 0 to 15. A bit is set to indicate a full tube. For example, bit 7 = set would indicate the tube for coin type 7 is full. Z3 - Z18 = Tube Status - 16 bytes Indicates the greatest number of coins that the changer “knows” definitely are present in the coin tubes. A bytes position in the 16 byte string indicates the number of coins in a tube for a particular coin type. For example, the first byte sent indicates the number of coins in a tube for coin type 0. Unsent bytes are assumed to be zero. For tube counts greater than 255, counts should remain at 255. POLL 0BH 16 bytes: Z1 - Z16 Z1 - Z16 = Changer Activity - 16 bytes Indicates the changer activity. If there is nothing to report, the changer should send only an ACK. Otherwise, the only valid responses are: Coins Dispensed Manually: Z1 Z2 (1yyyxxxx) (zzzzzzzz) yyy = The number of coins dispensed. xxxx = The coin type dispensed (0 to 15) zzzzzzzz = The number of coins in the tube. Coins Deposited: Z1 Z2 (01yyxxxx) (zzzzzzzz) yy = Coin routing. 00: CASH BOX 01: TUBES 10: NOT USED 11: REJECT xxxx = Coin type deposited (0 to 15). zzzzzzzz = The number of coins in the tube for the coin type accepted. Status: (00000001) = Escrow request1 - An escrow lever activation has been detected. (00000010) = Changer Payout Busy2 - The changer is busy activating payout devices
EXPANSION 0FH 02H Y1 None
COMMAND PAYOUT (Alternative Payout) Y1 = Value of coins to be paid out - 1 byte This value is expressed as the number of coin scaling factors that would sum to the value. For example, in a USA system using a scaling factor of 05, if the change to be paid out is 75 cents, then Y1 will equal fifteen. That is, the sum of fifteen nickels equal 75 cents. The coin changer will determine which actual denominations of coins will be paid out. In the 75 cent example, the coins may be 3 quarters; or, 7 dimes & 1 nickel; or, 2 quarters & 2 dimes & 1 nickel, etc.
EXPANSION 0FH 04H 1 byte: Z1
COMMAND PAYOUT VALUE POLL (Alternative Payout) Z1 = Changer Payout Activity - 1 byte An interval value (scaled) which indicates the amount of paid out change since the previous PAYOUT VALUE POLL (or between the initial Alternative PAYOUT command (0FH-02H) and the first PAYOUT VALUE POLL). An 00H response indicates no coins were paid out since the previous PAYOUT VALUE POLL (or the initial Alternative PAYOUT command (0FH-02H)). An ACK only indicates that the change payout is finished. This should be followed by the PAYOUT STATUS command (0FH-03H) to obtain the complete payout data. NOTE: The initial intent of this command is to determine the amount of change paid out so that the credit display can be decremented as coins are dispensed. COIN TYPE 0CH 4 bytes: Y1 - Y4 Y1 - Y2 = Coin Enable - 2 bytes b15 b14 b13 b12 b11 b10 b9 b8 | b7 b6 b5 b4 b3 b2 b1 b0 Y1 Y2 A bit is set to indicate a coin type is accepted. For example, bit 6 is set to indicate coin type 6, bit 15 is set to indicate coin type 15, and so on. To disable the changer, disable all coin types by sending a data block containing 0000H. All coins are automatically disabled upon reset. Y3 - Y4 = Manual Dispense Enable - 2 bytes b15 b14 b13 b12 b11 b10 b9 b8 | b7 b6 b5 b4 b3 b2 b1 b0 Y3 Y4 A bit is set to indicate dispense enable. For example, bit 2 is set to enable dispensing of coin type 2. This command enables/disables manual dispensing using optional inventory switches. All manual dispensing switches are automatically enabled upon reset.