15 CTL/C TR Kớch hoạt : CTL [element] khụng kớch hoạt : CTR [element]
Sử dụng theo cặp. CTL thực hiện logic Và element xỏc định với tất cả cỏc chỉ dẫn tiếp theo
cho tới khi nú khụng được kớch hoạt nữa. CTR sẽ huỷ cỏc chỉ dẫn CTL đó kớch hoạt.
CTL M95 MOV M100 Y:0:2
MOV X1:5 M75 CTR
16 DEC [element]DEC
Trong tất cả cỏc vũng quột của chương trỡnh PLC, mà giỏ trị trong thanh ghi hiện hành là TRUE, giỏ trị số mới của element sẽ giảm đi
một đơn vị.
LD X0:2 DEC M80
17 INC [element]INC
Trong tất cả cỏc vũng quột của chương trỡnh PLC, mà giỏ trị trong thanh ghi hiện hành là TRUE, giỏ trị số mới của element sẽ tăng lờn
một đơn vị.
LD X0:2 INC M80
18 RST RST
[element]
Khởi tạo lại cỏc chỉ dẫn. Khởi tạo lại bộ timer
nếu trạng thỏi của thanh ghi hiện hành là TRUE. RST T1
19 NOP
Khụng cú hành động nào đượcthực hiện. Lệnh này nhằm làm tăng thời gian thực hiện chương
trỡnh(tăng thời gian của một vũng quột).
20 INV [element]INV
Đảo giỏ trị của element. Đảo giỏ trị của thanh ghi hiện hành khi khụng cú element nào xỏc định. Nếu giỏ trị được chuyển là số, nú được chuyển sang trạng thỏi trước khi đảo giỏ trị.
INV Y0:4 Đảo trạng thỏi của
Y0:4
21 IF/ELS/ /EDF
IF : Mở đầu khối lệnh cú điều kiện. CNC sẽ thực hiện cỏc lệnh được chỉ dẫn nếu trạng thỏi
của thanh ghi hiện hành là TRUE. ELS : Nếu trạng thỏi của thanh ghi hiện hành là FALSE thỡ chương trỡnh sẽ bỏ qua khối lệnh IF
và thực hiện cỏc lệnh sau ELS. EDF : Kết thỳc của khối lệnh IF - ELS.
22 CLP/EJ
P
CLP : Mở đầu khối lệnh cú điều kiện. Thực hiện cỏc lệnh ngay sau CLP nếu trạng thỏi của thanh
ghi hiện hành là FALSE. Nhảy tới chỉ dẫn EJP nếu trạng thỏi của thanh ghi hiện hành là TRUE.
EJP : Kết thỳc lệnh nhảy cú điều kiện.
23 OKBD
Dựng để xuất ra một mó của bàn phớm tới CNC. CNC sẽ biờn dịch cỏc mó này tương ứng như khi
người vận hành ấn một phớm trờn panel điều khiển.
24 OTI OTI Yn:bLD Xn:b Xuất ra đầu output một tớn hiệu cho đến khi cú tỏc động của đầu vào thỡ ngừng.
Hoỏ
25 OWI LD Xn:b
OWI Yn:b
Ngay lập tức xuất ra đầu output một tớn hiệu khi cú tỏc động của đầu vào.
4.2.3 CHƯƠNG TRèNH PLC CỦA MÁY CP66150 - CNC
* Lưu đồ thuật toỏn của chương trỡnh PLC
Sinh Viờn Thực Hiện: Vũ Văn Hải Lớp TĐH1- 46Đúng 77
Reset Sai Finish Mồi Sai Ignit? Đúng OXy_CUT Sai Sai Oxy _C_ OFF Finish Đúng Đúng OFF OxyCUT Sai Đúng Gas_H_OFF Gas_H Sai Sai Finish Đúng Gas_H_Off Gas_H Sai Đúng Đúng Sai Gas_Ignit Sai Gas_Ignit off Đúng Đúng Finish Gas Ignit OFF Sai Sai Gas_Ignit Oxy_H_ON Sai Sai Oxy H_ OFF Finish Đúng Đúng Oxy_H_OFF MZ_OFF MZ_ON Vđ-Vph>=a Nhập thông số Auto_mode Sai Oxy_H_On Sai Sai 3 Torch Chọn Torch Chọn Torch Đúng Sai Đúng Sai Sai Đúng Finish Plasma_ON Start Gas
Hoỏ
* Chương trỡnh PLC cho mỏy CP66150 CNC
**********************PLC FOR CUTING GAS MACHINE, 3 TORCH GAS AND 1 TORCH PLASMA *****
* PLEASE INPUT THE BELOW MESSAGES TO CNC: * 129 : X SERVO DRIVE NOT READY!
* 130 : Y SERVO DRIVE NOT READY!
* 131 : X+ LIMIT REACHED, PLEASE MOVE BACK! * 132 : X- LIMIT REACHED, PLEASE MOVE BACK! * 133 : Y+ LIMIT REACHED, PLEASE MOVE BACK! * 134 : Y- LIMIT REACHED, PLEASE MOVE BACK!
***************************************************************************** *USED TIMER :
* T0 : 0.2 SEC DELAY TO RESET FINISH * T8 : 0.5 WAIT TO REPORT X SERVO ERROR * T9 : 0.5 WAIT TO REPORT Y SERVO ERROR
***************************************************************************** **DEFINE BASIC MACHINE FUNCTIONS
#DEFINE FINWAIT M64 #DEFINE MM2 M65 #DEFINE MM8 M66 #DEFINE MM9 M67 #DEFINE MM30 M68
Hoỏ
***************************************************************************** #DEFINE TORCH1 M80 * SELECT TORCH 1
#DEFINE TORCH2 M81 * SELECT TORCH 2 #DEFINE TORCH3 M82 * SELECT TORCH 3 #DEFINE H_O M84 * HEATING OXY
#DEFINE C_O M85 * CUTING OXY #DEFINE C_G M86 * CUTING GAS #DEFINE I_G M87 * IGNIT GAS
***************************************************************************** *VALUE OF DECODER SETTING SIGNAL
#DEFINE SETPOINT M72 #DEFINE SET1 M101 #DEFINE SET2 M102 #DEFINE SET3 M103 #DEFINE BITREG8 M107 #DEFINE BITREG4 M108 #DEFINE BITREG2 M109 #DEFINE BITREG1 M110 #DEFINE BITREG84 M111 #DEFINE BITREG21 M112 * VALUE OF CONTROL SIGNAL *#DEFINE VCOM M75 *#DEFINE VCOM1 M74 *#DEFINE MM131 M131 *#DEFINE SPIN M140 ********************************** *********DEFINE INPUTS*********
#DEFINE LIMIT_X+ X0:0 *NC: X+ LIMIT NOT REACHED #DEFINE LIMIT_X- X0:1 *NC: X- LIMIT NOT REACHED #DEFINE LIMIT_Y+ X0:2 *NC: Y+ LIMIT NOT REACHED #DEFINE LIMIT_Y- X0:3 *NC: Y- LIMIT NOT REACHED #DEFINE TORCH_1 X0:4 *NO: SELECT TORCH SWITCH 1 #DEFINE TORCH_2 X0:5 *NO: SELECT TORCH SWITCH 2 #DEFINE TORCH_3 X0:6 *NO: SELECT TORCH SWITCH 3 #DEFINE PLASMA_STOP X0:7 *NC: STOP PLASMA
#DEFINE PLASMA_START X0:8 *NO: START PLASMA
#DEFINE P_POWER_ON X0:9 *NO: TURN PLASMA POWER ON
#DEFINE H_OXY_ON X1:0 *NO: HEATING OXY PRESS BUTTON ON
Hoỏ
#DEFINE H_OXY_OFF X1:1 *NC: HEATING OXY PRESS BUTTON OFF
#DEFINE C_OXY_ON X1:2 *NO: CUTING OXY PRESS BUTTON ON #DEFINE C_OXY_OFF X1:3 *NC: CUTING OXY PRESS BUTTON OFF
#DEFINE C_GAS_ON X1:4 *NO: CUTTING GAS PRESS BUTTON ON #DEFINE C_GAS_OFF X1:5 *NC: CUTTING GAS PRESS BUTTON OFF
#DEFINE I_GAS_ON X1:6 *NO: IGNIT GAS PRESS BUTTON ON #DEFINE I_GAS_OFF X1:7 *NC: IGNIT GAS PRESS BUTTON ON
#DEFINE CTRL_ON X1:8 *NO: TURN ON POWER #DEFINE ESTOP1 X1:9 *NC: TO STOP GAS-OXY
****************************** #DEFINE BIT1 X2:0 #DEFINE BIT2 X2:1 #DEFINE BIT4 X2:2 #DEFINE BIT8 X2:3 #DEFINE AUT_MODE X2:4 #DEFINE UP X2:5 * THC UP
#DEFINE DOWN X2:6 * THC DOWN #DEFINE SET_ZERO X2:7
*********DEFINE OUTPUTS*********
#DEFINE TORCH_1_RL Y0:0 * TORCH 1 SELECTED RELAY #DEFINE TORCH_2_RL Y0:1 * TORCH 2 SELECTED RELAY #DEFINE TORCH_3_RL Y0:2 * TORCH 3 SELECTED RELAY #DEFINE PLASMA_START_RL Y0:3 * START PLASMA
#DEFINE H_OXY_RL Y0:4 * HEATING OXY RELAY #DEFINE C_OXY_RL Y0:5 * CUTTING OXY RELAY
#DEFINE C_GAS_RL Y1:0 * CUTTING GAS RELAY #DEFINE I_GAS_RL Y1:1 * IGNIT GAS RELAY #DEFINE CTRL_ON_RL Y1:2 * POWER ON RELAY ****************OUTPUT FOR THC*************** #DEFINE P_POWER_ON_RL Y1:3 *IGNIT ON RELAY #DEFINE UP_RL Y1:4
#DEFINE DOWN_RL Y1:5 #DEFINE AUT_RL Y2:0
Hoỏ
#DEFINE Y25 Y2:5 * FEEDBACK SIGNAL FROM SENSOR
* VALUE OF FEEDBACK SIGNAL
#DEFINE FEEDBACK M73
***************************************************************************** START *DEFINES REPEATING PORTION OF PROGRAM
**FINISH PULSE GENERATION
LD ( MFLAG OR SFLAG ) *SETS FINISH HIGH ON ANY FLAG OR HFLAG
OR TFLAG SET FINISH
LDI FINWAIT *SET FINWAIT HIGH DURING OPERATIONS THAT AND FINISH *REQUIRE PROGRAM HOLD TILL COMPLETE OUT TON0 0.2 *0.2 SEC DURATION FOR DEMONSTRATION IF 0 T0 *RESETS FINISH AFTER FINISH TIMER T0
RES FINISH EDF 0
***************************************************************************** **BASIC M-FUNCTIONS:
LD ( MCODE EQ 2 ) *SET MM2 FOR PROGRAM END: REGISTER M65 OUT MM2
LD ( MCODE EQ 30 ) *SET MM30 FOR SUBPROGRAM END: REGISTER M68 OUT MM30
LD ( MCODE EQ 8 ) *CALL M08
OR MM8 *LATCH ON
ANI MM9 *DISABLE ON M9
ANI ( MM2 OR MM30 ) *DISABLE ON M2 OR M30
OUT MM9 *USE TO SET OUTPUT FOR PLASMA START
LD ( MCODE EQ 9 ) *SET MM9 FOR PLASMA STOP
OUT MM9
******************************* TORCH
SELECTION********************************* ***TORCH 1 SELECTION***
Hoỏ
LD TORCH_1
ANI ( MM2 OR MM30 ) SET TORCH1
LD TORCH1
OUT TORCH_1_RL * SELECT TORCH 1
LDI TORCH_1 *AND MAN
RES TORCH1
RES TORCH_1_RL * DON'T SELECT TORCH 1
***TORCH 2 SELECTION*** LD TORCH_2
ANI ( MM2 OR MM30 ) SET TORCH2
LD TORCH2
OUT TORCH_2_RL * SELECT TORCH 2
LDI TORCH_2
RES TORCH2
RES TORCH_2_RL * DON'T SELECT TORCH 2 ***TORCH 3 SELECTION***
LD TORCH_3
ANI ( MM2 OR MM30 ) SET TORCH3
LD TORCH3
OUT TORCH_3_RL * SELECT TORCH 3
LDI TORCH_3 *AND MAN
RES TORCH3
RES TORCH_3_RL * DON'T SELECT TORCH 3
**********************HEATING OXY ********************** LD ( TORCH_1 OR TORCH_2 )
OR TORCH_3 AND H_OXY_OFF
Hoỏ
AND ( H_O OR H_OXY_ON ) ANI ( MM2 OR MM30 ) OUT H_O
LD H_O
OUT H_OXY_RL * HEATING OXY ON
********************* CUTING OXY *********************** LD ( TORCH_1 OR TORCH_2 )
OR TORCH_3 AND C_OXY_OFF
AND ( C_O OR C_OXY_ON ) ANI ( MM2 OR MM30 ) OUT C_O
LD C_O
OUT C_OXY_RL * CUTTING OXY ON
********************* CUTING GAS *********************** LD ( TORCH_1 OR TORCH_2 ) OR TORCH_3 AND C_GAS_OFF AND ( C_G OR C_GAS_ON ) ANI ( MM2 OR MM30 ) OUT C_G LD C_G
OUT C_GAS_RL * CUTTING GAS ON
********************* IGNITING GAS ********************* LD ( TORCH_1 OR TORCH_2 )
OR TORCH_3 AND I_GAS_OFF
AND ( I_G OR I_GAS_ON ) ANI ( MM2 OR MM30 ) OUT I_G
LD I_G
OUT I_GAS_RL * IGNITING GAS ON
*******************************POWER ON******************************** LD CTRL_ON
OR CTRL_ON_RL AND ESTOP1