MMC:CFG_1.0::
# MMC : RAPID PROGRAMMING RULES (HIRULE) FOR CLASS RLTRIG
# $Revision: 1.6 $

MMC_REAL_ROUTINE:
# -name	        Name of RAPID/ReaL routine eg. movel    (MAN)			
# -default_     Default parameter struct(15)		(OPT)
#  struct       Array position -> PGM's fix (max) parameter no
#               0   -> Optional parameter not present
#               1   -> Required/Optional parameter present
#               1-4 -> Optional alternative parameter present
#               eg. 0,1,1,0,1,0,1,0 for movel
# -last_struct  Last used parameter struct(15)		(OPT)
#               (cfg-file -> Not used
#                HIRULE   -> Update)
# ************* Translation to local language ************************
#     		-> None

-name triggio 		-default_struct 1,1,0,1,1,0
-name triggint		-default_struct 1,1,0,1
-name triggequip	-default_struct 1,1,0,1,1,1,0
-name triggcheckio  -default_struct 1,1,0,0,1,1,1,1,1
-name triggspeed	-default_struct 1,1,0,1,1,1,0,0,0
-name triggl 		-default_struct 0,1,1,0,1,0,0,0,0,0,1,0,1,0,0
-name triggc		-default_struct 0,1,1,1,0,1,0,0,0,0,0,1,0,1,0,0
-name triggj 		-default_struct 0,1,1,0,1,0,0,0,0,0,1,0,1,0

MMC_INST_NOT_REUSING_PREV_OPT_ARG:
#               Instructions with optional parameters/
#               Skip previous used optional parameter
#               in actual instruction.
# -name	        Name of RAPID/ReaL routine		(MAN)
#               eg. movel
# -param_nr	Parameter struct no			(MAN)
#               (PGM's fix (max) parameter no)

-name triggio		-param_nr 3,6
-name triggint		-param_nr 3
-name triggequip	-param_nr 3,7
-name triggspeed	-param_nr 3,7,8,9
-name triggcheckio  -param_nr 3,4
-name triggl		-param_nr 1,4,6,7,8,9,10,12
-name triggc		-param_nr 1,5,7,8,9,10,11,13
-name triggj		-param_nr 1,4,6,7,8,9,10,12


MMC_REAL_PARAM:
# -name	        Name of RAPID/ReaL routine_parameter	(MAN)
#               eg. movel_topoint
# -name_rule    Parameter name rule			(MAN)
#       NONE -> No rule means unexpanded placeholders
#       SEQ  -> Use sequence name rule as defined by       *)
#               - method hirule_robtarget
#       CUR  -> Use current name as defined by      
#               - method hirule_tooldata
#               - method hirule_wobjdata
#       LAST -> Use last programmed name or value          *)
#               Attribute -def_name -> Default name or value
#       DEF  -> Use default name or value as defined by
#               attribute -def_name
# -method       Reference to predefined method		(OPT)
#               -method hirule_robtarget
#               -method hirule_tooldata
#               -method hirule_wobjdata
# -def_name     The name or value for the rule LAST/DEF	(OPT)
#               *) HIRULE update
# ************* Below attributes not supported yet *******************
# -max_value    Max. value for data type num		(OPT)
#               (or alias of num)
# -min_value    Min. value for data type num		(OPT)
# -measure      Measurement unit for non-composite	(OPT)
#               data type eg. mm, s
# ************* Translation to local language ************************
#     		-> -def_name xxxx (if applicable)


-name triggio_triggdata	-name_rule NONE 
-name triggio_distance  -name_rule DEF  -def_name 0
-name triggio_dop  	-name_rule LAST
-name triggio_gop     	-name_rule LAST
-name triggio_aop       -name_rule LAST 
-name triggio_setvalue  -name_rule DEF  -def_name 0
-name triggio_dodelay   -name_rule LAST 
-name triggio_aoramp    -name_rule LAST

-name triggint_triggdata -name_rule NONE 
-name triggint_distance  -name_rule DEF  -def_name 0

-name triggequip_triggdata   -name_rule NONE 
-name triggequip_distance    -name_rule DEF  -def_name 0
-name triggequip_equiplag    -name_rule LAST  
-name triggequip_dop  	     -name_rule LAST
-name triggequip_gop         -name_rule LAST
-name triggequip_aop         -name_rule LAST 
-name triggequip_setvalue    -name_rule DEF  -def_name 0
-name triggequip_inhib       -name_rule LAST

-name triggspeed_triggdata   -name_rule NONE 
-name triggspeed_distance    -name_rule DEF  -def_name 0
-name triggspeed_scalelag    -name_rule LAST  
-name triggspeed_aop         -name_rule LAST 
-name triggspeed_scalevalue  -name_rule DEF  -def_name 0
-name triggspeed_diplag      -name_rule LAST
-name triggspeed_errdo       -name_rule LAST
-name triggspeed_inhib       -name_rule LAST

-name triggcheckio_triggdata	-name_rule NONE 
-name triggcheckio_distance		-name_rule DEF  -def_name 0
-name triggcheckio_signal  		-name_rule LAST
-name triggcheckio_relation		-name_rule LAST
-name triggcheckio_checkvalue	-name_rule LAST 
-name triggcheckio_interrupt	-name_rule LAST


-name triggc_t       -name_rule DEF  -def_name 5
-name triggc_trigg_1 -name_rule LAST 
-name triggc_t2      -name_rule LAST 
-name triggc_t3      -name_rule LAST 
-name triggc_t4      -name_rule LAST 
-name triggc_t5      -name_rule LAST 
-name triggc_t6      -name_rule LAST 
-name triggc_tool    -name_rule CUR  -method hirule_tooldata
-name triggc_wobj    -name_rule CUR  -method hirule_wobjdata

-name triggj_t       -name_rule DEF  -def_name 5
-name triggj_trigg_1 -name_rule LAST
-name triggj_t2      -name_rule LAST 
-name triggj_t3      -name_rule LAST 
-name triggj_t4      -name_rule LAST 
-name triggj_t5      -name_rule LAST 
-name triggj_t6      -name_rule LAST 
-name triggj_tool    -name_rule CUR  -method hirule_tooldata
-name triggj_wobj    -name_rule CUR  -method hirule_wobjdata

-name triggl_t       -name_rule DEF  -def_name 5
-name triggl_trigg_1 -name_rule LAST 
-name triggl_t2      -name_rule LAST 
-name triggl_t3      -name_rule LAST 
-name triggl_t4      -name_rule LAST 
-name triggl_t5      -name_rule LAST 
-name triggl_t6      -name_rule LAST 
-name triggl_tool    -name_rule CUR  -method hirule_tooldata
-name triggl_wobj    -name_rule CUR  -method hirule_wobjdata


MMC_COMMON_PARAM:
#               Common naming rules for all Move-instructions.
# -name	        Name of RAPID/ReaL routine_parameter	(MAN)
#               eg. movel_topoint
# -common_space_name					(MAN)
#               common_point      -> For ToPoint and CirPoint
#               common_speed      -> For Speed
#               common_zone       -> For Zone
#               common_cir_zone   -> For Zone in circle


-name triggc_cirpoint 	-common_space_name common_point
-name triggc_topoint 	-common_space_name common_point
-name triggj_topoint 	-common_space_name common_point
-name triggl_topoint 	-common_space_name common_point

-name triggc_speed  	-common_space_name common_speed
-name triggj_speed      -common_space_name common_speed
-name triggl_speed      -common_space_name common_speed

-name triggc_zone       -common_space_name common_cir_zone
-name triggj_zone       -common_space_name common_zone
-name triggl_zone       -common_space_name common_zone


MMC_INSTR_WITH_WOBJ:
#               Instructions with parameter WObj
# -name	        Name of RAPID/ReaL routine		(MAN)
#               eg. movel
# -param_nr	Parameter struct no			(MAN)
#               (PGM's fix (max) parameter no)

-name triggc	-param_nr 15
-name triggj	-param_nr 14
-name triggl	-param_nr 14


MMC_SELECT_PARAM:
#               Ready instructions direct from IPL but
#               need of some modifications. MMC pointing out specified argument
#               with cursor for modifications.
#               E.g. MODPOS of ToPoint in MoveC
# -name	        Name of RAPID/ReaL routine		(MAN)
#               eg. movec
# -param_nr	Parameter struct no			(MAN)
#               (PGM's fix (max) parameter no)

-name triggc	-param_nr 2


MMC_NO_PC_MOVEMENT:
#               Instructions with between points (such as CirPoint in MoveC)
#               which should not result in PC step out for MODPOS
# -name	        Name of RAPID/ReaL routine_parameter	(MAN)
#               eg. movec_cirpoint

-name triggc_cirpoint

MMC_NO_NOREGAIN:
#               Instructions with not allowed NOREGAIN
#               (REDO of a circular movement)
# -name	        Name of RAPID/ReaL routine		(MAN)
#               eg. movec

-name triggc

MMC_REAL_DATATYPE:
# -name	        Name of RAPID/ReaL data type		(MAN)
#               eg. robtarget
# -def_name     Default base data name eg. tool		(MAN)
# -value_rule   Value rule for new data			(MAN)
#   NONE     -> "Clear" value (0, "", FALSE)
#               No initialize value for non-value data type
#   CUR      -> Use current value as defined by
#               - method hirule_robtarget
#   DEF      -> Use default value defined by attribute
#               -use_value
# -method       Reference to predefined method          (OPT)
#               - method hirule_robtarget
# -use_value    The default value for the rule DEF	(OPT)
# -object_type  Default data object type		(MAN)
#   CONST    -> Constant
#   VAR      -> Variable
#   PERS     -> Persistent variable
#   REC_COMP -> Record component (not supported yet)
# ************* Below attributes not supported yet ******************
# -max_value    Max. value for data type num		(OPT)
#               (or alias of num)
# -min_value    Min. value for data type num		(OPT)
# -measure      Measurement unit for non-composite	(OPT)
#               data type eg. mm, s
# ************* Translation to local language ************************
#     		-> -def_name xxxx (if applicable)

-name triggdata   -def_name trigg           -value_rule NONE \
   -object_type VAR

		  
		  
		  
		  
