PROGRAM SCAN
VAR_EXTERNAL


END_VAR

VAR_GLOBAL

END_VAR

VAR
Dev_Array                   :array[0..31] of byte;			
BOX01_DevScan               :BS_DevScan;
BOX02_DevScan               :BS_DevScan;
BOX03_DevScan               :BS_DevScan;
BOX04_DevScan               :BS_DevScan;
BOX05_DevScan               :BS_DevScan;
BOX06_DevScan               :BS_DevScan;
BOX07_DevScan               :BS_DevScan;
BOX08_DevScan               :BS_DevScan;
BOX09_DevScan               :BS_DevScan;
BOX10_DevScan               :BS_DevScan;

BOX01_TC					:INT;	(*箱体模块在线比例*)							
BOX02_TC					:INT;	
BOX03_TC             		:INT;	
BOX04_TC					:INT;	
BOX05_TC					:INT;								
BOX06_TC					:INT;	
BOX07_TC             		:INT;	
BOX08_TC					:INT;	
BOX09_TC					:INT;								
BOX10_TC					:INT;	

BOX01_EC					:INT;	(*箱体模块在线比例*)							
BOX02_EC					:INT;	
BOX03_EC             		:INT;	
BOX04_EC					:INT;	
BOX05_EC					:INT;								
BOX06_EC					:INT;	
BOX07_EC             		:INT;	
BOX08_EC					:INT;	
BOX09_EC					:INT;								
BOX10_EC					:INT;
         
BOX01_Hex			        :DWORD ; 
BOX02_Hex			        :DWORD ; 
BOX03_Hex			        :DWORD ; 
BOX04_Hex			        :DWORD ; 
BOX05_Hex			        :DWORD ; 
BOX06_Hex			        :DWORD ; 
BOX07_Hex			        :DWORD ; 
BOX08_Hex			        :DWORD ; 
BOX09_Hex			        :DWORD ; 
BOX10_Hex			        :DWORD ; 					

DEV00_R         AT%M8000.0  :BYTE;										
DEV01_R         AT%M8001.0  :BYTE;										
DEV02_R         AT%M8002.0  :BYTE;										
DEV03_R         AT%M8003.0  :BYTE;										
DEV04_R         AT%M8004.0  :BYTE;										
DEV05_R         AT%M8005.0  :BYTE;										
DEV06_R         AT%M8006.0  :BYTE;										
DEV07_R         AT%M8007.0  :BYTE;										
DEV08_R         AT%M8008.0  :BYTE;										
DEV09_R         AT%M8009.0  :BYTE;										
DEV10_R         AT%M8010.0  :BYTE;										
DEV11_R         AT%M8011.0  :BYTE;										
DEV12_R         AT%M8012.0  :BYTE;										
DEV13_R         AT%M8013.0  :BYTE;										
DEV14_R         AT%M8014.0  :BYTE;										
DEV15_R         AT%M8015.0  :BYTE;										
DEV16_R         AT%M8016.0  :BYTE;										
DEV17_R         AT%M8017.0  :BYTE;										
DEV18_R         AT%M8018.0  :BYTE;										
DEV19_R         AT%M8019.0  :BYTE;										
DEV20_R         AT%M8020.0  :BYTE;
DEV21_R         AT%M8021.0  :BYTE;	
DEV22_R         AT%M8022.0  :BYTE;	
DEV23_R         AT%M8023.0  :BYTE;	
DEV24_R         AT%M8024.0  :BYTE;	
DEV25_R         AT%M8025.0  :BYTE;	
DEV26_R         AT%M8026.0  :BYTE;	
DEV27_R         AT%M8027.0  :BYTE;	
DEV28_R         AT%M8028.0  :BYTE;	
DEV29_R         AT%M8029.0  :BYTE;	
DEV30_R         AT%M8030.0  :BYTE;	
DEV31_R         AT%M8031.0  :BYTE;	

END_VAR

(*Automatically declared*)
VAR_EXTERNAL
	LBOX01_OR : REAL;
	LBOX02_OR : REAL;
	RNQCMD00000_DHV : INT;
	LBOX00_OR : REAL;
	LBOX02_DS : BOOL;
	LBOX01_DS : BOOL;
END_VAR
(** {*ģ���ַ�����趨���ֱ��Ӧ0~31�ŵ�ַģ�飬������*} **)
(**             {* 3         2         1          *} **)
(** 		    {*10987654321098765432109876543210*} **)
(** BOX01_Hex :=2#00000000000000000000000000111111 ;  **)
	(* assign - Stmt *)
	LD 2#00000000000000000000000000111111
	ST BOX01_Hex

(** BOX02_Hex :=2#00000000000001111111111111000000 ; **)
	(* assign - Stmt *)
	LD 2#00000000000001111111111111000000
	ST BOX02_Hex

(** {*ģ��ɨ�蹦�ܿ����*} **)
(** BOX01_DevScan( Dev_Array:= Dev_Array , Dev_Scan_Hex:= BOX01_Hex |  LBOX01_DS:= Dev_Ready, LBOX01_OR:= Dev_Ratio, BOX01_TC:= Dev_Total, BOX01_EC:= Dev_Error, RNQCMD00000_DHV:= Heartvavle ); **)
	(* call - Stmt *)
	CAL BOX01_DevScan (
		Dev_Array := Dev_Array,
		Dev_Scan_Hex := BOX01_Hex
		|
		LBOX01_DS := Dev_Ready,
		LBOX01_OR := Dev_Ratio,
		BOX01_TC := Dev_Total,
		BOX01_EC := Dev_Error,
		RNQCMD00000_DHV := Heartvavle
	)

(** BOX02_DevScan( Dev_Array:= Dev_Array , Dev_Scan_Hex:= BOX02_Hex |  LBOX02_DS:= Dev_Ready, LBOX02_OR:= Dev_Ratio, BOX02_TC:= Dev_Total, BOX02_EC:= Dev_Error ); **)
	(* call - Stmt *)
	CAL BOX02_DevScan (
		Dev_Array := Dev_Array,
		Dev_Scan_Hex := BOX02_Hex
		|
		LBOX02_DS := Dev_Ready,
		LBOX02_OR := Dev_Ratio,
		BOX02_TC := Dev_Total,
		BOX02_EC := Dev_Error
	)

(**  **)
(** {*����������������*} **)
(** LBOX00_OR :=1.0-INT_TO_REAL(BOX01_EC+BOX02_EC) **)
	(* assign - Stmt *)
	LD 1.0
	SUB ( BOX01_EC
		ADD BOX02_EC
		INT_TO_REAL 
(**                /INT_TO_REAL(BOX01_TC+BOX02_TC);  **)
		DIV ( BOX01_TC
			ADD BOX02_TC
			INT_TO_REAL 
		)
	)
	ST LBOX00_OR

(**  **)
(** {****************************************************Ĭ�϶�****************************************************}												 **)
(** {*ģ���豸״̬����*} **)
(** Dev_Array[0] :=DEV00_R;													 **)
	(* assign - Stmt *)
	LD DEV00_R
	ST Dev_Array[0]

(** Dev_Array[1] :=DEV01_R;													 **)
	(* assign - Stmt *)
	LD DEV01_R
	ST Dev_Array[1]

(** Dev_Array[2] :=DEV02_R;													 **)
	(* assign - Stmt *)
	LD DEV02_R
	ST Dev_Array[2]

(** Dev_Array[3] :=DEV03_R;													 **)
	(* assign - Stmt *)
	LD DEV03_R
	ST Dev_Array[3]

(** Dev_Array[4] :=DEV04_R; **)
	(* assign - Stmt *)
	LD DEV04_R
	ST Dev_Array[4]

(** Dev_Array[5] :=DEV05_R;													 **)
	(* assign - Stmt *)
	LD DEV05_R
	ST Dev_Array[5]

(** Dev_Array[6] :=DEV06_R;													 **)
	(* assign - Stmt *)
	LD DEV06_R
	ST Dev_Array[6]

(** Dev_Array[7] :=DEV07_R;													 **)
	(* assign - Stmt *)
	LD DEV07_R
	ST Dev_Array[7]

(** Dev_Array[8] :=DEV08_R;													 **)
	(* assign - Stmt *)
	LD DEV08_R
	ST Dev_Array[8]

(** Dev_Array[9] :=DEV09_R; **)
	(* assign - Stmt *)
	LD DEV09_R
	ST Dev_Array[9]

(** Dev_Array[10]:=DEV10_R;													 **)
	(* assign - Stmt *)
	LD DEV10_R
	ST Dev_Array[10]

(** Dev_Array[11]:=DEV11_R;													 **)
	(* assign - Stmt *)
	LD DEV11_R
	ST Dev_Array[11]

(** Dev_Array[12]:=DEV12_R;													 **)
	(* assign - Stmt *)
	LD DEV12_R
	ST Dev_Array[12]

(** Dev_Array[13]:=DEV13_R;													 **)
	(* assign - Stmt *)
	LD DEV13_R
	ST Dev_Array[13]

(** Dev_Array[14]:=DEV14_R; **)
	(* assign - Stmt *)
	LD DEV14_R
	ST Dev_Array[14]

(** Dev_Array[15]:=DEV15_R;													 **)
	(* assign - Stmt *)
	LD DEV15_R
	ST Dev_Array[15]

(** Dev_Array[16]:=DEV16_R;													 **)
	(* assign - Stmt *)
	LD DEV16_R
	ST Dev_Array[16]

(** Dev_Array[17]:=DEV17_R;													 **)
	(* assign - Stmt *)
	LD DEV17_R
	ST Dev_Array[17]

(** Dev_Array[18]:=DEV18_R;													 **)
	(* assign - Stmt *)
	LD DEV18_R
	ST Dev_Array[18]

(** Dev_Array[19]:=DEV19_R;	 **)
	(* assign - Stmt *)
	LD DEV19_R
	ST Dev_Array[19]

(** Dev_Array[20]:=DEV20_R;													 **)
	(* assign - Stmt *)
	LD DEV20_R
	ST Dev_Array[20]

(** Dev_Array[21]:=DEV21_R;													 **)
	(* assign - Stmt *)
	LD DEV21_R
	ST Dev_Array[21]

(** Dev_Array[22]:=DEV22_R;													 **)
	(* assign - Stmt *)
	LD DEV22_R
	ST Dev_Array[22]

(** Dev_Array[23]:=DEV23_R;													 **)
	(* assign - Stmt *)
	LD DEV23_R
	ST Dev_Array[23]

(** Dev_Array[24]:=DEV24_R; **)
	(* assign - Stmt *)
	LD DEV24_R
	ST Dev_Array[24]

(** Dev_Array[25]:=DEV25_R;													 **)
	(* assign - Stmt *)
	LD DEV25_R
	ST Dev_Array[25]

(** Dev_Array[26]:=DEV26_R;													 **)
	(* assign - Stmt *)
	LD DEV26_R
	ST Dev_Array[26]

(** Dev_Array[27]:=DEV27_R;													 **)
	(* assign - Stmt *)
	LD DEV27_R
	ST Dev_Array[27]

(** Dev_Array[28]:=DEV28_R;													 **)
	(* assign - Stmt *)
	LD DEV28_R
	ST Dev_Array[28]

(** Dev_Array[29]:=DEV29_R; **)
	(* assign - Stmt *)
	LD DEV29_R
	ST Dev_Array[29]

(** Dev_Array[30]:=DEV30_R;													 **)
	(* assign - Stmt *)
	LD DEV30_R
	ST Dev_Array[30]

(** Dev_Array[31]:=DEV31_R; **)
	(* assign - Stmt *)
	LD DEV31_R
	ST Dev_Array[31]


END_PROGRAM