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 (*模块地址分配设定,分别对应0~31号地址模块,从右起*) (* 3 2 1 *) (*10987654321098765432109876543210*) BOX01_Hex :=2#00000000000000000001111111111111 ; BOX02_Hex :=2#00000000000111111110000000000000 ; BOX03_Hex :=2#00000001111000000000000000000000 ; (*模块扫描功能块关联*) 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 ); BOX03_DevScan( Dev_Array:= Dev_Array , Dev_Scan_Hex:= BOX03_Hex | LBOX03_DS:= Dev_Ready, LBOX03_OR:= Dev_Ratio, BOX03_TC:= Dev_Total, BOX03_EC:= Dev_Error ); (*总线在线数量计算*) LBOX00_OR :=1.0-INT_TO_REAL(BOX01_EC+BOX02_EC+BOX03_EC) /INT_TO_REAL(BOX01_TC+BOX02_TC+BOX03_TC); (****************************************************默认段****************************************************) (*模块设备状态关联*) Dev_Array[0] :=DEV00_R; Dev_Array[1] :=DEV01_R; Dev_Array[2] :=DEV02_R; Dev_Array[3] :=DEV03_R; Dev_Array[4] :=DEV04_R; Dev_Array[5] :=DEV05_R; Dev_Array[6] :=DEV06_R; Dev_Array[7] :=DEV07_R; Dev_Array[8] :=DEV08_R; Dev_Array[9] :=DEV09_R; Dev_Array[10]:=DEV10_R; Dev_Array[11]:=DEV11_R; Dev_Array[12]:=DEV12_R; Dev_Array[13]:=DEV13_R; Dev_Array[14]:=DEV14_R; Dev_Array[15]:=DEV15_R; Dev_Array[16]:=DEV16_R; Dev_Array[17]:=DEV17_R; Dev_Array[18]:=DEV18_R; Dev_Array[19]:=DEV19_R; Dev_Array[20]:=DEV20_R; Dev_Array[21]:=DEV21_R; Dev_Array[22]:=DEV22_R; Dev_Array[23]:=DEV23_R; Dev_Array[24]:=DEV24_R; Dev_Array[25]:=DEV25_R; Dev_Array[26]:=DEV26_R; Dev_Array[27]:=DEV27_R; Dev_Array[28]:=DEV28_R; Dev_Array[29]:=DEV29_R; Dev_Array[30]:=DEV30_R; Dev_Array[31]:=DEV31_R; END_PROGRAM