XL2OL
4.68.2
5/4/2020

The AMS Generic and the other Matthews drivers like the ViaJet and PM5100 already had the ability to connect to an MPERIA windows simulation via a Tcp/Ip Ethernet socket. They could also connect to an actual printer by specifying the printers IP Address and Port using command line arguments.

This change allows the PC simulation to connect to any printer, including bundle ticket printers, that support Ethernet Tcp/Ip socket connections.

New command line arguments have been defined that allow the IP address and Port for the bundle ticket printer be specified.

The command argument format for the bundle printer IP address, using the loop back address as an example is: bip127.0.0.1

The command argument format for the bundle printer port number, using 4567 as the example port is: bpor4567

Enabled Ansynchronous Printing with the AMS Generic Print driver.

When displaying the Asynchronous Print Buffer, the buffer text box was covering the OK button. The solution was to resize the window to allow all of the controls to be displayed correctly.

When using Asynchronous printing, the controller attempts to treat the line as Shear-Only Line if there is only one other press and there are no gags. It does this by clearing the Part Queue on every halt. It also replaces the last part in the Print Queue when entering run. This allows the operator to set next and have it take effect immediately. However there were some holes in the logic that caused the print queue to get out of sync.

  1. If the last part in the print queue had already been triggered by the sensor but not yet been cut off, entering the run mode queued another message for the part in progress.

  2. Halting and restarting with more than one part in the print queue.

Both scenarios resulted in an extra part in the print queue. Eventually, with enough run cycles the print queue would fill up.

The logic for this was incorrect and was spread out over the code. The existing implementation was removed and replaced with a simpler one.

If the controller is operating in the simulated shear only mode:

  1. When initializing the Part Queue, if there are messages in the Print Queue, replace the last Print Queue added with the first part in the Part Queue.
  2. When initializing the Part Queue, if the printer sensor is blocked, the first part has already been printed on so don't add the first part in the Part Queue to the Print Queue.