⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 oemm.h

📁 基于PMAC运动控制卡的八轴数控磨床PLC运动控制程序
💻 H
📖 第 1 页 / 共 2 页
字号:
///////////////////////////////////////////////////////////////////////////
//    File: OEMM.H
//
//        Header file for common defines used by the OEM.
//22
//
///////////////////////// Naming Conventions //////////////////////////////
//
// 1. At beginning of macro name:
//
//  A. VARIABLE
//
//    CS  = DPRAM Command/Status related value matching that used by DLL.
//    ES  = DPRAM Error/Status related value matching that used by DLL.
//    PC  = PC DPRAM related value used by DLL.
//    VS  = DPRAM Value/Status related value matching that used by DLL.
//
//  B. INPUTS
//
//    FS = Float switch or Foot switch.
//    LS = Limit switch.
//    PB = Push Button.
//    PS = Pressure switch.
//    PX = Proximity switch.
//    SS = Selector switch.
//
//  C. OUTPUTS
//
//    CL = Coil.
//    LT = Light
//    SL = Solenoid.
//
// 2. At end of macro name:
//
//    ADR = Address
//    OFS = Offset
//    BM  = Bit Map
//    M   = PMAC 'M' pointer
//    L   = PLCC L-Varible
//
/////////////////// Default PMAC/PC Variable Locations ////////////////////
//
// Function    | M Var Range | P Var Range / L Var Range | Prog Name   | DPRAM Addr
// ---------------------------------------------------------------------------------------
// Address.h   : M0..M279    :             :             : DLL         :
// ------------:--------------------------------------------------------------------------
// Oemm.h      : M280..M339  :             :             : Predefine common used variables
//----------------------------------------------------------------------------------------
// Oem.h       : M340..Mxxxx :             :             : For PLC usage
//----------------------------------------------------------------------------------------
//////////////////////////////////////////////////////////////////////////////////////////
;#include <address.h>

#ifndef OEMM_H
#define OEMM_H

///////////////////////////////////////////////////////////////////////////
// Timers
///////////////////////////////////////////////////////////////////////////
//Define the four CS. timer 
#define TIMER_1_M    M280
#define TIMER_1_ADR  Y:$2015,0,24,s ;Y:$0700,0,24,s

#define TIMER_2_M    M281
#define TIMER_2_ADR  X:$02015,0,24,s ;X:$0700,0,24,s

#define TIMER_3_M    M282
#define TIMER_3_ADR  Y:$2115,0,24,s ;Y:$0701,0,24,s

#define TIMER_4_M    M283
#define TIMER_4_ADR  X:$2115,0,24,s ;X:$0701,0,24,s

///////////////////////////////////////////////////////////////////////////////
// Interupts
////////////////////////////////////////////////////////////////////////
#define EQU1_M              M284
#define INTR_SEQ_MM         M284=0M284=1
#define EQU1B_M             M285
#define EQU2_M              M286

#define VME_INT_LEVEL_M     M287
#define VME_INT_VECTOR_M    M288
// ACC 34 stuff -----------------------------------------------------------

#define ACC34_1A            M290        ;// Acc-34 #1 Port A
#define ACC34_1B            M291        ;// Acc-34 #1 Port B
#define ACC34_2A            M292        ;// Acc-34 #2 Port A
#define ACC34_2B            M293        ;;/ Acc-34 #2 Port B
;#define ACC34_3A           M294        ;// Acc-34 #3 Port A
;#define ACC34_3B           M295        ;// Acc-34 #3 Port B
;#define ACC34_4A           M296        ;// Acc-34 #4 Port A
;#define ACC34_4B           M297        ;// Acc-34 #4 Port B
;#define ACC34_5A           M298        ;// Acc-34 #5 Port A
;#define ACC34_5B           M299        ;// Acc-34 #5 Port B
;;define ACC34_6A           M300        ;// Acc-34 #6 Port A
;#define ACC34_6B           M301        ;// Acc-34 #6 Port B
;#define ACC34_7A           M302        ;// Acc-34 #7 Port A
;#define ACC34_7B           M303        ;// Acc-34 #7 Port B
;#define ACC34_8A           M304        ;// Acc-34 #8 Port A
;#define ACC34_8B           M305        ;// Acc-34 #8 Port B

//////////////////////////////////////////////////////////////////////
// NC Panel Definitions
//////////////////////////////////////////////////////////////////////
// Y:$FFC1 THUMBWHEEL PORT
;#define CPANEL_IN_ADR       DP:$6001   ;// Use the memory space of P1
;#define CPANEL_IN_M         M306
#define CPANEL_TEMP          P260

#define IO_STATE_M          M307
///////// USE THESE DEFINES AND NOT THE ONES BELOW FOR PMAC 2's ////
#define IO_STATE_ADR	   Y:$078801,8,8	;//Turbo pMac1
#define IO_DATA_ADR	   Y:$078801,0,8	;//Turbo pMac1
//////////////////////////////////////////////////////////
//#define IO_STATE_ADR     Y:$C082,8,8  // PMAC 2
//#define IO_DATA_ADR      Y:$C082,0,8  // PMAC 2
////////////////////////////////////////////////////////////////////
//#define IO_STATE_ADR      Y:$FFC1,8,8  // PMAC 1
//#define IO_DATA_ADR       Y:$FFC1,0,8  // PMAC 1
#define IO_DATA_M           M308
#define IO_TEMP             P262
#define IO_TEMP2            P263



#define SS_MODE_PREV        P291

#define SS_JOG_M            M309
#define SS_MODE_M           M310
#define SS_AXIS_M           M311
#define SS_FEED_M           M312
#define SS_ROVRD_M          M313
#define SS_SPND_M           M314
#define SS_FOVRD_M          M315
#define SS_SOVRD_M          M316

#define SS_JOG_ADR          Y:$6001,0,4,U   ;Y:$1001,0,4,U 
#define SS_MODE_ADR         Y:$6001,4,4,U   ; Y:$1001,4,4,U   
#define SS_AXIS_ADR         Y:$6001,8,4,U   ;
#define SS_FEED_ADR         Y:$6001,12,4,U  ;
#define SS_ROVRD_ADR        X:$6001,0,4,U   ;
#define SS_SPND_ADR         X:$6001,4,4,U   ;
#define SS_FOVRD_ADR        X:$6001,8,4,U
#define SS_SOVRD_ADR        X:$6001,12,4,U

SS_JOG_M->SS_JOG_ADR
SS_MODE_M->SS_MODE_ADR
SS_AXIS_M->SS_AXIS_ADR
SS_FEED_M->SS_FEED_ADR
SS_ROVRD_M->SS_ROVRD_ADR
SS_SPND_M->SS_SPND_ADR
SS_FOVRD_M->SS_FOVRD_ADR
SS_SOVRD_M->SS_SOVRD_ADR


#define HANDLE_DATA_M       M317
#define HANDLE_DATA_ADR     Y:$10F0,0,24,S  ;Y:$0770,0,24,S


// Homing Defines //////////////////////////////////////////////////////////

#define HOME_COMPLETE_1_M       M320
#define HOME_COMPLETE_2_M       M321
#define HOME_COMPLETE_3_M       M322
#define HOME_COMPLETE_4_M       M323
#define HOME_COMPLETE_5_M       M324
#define HOME_COMPLETE_6_M       M325
#define HOME_COMPLETE_7_M       M326
#define HOME_COMPLETE_8_M       M327


// Motion Defines //////////////////////////////////////////////////////////
// These are used to determine PMAC's current motion mode.
//
// MODE     MOTION_MODE MOTION_EXT
//              & 3
//--------------------------------
// RAPID        2           0
// LINEAR       0           0
// CIR1         1           0
// CIR2         3           0
// SPLINE1      1           1
// PVT          0           1

#define MOTION_MODE_M           M330
#define MOTION_MODE_ADR         Y:$203F,0,4  ;;Y:$0817,0,4
#define MOTION_EXT_M            M331
#define MOTION_EXT_ADR          Y:$203F,4,1 ;Y:$0817,4,1

#define MOTION2_MODE_M          M332
#define MOTION2_MODE_ADR        Y:$203F,0,4 ;Y:$08D7,0,4
#define MOTION2_EXT_M           M333
#define MOTION2_EXT_ADR         Y:$203F,4,1 ;Y:$08D7,4,1

#define IN_POSITION_M           M334
#define IN_POSITION_ADR         Y:$203F,17,1  ;Y:$0817,17,1
#define IN_POSITION2_M          M335
#define IN_POSITION2_ADR        Y:$203F,17,1  ;Y:$08D7,17,1

MOTION_MODE_M->MOTION_MODE_ADR
MOTION_EXT_M->MOTION_EXT_ADR
MOTION2_MODE_M->MOTION2_MODE_ADR
MOTION2_EXT_M->MOTION2_EXT_ADR
IN_POSITION_M->IN_POSITION_ADR
IN_POSITION2_M->IN_POSITION2_ADR

#define  CONT_MOTION_REQ_M      M336
#define  CONT_MOTION_REQ_ADR    X:$2040,4,1 ;X:$818,4,1
#define  CONT_MOTION2_REQ_M     M337
#define  CONT_MOTION2_REQ_ADR   X:$2040,4,1 ;X:$8D8,4,1
CONT_MOTION_REQ_M->CONT_MOTION_REQ_ADR
CONT_MOTION2_REQ_M->CONT_MOTION2_REQ_ADR
#define  RUNNING_PROG_STAT_M     M338
#define  RUNNING_PROG_STAT_ADR   X:$2040,0,1 ;X:$8D8,0,1
RUNNING_PROG_STAT_M->RUNNING_PROG_STAT_ADR
// General Defines /////////////////////////////////////
// Misc storage used by various programs. Stored here to
// prevent cross multiple reference and save space.
#define TEMP                Q31
#define MIRROR_FLAG         Q32
#define X_INTER_PT          Q33
#define Y_INTER_PT          Q34
#define Z_INTER_PT          Q35
#define X_RPLANE            Q36
#define FULL_RETRACT        Q37
#define DELTA_D             Q38
#define D_FINISH            Q39
#define D_MINIMUM           Q40
#define TAN_ALPHA           Q41
#define TAPER               Q42
#define D_PREVIOUS          Q43
#define CHAMFER_SIZE        Q44
#define CHAMFER_LEADS       Q45
#define THREAD_HT           Q46
#define SAVED_TIMEBASE_FLAG Q47
#define DWELL_TIME          Q48
#define C_POS               Q49
//#define X_RELIEF          Q50
//#define Z_RELIEF          Q51
// FOR FEEDER ACTION OF YAMAKOU 2000.09.14
#define X_START_PNT         Q50
#define Y_START_PNT         Q51
#define X_PECK              Q52
#define Z_PECK              Q53
//#define X_START           Q54
//#define Z_START           Q55
// FOR FEEDER ACTION OF YAMAKOU 2000.09.14
#define Z_START_PNT         Q54
#define U_START_PNT         Q55
#define X_PECK_CLEARANCE    Q56
#define Z_PECK_CLEARANCE    Q57
#define X_DEPTH             Q58
#define DISABLE_OVRD        Q59
#define CHANGE_STATE        Q60
#define LEFT_TURRET         Q61
#define SPINDLE_WAS_ON      Q62
#define NEW_TOOL            Q63
#define CUR_TOOL            Q64
#define SPINDLE_RPM_PREV    Q65
#define CUTING_FEED_MODE    Q66
#define THREAD_FEED_MODE    Q67
#define DRYRUN_FEED_MODE    Q68
#define CANNED_CYCLE_MODE   Q69
#define REPEATS             Q70
#define SUBROUTINE          Q71
#define FIRST_PECK          Q72
#define MINIMUM_PECK        Q73
#define NEXT_PECK           Q74
#define X_POS               Q75
#define Y_POS               Q76
#define Z_POS               Q77
#define Z_RPLANE            Q78
#define SPND_SPEED_DETECT   Q79
#define SAVED_TIMEBASE      Q80
#define SAVED_SLEWRATE      Q81
#define SPINDLE_DIR         Q82
#define STEP                Q83
#define ANGLE               Q84
#define RADIUS              Q85
#define START_ANGLE         Q86
#define X_CENTER            Q87
#define Y_CENTER            Q88
#define NUM_HOLES           Q89
#define ABS_MODE            Q90
#define SPND_ORIENT_ANGLE   Q91
#define X_PULLBACK          Q92
#define Y_PULLBACK          Q93
#define INIT_POINT_RETURN   Q94
#define PECK                Q95
// FOR SPECIAL SPECIFICATION OF YAMAKOU 2000.09.13
#define CHIP_CLEAN_CNT      Q96
#define Z_DEPTH             Q97
#define Z_CPLANE            Q98
#define Z_SPLANE            Q99

//yao 97.11.24
#define D_CLEARANCE	    Q151
//Below is defined for centering(Q151->Q174)
#define DIAMETER	    Q152
#define Z_SURFACE    	    Q153
#define R_ABOVE_Z	    Q154
#define K_BELOW_Z	    Q155
#define FEED_VELOCITY	    Q156
#define DIRECTION	    Q157
#define ITERATOR	    Q158

#define ALIGN_TYPE	     Q159
#define X_OFFSET_ALIGNED     Q160
#define Y_OFFSET_ALIGNED     Q161
#define COORDSYS_TO_ALIGN    Q162
#define MAX_SEARCH_DISTANCE  Q163

// yao. G28/29. remember the former transient point.
#define X_INTER_PT_2	     Q164
#define Y_INTER_PT_2	     Q165
#define Z_INTER_PT_2	     Q166

#define X_REF_PT_2	     Q167
#define Y_REF_PT_2	     Q168
#define Z_REF_PT_2	     Q169

#define CENTER_CLEARANCE     Q170
#define SPAN_X		     Q171
#define SPAN_Y		     Q172
#define POSI_OFFSET_X        Q173
#define POSI_OFFSET_Y        Q174
#define Z_OFFSET_ALIGNED     Q175
#define DEFAULT_PECK_CLEAR   0.125
#define ZERO_TOL             0.0001

//Q180 ~ Q189 reserved for Canned cycle.	yao
#define Z_REDUCTION	     Q180
#define	DWELL_SEC	     Q181
// Q Variables Passed to "Canned Cycles"////////////////////////////////////
// These variables are described in manual under "READ" command description
#define A_ARG_Q             Q101
#define B_ARG_Q             Q102
#define C_ARG_Q             Q103
#define D_ARG_Q             Q104
#define E_ARG_Q             Q105
#define F_ARG_Q             Q106
#define G_ARG_Q             Q107
#define H_ARG_Q             Q108
#define I_ARG_Q             Q109
#define J_ARG_Q             Q110
#define K_ARG_Q             Q111
#define L_ARG_Q             Q112
#define M_ARG_Q             Q113
#define N_ARG_Q             Q114
#define O_ARG_Q             Q115
#define P_ARG_Q             Q116
#define Q_ARG_Q             Q117
#define R_ARG_Q             Q118
#define S_ARG_Q             Q119
#define T_ARG_Q             Q120
#define U_ARG_Q             Q121
#define V_ARG_Q             Q122
#define W_ARG_Q             Q123
#define X_ARG_Q             Q124
#define Y_ARG_Q             Q125
#define Z_ARG_Q             Q126
#define S_CODE_Q            Q127

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -