📄 panel_01.pmc
字号:
//
// File: sncpanel.plc - Main IO for SODICK NC Panel.
//
// This PLC program generates an interrupt (via EQUx) on the PC bus
// each time an input bit changes states. DPRAM is used to alter
// the states of the I/O bits by both PMAC and the PC.
//
// This program can be easily expanded to include more or different
// types of IO devices.
//
// Both PMAC and the PC will use the appropriate DPRAM location
// to modify an output bit or read an input bit. These addresss are
// located in the file "address.h" included with the current DLL.
//
// Version 3.1
// ************************************************************************
//Change Log:
// 1. I/O map. yao. where 97.11.4 appears.
#include <address.h>
#include <oemm.h>
#include <oem.h>
#include <tsodick1.h>
#include <tsodick2.h>
#include <tsodick3.h>
OPEN PLC 1 CLEAR
// ///////////////////////////////////////////////////////////////////
// INIT SECTION ------------------------------------------------------
// ///////////////////////////////////////////////////////////////////
//{
/////////////////////GENERAL I/O ON GPCP-01////////////////////////
VS_GGROUP1_1_M = 1
IN_1_CHNG_M=ACC34_1A // update the DPRAM
IN_1_M=IN_1_CHNG_M
OUT_1_M =0
OUT_1_CHNG_M=OUT_1_M // update out "saved" word
ACC34_1B=OUT_1_M // write it out to GPCP-01
SOURCE_PUSHED = 0
/////////////////////GENERAL I/O ON GPIO-01 #1////////////////////////
IN_2_CHNG_M=ACC34_2A // update the DPRAM
IN_2_M=IN_2_CHNG_M
OUT_2_M =0
OUT_2_CHNG_M=OUT_2_M // update out "saved" word
ACC34_2B=OUT_2_M // write it out to GPCP-01
SOURCE_ON_FLAG=1 //yao,97-7-30
POWER_SW_2_PUSH=0
DRIVER_RESET_M = 0
IN_JGFD_M = $0 //for don't move jog feed 2m/min '98.1.19
IN_SW_M = $0 //for SWITCH INIT '98.1.27
CPANEL_IN_SAVE_M = $0 //for SWITCH INIT '98.1.27
@SET_ON(OUT_1_M,PC_ON_LATCH)
CMD"a"
// ///////////////////////////////////////////////////////////////////
// LOOP SECTION ------------------------------------------------------
// ///////////////////////////////////////////////////////////////////
While (1 < 2) ;//{
///////////////////////////////////////////////////////////////////////
// GENERAL IN ---------------------------------------------------------
///////////////////////////////////////////////////////////////////////
//GPCP******************************************************************
IN_1_CHNG_M=ACC34_1A // read GPCP-01 general input word and save it
If (IN_1_M != IN_1_CHNG_M) // has one Ormore input bit(s) changed?
IN_1_M=IN_1_CHNG_M // update change flag
// generate an interrupt!
;IN_1_CHNG_P=1
;ELSE
;IN_1_CHNG_P=0
EndIf
IN_2_CHNG_M=ACC34_2A // read GPIO-01 #2's input word and save it
If (IN_2_M != IN_2_CHNG_M) // has one Ormore input bit(s) changed?
IN_2_M=IN_2_CHNG_M // update change flag
// generate an interrupt!
;IN_2_CHNG_P=1
;ELSE
;IN_2_CHNG_P=0
EndIf
// ///////////////////////////////////////////////////////////////////
// Control Panel hardware read ---------------------------------------
// ///////////////////////////////////////////////////////////////////
// ______________________________________________________________
// NOTE THAT IN WHAT FOLLOWS THE NUMBERS 10 AND $10 ARE DIFFERENT
/////////////////////EXCLUSIVE I/O ON GPCP-01/////////////////////////
//{
////////////////////////////////////////////////////////////////////////
// CPANEL_IN_M DP:$
//| X | Y |
// 12 8 4 0 12 8 4 0
//| | | | | | zOVR FOVR | FUN1-8| |
// *$1000000 *$10000 *$100 *$1
/////////////////////////////////////////////////////////////////////////
// FUNC1-8 SELECT
//-------------------------
//SW_FUNC1 1 //往复启停
//SW_FUNC2 2 //修整启停
// SW_FUNC3 4 //旋转启停
//SW_FUNC4 8 //准停
// SW_FUNC5 10 //吸尘启停
// SW_FUNC6 SW_MGY 20 // 手脉启停
// SW_FUNC7 SW_UV 40 // U/V手脉
FUNC1_8_IN_SAVE_M=TO_FRO_IN__M|(MEND_IN__M*$2)|(SPIN_IN__M*$4)
FUNC1_8_IN_SAVE_M=FUNC1_8_IN_SAVE_M|(INPOS_IN__M*$8)|(DUST_IN__M*$10)
FUNC1_8_IN_SAVE_M=FUNC1_8_IN_SAVE_M|(MGY_IN__M*$20)|(UVMGY_IN__M*$40)
CPANEL_IN_M = FUNC1_8_IN_SAVE_M
// FEED OVRD
//-------------------------------
FOVRD_IN_SAVE_M=FOVRD1_IN_SAVE_M|(FOVRD2_IN_SAVE_M*$2)|(FOVRD3_IN_SAVE_M*$4)|(FOVRD4_IN_SAVE_M*$8)
CPANEL_IN_M = CPANEL_IN_M | (FOVRD_IN_SAVE_M*$100)
// ZA OVRD
//--------------------------
ZOVRD_IN_SAVE_M=ZOVRD1_IN_SAVE_M|(ZOVRD2_IN_SAVE_M*$2)|(ZOVRD3_IN_SAVE_M*$4)|(ZOVRD4_IN_SAVE_M*$8)
CPANEL_IN_M = CPANEL_IN_M | (ZOVRD_IN_SAVE_M*$1000)
//mode
MODE_IN_M=MOD1_IN__M|(MOD2_IN__M*$2)
CPANEL_IN_M = CPANEL_IN_M|(MODE_IN_M*$10000)
//------------------------------------- LATCH THE REGISTERS
// SW_EMERGENCY_STOP 1 // $00000001
// SW_CYCLE_START 2 // $00000002
// SW_FEED_HOLD 4 // $00000004/
// SW_RESET 8 // $00000008/
// SW_SERVO_ON 16 // $00000010
// SW_MGY_CZAB_ON 16
// SW_SOURCE_OFF 32 // $00000020
//MGY_IN
//UVMGY_IN
//-------------------------------------
IN_SW_CHNG_M = EMG_IN_SAVE_M|(STRAT_IN__M*$2)|(HOLD_IN__M*$4)|(RESET_IN__M*$8)
IN_SW_CHNG_M=IN_SW_CHNG_M|(MGY_CZAB_ON__M*$10)|(SOFF_IN_SAVE_M*$20)
//IN_SW_CHNG_M=IN_SW_CHNG_M|(SERVO_ON_IN __M*$10)|(SOFF_IN_SAVE_M*$20)
//-------------------------------------
// AXIS_IN_SAVE_M // JOGINC_IN_SAVE_M// SMPY_IN_SAVE_M //MODE_IN_SAVE_M//JOG(-/+)
AXIS_IN_SAVE_M=AXIS1_IN_SAVE_M|(AXIS2_IN_SAVE_M*$2)|(AXIS3_IN_SAVE_M*$4)
JOGINC_IN_SAVE_M=JOGINC1_IN_SAVE_M|(JOGINC2_IN_SAVE_M*$2)|(JOGINC3_IN_SAVE_M*$4)
SMPY_IN_SAVE_M=SMPY1_IN_SAVE_M|(SMPY2_IN_SAVE_M*$2)
IN_JGFD_CHNG_M =AXIS_IN_SAVE_M|(JOGINC_IN_SAVE_M*$8)|(SMPY_IN_SAVE_M*$40)
IN_JGFD_CHNG_M=IN_JGFD_CHNG_M|(X_PLUS_IN__M*$10000)|(X_MINUS_IN__M*$20000)
IN_JGFD_CHNG_M=IN_JGFD_CHNG_M|(Y_PLUS_IN__M*$40000)|(Y_MINUS_IN__M*$80000)
IN_JGFD_CHNG_M=IN_JGFD_CHNG_M|(U_PLUS_IN__M*$100000)|(U_MINUS_IN__M*$200000)
IN_JGFD_CHNG_M=IN_JGFD_CHNG_M|(V_PLUS_IN__M*$400000)|(V_MINUS_IN__M*$800000)
IN_JGFD_CHNG_M=IN_JGFD_CHNG_M|(C_PLUS_IN__M*$1000000)|(C_MINUS_IN__M*$2000000)
IN_JGFD_CHNG_M=IN_JGFD_CHNG_M|(Z_PLUS_IN__M*$4000000)|(Z_MINUS_IN__M*$8000000)
IN_JGFD_CHNG_M=IN_JGFD_CHNG_M|(A_PLUS_IN__M*$10000000)|(A_MINUS_IN__M*$20000000)
IN_JGFD_CHNG_M=IN_JGFD_CHNG_M|(B_PLUS_IN__M*$40000000)|(B_MINUS_IN__M*$80000000)
///////////ADDED BY LI.Z 97.05.09//////////////////////
//Remmember this:
//IN_LIM_CHNG_M = IN_6_M,Y:$DFE5 (REAL CHANGING INPUT)
//IN_LIM_M = IN_6_CHNG_M,Y:$DFF5 (NCUI.EXE DETECTS IT)
///////////////////////////////////////////////////////
IN_LIM_CHNG_M=IN_LIM_M
IN_LIM_CHNG_M=IN_LIM_CHNG_M & $F000
IN_LIM_CHNG_M=IN_LIM_CHNG_M | (X_OT2_LIMIT_M)
IN_LIM_CHNG_M=IN_LIM_CHNG_M | (Y_OT2_LIMIT_M*$2)
IN_LIM_CHNG_M=IN_LIM_CHNG_M | (U_OT2_LIMIT_M*$4)
IN_LIM_CHNG_M=IN_LIM_CHNG_M | (V_OT2_LIMIT_M*$8)
IN_LIM_CHNG_M=IN_LIM_CHNG_M | (C_OT2_LIMIT_M*$20)
IN_LIM_CHNG_M=IN_LIM_CHNG_M | (Z_OT2_LIMIT_M*$40)
IN_LIM_CHNG_M=IN_LIM_CHNG_M | (X_ORG_LIMIT_M*$80)
IN_LIM_CHNG_M=IN_LIM_CHNG_M | (Y_ORG_LIMIT_M*$100)
IN_LIM_CHNG_M=IN_LIM_CHNG_M | (U_ORG_LIMIT_M*$200)
IN_LIM_CHNG_M=IN_LIM_CHNG_M | (V_ORG_LIMIT_M*$400)
IN_LIM_CHNG_M=IN_LIM_CHNG_M | (C_ORG_LIMIT_M*$800)
IN_LIM_CHNG_M=IN_LIM_CHNG_M | (Z_ORG_LIMIT_M*$1000)
IN_LIM_CHNG_M=IN_LIM_CHNG_M | (A_ORG_LIMIT_M*$2000)
IN_LIM_CHNG_M=IN_LIM_CHNG_M | (B_ORG_LIMIT_M*$2000)
If (IN_LIM_M != IN_LIM_CHNG_M)
IN_LIM_M = IN_LIM_CHNG_M
EndIf
/********************************************************************/
//new driver error detector
DERR_FLAG_BUF_M = 0
DERR_BUF_M = 0
DERR_FLAG_BUF_M = AMP1_FAULT_IN_M
DERR_BUF_M = UVW_X_M
DERR_FLAG_BUF_M = DERR_FLAG_BUF_M |(AMP2_FAULT_IN_M * $2)
DERR_BUF_M = DERR_BUF_M |(UVW_Y_M * $10)
DERR_FLAG_BUF_M = DERR_FLAG_BUF_M |(AMP3_FAULT_IN_M * $4)
DERR_BUF_M = DERR_BUF_M |(UVW_U_M * $100)
DERR_FLAG_BUF_M = DERR_FLAG_BUF_M |(AMP4_FAULT_IN_M * $8)
DERR_BUF_M = DERR_BUF_M |(UVW_V_M * $1000)
DERR_FLAG_BUF_M = DERR_FLAG_BUF_M |(AMP5_FAULT_IN_M * $10)
DERR_BUF_M = DERR_BUF_M |(UVW_C_M * $10000)
DERR_FLAG_BUF_M = DERR_FLAG_BUF_M |(AMP6_FAULT_IN_M * $20)
DERR_BUF_M = DERR_BUF_M |(UVW_Z_M * $100000)
DERR_FLAG_BUF_M = DERR_FLAG_BUF_M |(AMP7_FAULT_IN_M * $40)
DERR_BUF_M = DERR_BUF_M |(UVW_A_M * $1000000)
DERR_FLAG_BUF_M = DERR_FLAG_BUF_M |(AMP8_FAULT_IN_M * $80)
DERR_BUF_M = DERR_BUF_M |(UVW_B_M * $10000000)
DERR_FLAG_M = DERR_FLAG_BUF_M
DRIVE_ERROR_M = DERR_BUF_M
/////////////////////////////////////////////////////////////////////
//Control Panel hardware processing ---------------------------------
/////////////////////////////////////////////////////////////////////
//------------------------------------------------------------------
If (C_MODE_M = SEL_MODE_MANUAL And SS_MODE_PREV != SEL_MODE_MANUAL)
SS_MODE_PREV = SEL_MODE_MANUAL
EndIf
If (Z_OVR_NO_FLG = 1)
C_ZOVRD_M=4
EndIf
If (FEED_OVR_NO_FLG = 1)
C_FOVRD_M=4
EndIf
// ///////////////////////////////////////////////////////////////////
// Control Panel hardware service request ----------------------------
// ///////////////////////////////////////////////////////////////////
// -------------------------------------- Hardware and last Command not same?
If (CPANEL_IN_SAVE_M != CPANEL_IN_M) //{
// -------------------------------------- PMAC to PC request generation
CPANEL_IN_SAVE_M = CPANEL_IN_M // Set Command request
//-----------------------------------------JOG MODE SEL PROCESS
If (MODE_IN_SAVE_M != MODE_IN_M)
MODE_IN_SAVE_M = MODE_IN_M
C_MODE_M = MODE_IN_SAVE_M //IN_MODES_M is the high 4 bit of IN_JGFD_M
If (MODE_IN_SAVE_M = 3)
C_MODE_M = 2
EndIf
If (MODE_IN_SAVE_M = 2)
C_MODE_M = 3
EndIf
S_MODE_M = C_MODE_M
//CMD"A"
EndIf
If (Z_OVR_NO_FLG != 1) //{
C_ZOVRD_M = ZOVRD_IN_SAVE_M
Else
C_ZOVRD_M=4
EndIf
If (FEED_OVR_NO_FLG != 1)
C_FOVRD_M = FOVRD_IN_SAVE_M
C_ROVRD_M = FOVRD_IN_SAVE_M
C_FEED_M = FOVRD_IN_SAVE_M
Else
C_FOVRD_M = 4
EndIf
//-----------------------------------------------------------
If (FUNC_SW_NO = 5)
If (@OFF(FUNC1_8_IN_SAVE_M,SW_FUNC5))
If (FUNC5_SW_2_PUSH = 0)
FUNC5_SW_2_PUSH=1
Else
FUNC5_SW_2_PUSH=0
EndIf
FUNC_SW_NO=0
EndIf
EndIf
If (FUNC_SW_NO = 1)
If (@OFF(FUNC1_8_IN_SAVE_M,SW_FUNC1))
If (FUNC1_SW_2_PUSH = 0)
FUNC1_SW_2_PUSH=1
Else
FUNC1_SW_2_PUSH=0
EndIf
FUNC_SW_NO=0
EndIf
EndIf
If (C_MODE_M = SEL_MODE_MANUAL)// manual mode{
If (FUNC_SW_NO = 2)
If (@OFF(FUNC1_8_IN_SAVE_M,SW_FUNC2))
If (FUNC2_SW_2_PUSH = 0)
FUNC2_SW_2_PUSH=1
Else
FUNC2_SW_2_PUSH=0
EndIf
FUNC_SW_NO=0
EndIf
EndIf
If (FUNC_SW_NO = 3)
If (@OFF(FUNC1_8_IN_SAVE_M,SW_FUNC3))
If (FUNC3_SW_2_PUSH = 0)
FUNC3_SW_2_PUSH=1
Else
FUNC3_SW_2_PUSH=0
EndIf
FUNC_SW_NO=0
//F6_NOISE_FILTER=0
EndIf
EndIf
If (FUNC_SW_NO = 4)
If (@OFF(FUNC1_8_IN_SAVE_M,SW_FUNC4))
If (FUNC4_SW_2_PUSH = 0)
FUNC4_SW_2_PUSH=1
Else
FUNC4_SW_2_PUSH=0
EndIf
;@SET_OFF(CS_COMMAND8_M,CS_INPOS)
/*;If (@ON(MOTOR3_STATUS_M,1))
;@SET_OFF(OUT_2_M,INPOS_LED)
;Else*/
; @SET_ON(OUT_2_M,INPOS_LED)
;EndIf
FUNC_SW_NO=0
EndIf
EndIf
If (FUNC_SW_NO = 6)
If (@OFF(FUNC1_8_IN_SAVE_M,SW_FUNC6))
If (FUNC6_SW_2_PUSH = 0)
FUNC6_SW_2_PUSH=1
Else
FUNC6_SW_2_PUSH=0
EndIf
FUNC_SW_NO=0
EndIf
EndIf
ENDIF // MANUAL MODE }
/*If (C_MODE_M != SEL_MODE_MANUAL)// NOT manual mode{
If (FUNC_SW_NO = 7)
If (@OFF(FUNC1_8_IN_SAVE_M,SW_FUNC7))
If (FUNC7_SW_2_PUSH = 0)
FUNC7_SW_2_PUSH=1
Else
FUNC7_SW_2_PUSH=0
EndIf
FUNC_SW_NO=0
EndIf
EndIf
ENDIF // NOT MANUAL MODE }*/
Else
//-----------------------------------------FUNC1-4 PROCESS
//yao. to disable all the function switchs when homing.
If (@ON(FUNC1_8_IN_SAVE_M,SW_FUNC5)) //吸尘启停
F5_NOISE_FILTER=F5_NOISE_FILTER+1
If (F5_NOISE_FILTER > NOISE_DETECT_CYCLE)
F5_NOISE_FILTER=0
FUNC_SW_NO=5
If (FUNC5_SW_2_PUSH = 1)
@SET_OFF(CS_COMMAND8_M,CS_CUST)
@SET_OFF(OUT_2_M,DUST_LED)
Else
@SET_ON(CS_COMMAND8_M,CS_CUST)
@SET_ON(OUT_2_M,DUST_LED)
EndIf
EndIf
EndIf
;If (@OFF(MOTOR1_STATUS_M,$400))
;AND (@OFF(MOTOR1_STATUS_M,1)) //home in progress
;OR(@OFF(MOTOR2_STATUS_M,$400))
;AND (@OFF(MOTOR2_STATUS_M,1))
;OR(@OFF(MOTOR3_STATUS_M,$400))
;AND (@OFF(MOTOR3_STATUS_M,1))
;OR(@OFF(MOTOR5_STATUS_M,$400))
;AND (@OFF(MOTOR5_STATUS_M,1))
;OR(@OFF(MOTOR6_STATUS_M,$400))
;AND (@OFF(MOTOR6_STATUS_M,1))
;OR(@OFF(MOTOR7_STATUS_M,$400))
;AND (@OFF(MOTOR7_STATUS_M,1))
;OR(@OFF(MOTOR8_STATUS_M,$400))
;AND (@OFF(MOTOR8_STATUS_M,1))
;Else
//------------------------------------------FUNC5-8 PROCESS
If (@ON(FUNC1_8_IN_SAVE_M,SW_FUNC1)) //往复启停
F1_NOISE_FILTER=F1_NOISE_FILTER+1
If (F1_NOISE_FILTER > NOISE_DETECT_CYCLE)
F1_NOISE_FILTER=0
FUNC_SW_NO=1
If (FUNC1_SW_2_PUSH = 1)
@SET_OFF(CS_COMMAND8_M,CS_TO_FRO)
@SET_OFF(OUT_2_M,TO_FRO_LED)
Else
@SET_ON(CS_COMMAND8_M,CS_TO_FRO)
@SET_ON(OUT_2_M,TO_FRO_LED)
@SET_OFF(OUT_2_M,INPOS_LED)
EndIf
EndIf
EndIf
If (C_MODE_M = SEL_MODE_MANUAL)// manual mode{
If (@ON(FUNC1_8_IN_SAVE_M,SW_FUNC2)) //修整启停
F2_NOISE_FILTER=F2_NOISE_FILTER+1
If (F2_NOISE_FILTER > NOISE_DETECT_CYCLE)
F2_NOISE_FILTER=0
FUNC_SW_NO=2
If (FUNC2_SW_2_PUSH = 1)
@SET_OFF(CS_COMMAND8_M,CS_MEND)
@SET_OFF(OUT_2_M,MEND_LED)
Else
@SET_ON(CS_COMMAND8_M,CS_MEND)
@SET_ON(OUT_2_M,MEND_LED)
EndIf
EndIf
EndIf
If (@ON(FUNC1_8_IN_SAVE_M,SW_FUNC3)) //旋转启停
F3_NOISE_FILTER=F3_NOISE_FILTER+1
If (F3_NOISE_FILTER > NOISE_DETECT_CYCLE)
F3_NOISE_FILTER=0
FUNC_SW_NO=3
If (FUNC3_SW_2_PUSH = 1)
@SET_OFF(CS_COMMAND8_M,CS_SPIN)
@SET_OFF(OUT_2_M,SPIN_LED)
Else
@SET_ON(CS_COMMAND8_M,CS_SPIN)
@SET_ON(OUT_2_M,SPIN_LED)
EndIf
EndIf
EndIf
If (@ON(FUNC1_8_IN_SAVE_M,SW_FUNC4)) //准停
F4_NOISE_FILTER=F4_NOISE_FILTER+1
If (F4_NOISE_FILTER > NOISE_DETECT_CYCLE)
F4_NOISE_FILTER=0
FUNC_SW_NO=4
If (FUNC4_SW_2_PUSH = 1)
@SET_OFF(CS_COMMAND8_M,CS_INPOS)
@SET_OFF(OUT_2_M,INPOS_LED)
Else
If (@ON(CS_COMMAND8_M,CS_TO_FRO))
FUNC1_SW_2_PUSH = 0
@SET_OFF(CS_COMMAND8_M,CS_TO_FRO)
@SET_OFF(OUT_2_M,TO_FRO_LED)
@SET_ON(CS_COMMAND8_M,CS_INPOS)
@SET_ON(OUT_2_M,INPOS_LED)
Else
@SET_ON(CS_COMMAND8_M,CS_INPOS)
@SET_ON(OUT_2_M,INPOS_LED)
EndIf
EndIf
;EndIf
EndIf
EndIf
If (@ON(FUNC1_8_IN_SAVE_M,SW_FUNC6)) //手脉
F6_NOISE_FILTER=F6_NOISE_FILTER+1
If (F6_NOISE_FILTER > NOISE_DETECT_CYCLE)
F6_NOISE_FILTER=0
FUNC_SW_NO=6
If (FUNC6_SW_2_PUSH = 1)
@SET_OFF(CS_COMMAND8_M,CS_MGY)
@SET_OFF(C_JOG_M,SEL_JOG_HANDLE)
@SET_OFF(OUT_2_M,MGY_LED)
Else
@SET_ON(CS_COMMAND8_M,CS_MGY)
@SET_ON(C_JOG_M,SEL_JOG_HANDLE)
@SET_ON(OUT_2_M,MGY_LED)
EndIf
EndIf
EndIf
ENDIF // MANUAL MODE }
If (C_MODE_M != SEL_MODE_MANUAL)//NOT manual mode{
If (@ON(FUNC1_8_IN_SAVE_M,SW_FUNC7)) //U/V手脉
F7_NOISE_FILTER=F7_NOISE_FILTER+1
If (F7_NOISE_FILTER > NOISE_DETECT_CYCLE)
F7_NOISE_FILTER=0
; FUNC_SW_NO=7
@SET_ON(CS_COMMAND8_M,CS_UVMGY)
@SET_ON(OUT_2_M,UV_LED)
EndIf
Else
@SET_OFF(CS_COMMAND8_M,CS_UVMGY)
@SET_OFF(OUT_2_M,UV_LED)
EndIf
ENDIF //NOT MANUAL MODE }
;EndIf // home in progress
EndIf
//---------------------------------------JOG & FEED RATE PROCESS
If (IN_JGFD_M != IN_JGFD_CHNG_M) // { has one Ormore input bit(s) changed?
IN_JGFD_M=IN_JGFD_CHNG_M // update change flag
C_JOGINC_M = JOGINC_IN_SAVE_M
If (@ON(C_JOGINC_M,SEL_JOG_S))
@SET_ON(C_JOG_M,SEL_JOG_CONT)
@SET_OFF(C_JOG_M,SEL_JOG_INC)
Else
@SET_ON(C_JOG_M,SEL_JOG_INC)
@SET_OFF(C_JOG_M,SEL_JOG_CONT)
EndIf
C_AXIS_M = AXIS_IN_SAVE_M
C_DIST_M = SMPY_IN_SAVE_M
;VS_HAND_STEP_M = SMPY_IN_SAVE_M
Else
//------------------------------------
If (C_MODE_M = SEL_MODE_MANUAL) // manual mode{
If (@OFF(ES_ERR_FATAL_M,MANUAL_LIMIT)) //POWER ON{
If (@ON(IN_1_M,X_PLUS)) //{
@SET_OFF(CS_COMMAND6_M,CS_JOG_X_MINUS)
@SET_OFF(CS_COMMAND3_M,CS_JOG_STOP)
@SET_ON(CS_COMMAND6_M,CS_JOG_X_PLUS)
Else
If (@ON(IN_1_M,X_MINUS)) //{
@SET_OFF(CS_COMMAND6_M,CS_JOG_X_PLUS)
@SET_OFF(CS_COMMAND3_M,CS_JOG_STOP)
@SET_ON(CS_COMMAND6_M,CS_JOG_X_MINUS)
Else
@SET_OFF(CS_COMMAND6_M,CS_JOG_X_PLUS)
@SET_OFF(CS_COMMAND6_M,CS_JOG_X_MINUS)
@SET_ON(CS_COMMAND3_M,CS_JOG_STOP)
ENDIF //}
ENDIF //}
If (@ON(IN_1_M,Y_PLUS)) //{
@SET_OFF(CS_COMMAND6_M,CS_JOG_Y_MINUS)
@SET_OFF(CS_COMMAND3_M,CS_JOG_STOP)
@SET_ON(CS_COMMAND6_M,CS_JOG_Y_PLUS)
Else
If (@ON(IN_1_M,Y_MINUS)) //{
@SET_OFF(CS_COMMAND6_M,CS_JOG_Y_PLUS)
@SET_OFF(CS_COMMAND3_M,CS_JOG_STOP)
@SET_ON(CS_COMMAND6_M,CS_JOG_Y_MINUS)
Else
@SET_OFF(CS_COMMAND6_M,CS_JOG_Y_PLUS)
@SET_OFF(CS_COMMAND6_M,CS_JOG_Y_MINUS)
@SET_ON(CS_COMMAND3_M,CS_JOG_STOP)
ENDIF //}
ENDIF //}
If (@ON(IN_1_M,U_PLUS)) //{
@SET_OFF(CS_COMMAND6_M,CS_JOG_U_MINUS)
@SET_OFF(CS_COMMAND3_M,CS_JOG_STOP)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -