Advertisement
Guest User

Untitled

a guest
Nov 20th, 2019
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.90 KB | None | 0 0
  1. begin P_Painting arriving procedure
  2. move into Q_BufferPainting
  3. //Batching
  4. if OL_WaitBatchPainting current < VI_PaintingBatchSize - 1 then begin
  5. //collect batch on OL
  6. move into Q_DummyPainting
  7. //collect loads on dummy queue
  8. wait to be ordered on OL_WaitBatchPainting
  9.  
  10. wait to be ordered on OL_BatchWaitForPainting
  11. move into Q_PaintingUnloading
  12. order 1 load from OL_PaintBufferFull to continue
  13. //when painting is done
  14. //order 1 load from OL_PaintBufferFull to continue
  15. send to P_Lathes
  16. end
  17. //order the rest of the batch, so they are not available for another batch
  18. order VI_PaintingBatchSize -1 from OL_WaitBatchPainting to continue
  19. move into Q_Painting
  20. //order 1 load from OL_PaintBufferFull to continue
  21.  
  22. /* setup time */
  23. use R_Painting for uniform 85, 15 sec
  24. /* cycle time */
  25. use R_Painting for normal 3, 0.2 * VI_PaintingBatchSize min
  26. //batch done
  27.  
  28. //look if any product from previous batch is in unloading
  29. if Q_PaintingUnloading remaining space < VI_PaintingBatchSize then begin
  30. wait to be ordered on OL_PaintingUnloading
  31. end
  32. move into Q_PaintingUnloading
  33. order 1 load from OL_PaintBufferFull to continue
  34. //order the rest of the batch to continue
  35. order VI_PaintingBatchSize -1 loads from OL_BatchWaitForPainting to continue
  36. send to P_Lathes
  37. end
  38.  
  39. begin P_Lathes arriving procedure
  40.  
  41.  
  42. /* choose the Lathe which is least busy */
  43. choose a queue from among Q_BufferLathe(1), Q_BufferLathe(2), Q_BufferLathe(3)
  44. whose current loads is minimum
  45. save choice as A_QptrLathe
  46. move into A_QptrLathe
  47.  
  48. if Q_PaintingUnloading current = 0 then begin
  49. order 1 load from OL_PaintingUnloading to continue
  50. end
  51. set AI_LatheIndex = A_QptrLathe index
  52. move into Q_Lathe(AI_LatheIndex)
  53.  
  54.  
  55.  
  56. /* processing time */
  57. use R_Lathe(AI_LatheIndex) for triangular 10, 12, 17 min
  58. move into Q_Final
  59.  
  60. /* the product is finished */
  61. send to die
  62. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement