Milan / Paylink System Manual Issue 1.5 29 January 2020
CONFIDENTIAL
Not to be disclosed without prior written permission from Aardvark Embedded Solutions Ltd
Page 19 of 71
MDB changer / BCR / CR10x / CLS recycler / SmartHopper support.
If a coin changer / recycler is used, it will appear as an acceptor in very much the same way as any
other acceptor. The coins that are routed for recycling can be distinguished as having a non zero
Routed Path, although, obviously, any changes made to the routing by the application will be ignored.
For Payout, the application will (either explicitly or implicitly) specify exactly which coins are to be
used for the payout. Where higher value coins are not available, the standard Paylink algorithm will
work down the values of the coins as usual.
MDB Payout
For MDB payout, the situation is slightly complicated. The MDB changer protocol supports two
different payout mechanisms, a basic one that is always present and an extended one, which is
supported on most level 3 changers. The basic system provides control over the individual payout
tubes, but has no feedback as to whether the payout works. The extended one provides feedback as
to the success of the payout, but does not allow any control over which tubes the payout is from.
The solution adopted is to always provide one dispenser for each tube, which is run using the basic
mechanism and, if the extended mechanism is present, to provide an additional dispenser which is
run using the extended mechanism. Where an extended mechanism dispenser is available, the
individual tubes are pre-set to inhibited.
To perform a “normal” payout, you just issue a PayOut() request and call PayStatus() and
CurrentPaid() to monitor the results. If you have a level 2 changer, CurrentPaid() will update almost
instantaneously rather than at the end and will always show that all coins have been paid. If you have
a level 3 changer, CurrentPaid() will update during the process, and you may get a PAY_EMPTY
status from PayStatus(), with CurrentPaid() then reflecting the actual payout achieved.
The current levels of MDB tubes, as reported by the coin-changer, are returned in the field
CoinCount. In addition, the field CoinCountStatus will contain the value DISPENSER_ACCURATE for
a normal tube, and DISPENSER_ACCURATE_FULL if the changer is reporting the tube as full. Note that
the levels reported by the changer do not necessarily update in a “sensible” fashion after a payout.
Should you wish to perform an operation on a specific tube (e.g. emptying it), you should inhibit the
extended mechanism dispenser and enable the specific tube you wish to control.
As the manufacturer is already shown in the acceptor detail block for the changer, the extended
mechanism dispenser has a Unit field with the constant value of DP_MDB_TYPE_3_PAYOUT while the
individual tubes have Unit fields with the constant value of DP_MDB_LEVEL_2_TUBE .