%%%
  VERSION:1
  LANGUAGE:ENGLISH
%%%

MODULE PAL_CELL
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  !                                       !
  ! MODULE PAL_CELL : Cell definitions    !
  !                                       !
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  !
  !  Constants
  !
  CONST num PALLET_TYPE:=1;
  CONST num STACK_TYPE:=2;
  CONST num FEEDER_TYPE:=3;
  CONST num PRODUCT_TYPE:=1;
  CONST num EMPTY_PAL_TYPE:=2;
  CONST num BOTTOM_TYPE:=3;
  CONST num INTERLEAF_TYPE:=4;
  CONST num COVER_TYPE:=5;
  !
  !  Module data
  !
  PERS bool CellMReloaded:=TRUE;
  !
  !  Robot data
  !
  !  Robot display data
  PERS string RobNameScr:="FlexPalletizer";
  !  Robot motion parameters
  PERS num default_accel:=100;
  PERS num default_ramp:=100;
  PERS num default_speed:=4000;
  PERS num search_speed:=100;
  PERS num default_orient:=500;
  !
  !  Stations data
  !
  !  Stations configuration data
  CONST num NB_STATION:=5;
  PERS num NbStationScr:=5;
  PERS string station_names{NB_STATION}:=["infeeder1","infeeder2","stack1","palstat1","palstat2"];
  PERS num station_types{NB_STATION}:=[3,3,2,1,1];
  CONST num station_layout{NB_STATION}:=[1,2,5,3,4];
  VAR bool station_left{NB_STATION}:=[FALSE,FALSE,TRUE,TRUE,TRUE];
  VAR num station_in{NB_STATION}:=[1,1,3,5,5];
  VAR num station_out{NB_STATION}:=[2,2,4,6,6];
  !  Stations tuning data
  PERS num station_appz{NB_STATION}:=[500,500,800,300,300];
  PERS num station_maxh{NB_STATION}:=[800,800,1600,2000,2000];
  PERS num station_minh{NB_STATION}:=[20,20,150,50,50];
  !  Stations display data
  CONST num NB_FEEDER_STA:=2;
  CONST num NB_STACK_STA:=1;
  CONST num NB_PALLET_STA:=2;
  PERS num NbFeederScr:=2;
  PERS num ArrayFeederScr{NB_FEEDER_STA}:=[1,2];
  PERS num NbStackScr:=1;
  PERS num ArrayStackScr{NB_STACK_STA}:=[3];
  PERS num NbPalStaScr:=2;
  PERS num ArrayPalStaScr{NB_PALLET_STA}:=[4,5];
  !
  !  Products data
  !
  !  Products configuration data
  CONST num NB_ARTICLE:=2;
  PERS num NbArticleScr:=2;
  PERS string article_names{NB_ARTICLE}:=["BoxLYX","EURO_PALLET"];
  PERS num article_types{NB_ARTICLE}:=[1,2];
  PERS num article_l{NB_ARTICLE}:=[385,1200];
  PERS num article_w{NB_ARTICLE}:=[260,800];
  PERS num article_h{NB_ARTICLE}:=[282,150];
  PERS num article_mindl{NB_ARTICLE}:=[-100,-20];
  PERS num article_mindw{NB_ARTICLE}:=[-100,-20];
  PERS num article_mindh{NB_ARTICLE}:=[-100,-20];
  PERS num article_maxdl{NB_ARTICLE}:=[100,20];
  PERS num article_maxdw{NB_ARTICLE}:=[100,20];
  PERS num article_maxdh{NB_ARTICLE}:=[100,20];
  !  Products tuning data
  PERS num article_weight{NB_ARTICLE}:=[2,20];
  PERS num article_dl{NB_ARTICLE}:=[0,0];
  PERS num article_dw{NB_ARTICLE}:=[0,0];
  PERS num article_dh{NB_ARTICLE}:=[0,0];
  PERS num article_lowsp{NB_ARTICLE}:=[500,500];
  PERS num article_medsp{NB_ARTICLE}:=[2000,800];
  PERS num article_highsp{NB_ARTICLE}:=[3000,1000];
  PERS num article_accel{NB_ARTICLE}:=[100,100];
  PERS num article_ramp{NB_ARTICLE}:=[100,100];
  PERS num article_orient{NB_ARTICLE}:=[300,400];
  PERS num article_plach{NB_ARTICLE}:=[50,200];
  PERS num article_placl{NB_ARTICLE}:=[50,50];
  PERS num article_pickh{NB_ARTICLE}:=[50,200];
  PERS num article_pickl{NB_ARTICLE}:=[50,50];
  !  Products display data
  CONST num NB_PRODUCT:=1;
  CONST num NB_PAL_SHEET:=1;
  CONST num NB_MISC_SHEET:=0;
  PERS num NbProdScr:=1;
  PERS num NbPalShScr:=1;
  PERS num NbMiscShScr:=0;
  PERS num ArrayProdScr{NB_PRODUCT}:=[1];
  PERS num ArrayPalShScr{NB_PAL_SHEET}:=[2];
  PERS num ArrayMiscShScr{1}:=[0];
  !
  !  Tool data
  !
  !  Tool display data
  !  Tool definition
  CONST num NB_SPECTOOL:=4;
  PERS string toolnames{NB_SPECTOOL}:=["prodcenter","prodback","prodfront","pallet"];
  VAR bool toolAtBottom{NB_SPECTOOL}:=[FALSE,FALSE,FALSE,FALSE];
  PERS num NbSpecToolScr:=4;
  !  Empty routine for the RAPID to check if the module is loaded
  PROC Pal_Cell0()

  ! Don't insert ANY instruction in that routine
  ENDPROC

ENDMODULE
