Industry4 / MultiPlug.Ext.Hermes

MultiPlug IPC HERMES 9852 Extension used for the transfer of PCB related data between manufacturing equipment on a electronics assembly line.
https://www.smema-hermes-gateway.app
3 stars 1 forks source link

RevokeBoardAvailable when PCB Manually removed. #79

Closed Industry4 closed 1 year ago

Industry4 commented 1 year ago

User Comment

During the test, when there is a problem, we hope that when the This Station / ScanStation board information is manually deleted, can it automatically send a [RevokeBoardAvailable]?

Notify the downstream device that the current state needs to be changed, otherwise the two devices will lock each other

image006

image007

Industry4 commented 1 year ago

1. Normal Sequence

SMEMA Data This Station Downstream
HIGH Y Machine Ready
HIGH Y Board Available
HIGH Y Start Transport
LOW N Transport Finished
LOW N Stop Transport

2. Data Deleted by User After Board Available

SMEMA Data This Station Downstream
HIGH Y Machine Ready
HIGH Y Board Available
HIGH N Revoke Board Available
HIGH N Start Transport
LOW N Transport Finished
LOW N Stop Transport

3. Data Deleted by User After Start Transport

SMEMA Data This Station Downstream
HIGH Y Machine Ready
HIGH Y Board Available
HIGH Y Start Transport
HIGH N
LOW N TF - Transfer Incomplete
LOW N Stop Transport
Industry4 commented 1 year ago

There were multible options to resolve this issue:

  1. Prevent the deletion of Data when a Transfer is occurring. We didn't do this as a operator may want to stop a transfer.
  2. Use 'Revoke Board Available' (Sequence 2 above) however a 'Board Available' is only sent following a 'Machine Ready' and that will be shortly followed by a 'Start Transport'. By this point a 'Revoke Board Available' is too late.
  3. Solution: Sequence 3 (above) above is more likely so we send a 'Transport Finished' with a Transfer State of Incomplete.

The actual 'lock' as described in the issue description was caused by the 'Transport Finished' message being sent with Null values (Bug)