Weird coin counts reported with Dispensers for MDB tubes

Support for the Milan Intelligent interface, sold by Money Controls as the Paylink USB unit and for the earlier PCI card version.

Moderators: aardvark, davebush, Admin

Post Reply
Nathan
Posts: 41
Joined: Tue Oct 30, 2018 4:12 pm

Weird coin counts reported with Dispensers for MDB tubes

Post by Nathan »

We have an error when using Paylink and Currenza MDB devices. We do not have these problems when using ordinary hoppers

We use the TestApp application from your SDK for the test.

I have 2x100 (1CZK), 4x200 (2CZK) and 2x500 (5CZK) in the currenza dispenser. However, each time I access WriteAcceptorDetails, the number of coins in the tube shifts. The log shows:

Then the coin counts in the tube are shifted to the next channel. The log shows:
12:12:23.534 API: Event 0000e0 for Acceptor 0
12:12:23.990 MDB Tube@11: for 500 - reported coins 4=>2
12:12:23.990 MDB Tube@12: for 1000 - reported coins 2=>4
12:12:23.990 MDB Tube@10: for 200 - reported coins 2=>0
12:12:23.990 MDB Tube@13: for 2000 - reported coins 0=>2
So this appears to be something within Paylink! (We have not changed the number of coins in the tubes.)

Nathan
davebush
Posts: 492
Joined: Fri Oct 22, 2004 12:20 pm

Re: Weird coin counts reported with Dispensers for MDB tubes

Post by davebush »

Hi,

I've found the problem. The MDB Changer handler has to cross reference the coins and the tubes, and it uses the path to which the coin is routed to do this.

The bug is that this path is actually under the control of the application - it is the Coin[].Path member.

With an MDB changer, the routing for a coin changer is fixed, so no one ever deliberately changes this, and so the bug has remained undiscovered.

The problem has occurred for you because TestApp was just written to check that API "worked", and we chose to prove this by modifying this path member !!!

We will add a fix to the next release of Paylink, so that no-one else hits this problem but so far as you are concerned, if you delete the line:

Code: Select all

       TheAcceptor.Coin[i].Path = (TheAcceptor.Coin[i].Path + 1) & 7 ;
from TestApp, then you should find that everything works properly from then on.

We will fix the underlying problem in the forthcoming release 4.1.12.13 (and later)

Regards

Dave
Aardvark software developer. Please put all communication on the problem through the board for the benefit of others.
Post Reply