You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
163 lines
5.5 KiB
163 lines
5.5 KiB
PROGRAM SCAN
|
|
VAR_EXTERNAL
|
|
|
|
(*SCAN Program*)
|
|
LBOXO01_DS :BOOL;
|
|
LBOXO02_DS :BOOL;
|
|
LBOXO03_DS :BOOL;
|
|
LBOXO04_DS :BOOL;
|
|
LBOXO05_DS :BOOL;
|
|
LBOXO06_DS :BOOL;
|
|
LBOXO07_DS :BOOL;
|
|
LBOXO08_DS :BOOL;
|
|
LBOXO09_DS :BOOL;
|
|
LBOXO10_DS :BOOL;
|
|
LBOXO00_OR :REAL;
|
|
LBOXO01_OR :REAL;
|
|
LBOXO02_OR :REAL;
|
|
LBOXO03_OR :REAL;
|
|
LBOXO04_OR :REAL;
|
|
LBOXO05_OR :REAL;
|
|
LBOXO06_OR :REAL;
|
|
LBOXO07_OR :REAL;
|
|
LBOXO08_OR :REAL;
|
|
LBOXO09_OR :REAL;
|
|
LBOXO10_OR :REAL;
|
|
|
|
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#00000000000000000000000001111111 ;
|
|
BOX02_Hex :=2#00000000000000000011111110000000 ;
|
|
BOX03_Hex :=2#00000000000000000000000000000000 ;
|
|
(*模块扫描功能块关联*)
|
|
BOX01_DevScan( Dev_Array:= Dev_Array , Dev_Scan_Hex:= BOX01_Hex | LBOXO01_DS:= Dev_Ready, LBOXO01_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 | LBOXO02_DS:= Dev_Ready, LBOXO02_OR:= Dev_Ratio, BOX02_TC:= Dev_Total, BOX02_EC:= Dev_Error );
|
|
BOX03_DevScan( Dev_Array:= Dev_Array , Dev_Scan_Hex:= BOX03_Hex | LBOXO03_DS:= Dev_Ready, LBOXO03_OR:= Dev_Ratio, BOX03_TC:= Dev_Total, BOX03_EC:= Dev_Error );
|
|
|
|
(*总线在线数量计算*)
|
|
LBOXO00_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
|