dynamic function FeedBeltMot : ON_OFF
initially On

dynamic relation Delivering
initially false

dynamic relation FeedBeltFree
initially true

output function PieceInFeedBeltLightBarrier : BOOL
derived relation NormalRun ==

  FeedBeltMot = On and not( Delivering )


derived relation CriticalRun ==

  FeedBeltMot = On and Delivering


derived relation Stopped ==

  FeedBeltMot = Off


derived relation TableInLoadPosition ==

  StoppedInLoadPosition


derived relation TableReadyForLoading ==

  TableInLoadPosition and not( TableLoaded )
transition FB_NORMAL ==

  if NormalRun and PieceInFeedBeltLightBarrier
  then FeedBeltFree := true
       if TableReadyForLoading 
       then Delivering  := true
       else FeedBeltMot := Off
       endif
  endif


transition FB_STOPPED ==

  if Stopped and TableReadyForLoading
  then FeedBeltMot := On
       Delivering  := true
  endif


transition FB_CRITICAL ==

  if CriticalRun and not( PieceInFeedBeltLightBarrier )
  then Delivering  := false
       TableLoaded := true
  endif