MMC:CFG_1.0::
# MMC : RAPID PROGRAMMING RULES (HIRULE) FOR DispenseWare
# $Revision: 1.4 $

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 DispL -hidden -default_struct 0,1,1,1,0,0,0,1,1,0,0
-name DispC -hidden -default_struct 0,1,1,1,1,0,0,0,1,1,0,0
-name dpb_power_on -hidden
-name dpb_start -hidden
-name dpb_restart -hidden
-name dpb_stop -hidden
-name dpb_qstop -hidden
-name dpb_mode_switch -hidden
-name dp_power_on -hidden
-name dp_start -hidden
-name dp_restart -hidden
-name dp_stop -hidden
-name dp_qstop -hidden
-name dp_init_signals -hidden
-name dp_restart_proc -hidden
-name dp_err_actions -hidden
-name dp_postdisp -hidden
-name dp_predisp -hidden
-name dp_set_int_data -hidden
-name main -hidden

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 DispL	-param_nr 5,6,7
-name DispC	-param_nr 6,7,8

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 -last_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 DEF	(OPT)
# -last_name    The name or value for the rule LAST	(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)
#     		-> -last_name xxxx (if applicable)

-name DispL_Bead  -name_rule LAST -def_name bead1
-name DispL_D     -name_rule LAST -def_name 0
-name DispL_P1    -name_rule LAST -def_name 0
-name DispL_P2    -name_rule LAST -def_name 0
-name DispL_Tool  -name_rule CUR  -method hirule_tooldata
-name DispL_WObj  -name_rule CUR  -method hirule_wobjdata

-name DispC_Bead  -name_rule LAST -def_name bead1
-name DispC_D     -name_rule LAST -def_name 0
-name DispC_P1    -name_rule LAST -def_name 0
-name DispC_P2    -name_rule LAST -def_name 0
-name DispC_Tool  -name_rule CUR  -method hirule_tooldata
-name DispC_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 (besides ToPoint in MoveC)
#                                    and CirPoint
#               common_speed      -> For Speed
#               common_zone       -> For Zone
#               common_cir_zone   -> For Zone in circle

-name DispL_ToPoint 	-common_space_name common_point
-name DispL_Speed  	-common_space_name common_speed
-name DispL_Zone        -common_space_name common_zone
-name DispC_ToPoint 	-common_space_name common_point
-name DispC_CirPoint 	-common_space_name common_point
-name DispC_Speed  	-common_space_name common_speed
-name DispC_Zone        -common_space_name common_cir_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 DispL	-param_nr 10
-name DispC	-param_nr 11

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 DispC	-param_nr 3
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 DispC_CirPoint

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

-name DispC

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 beaddata   -def_name bead         -value_rule DEF \
#-use_value ["",100,100,1,1,2,2] \
-object_type PERS

#-name equipdata   -def_name equip         -value_rule DEF \
#-use_value ["",1,1,0,0,1000,2,0.1,0,0,100,2,0.1,0,0,100] \
#-object_type PERS

MMC_MOTION = MMC_PALETTE:
-name "DispL/On"  -param_nr 1 -alt_nr 1 -instr_name DispL
-name DispL     -param_nr 1 -alt_nr 0 -instr_name DispL
-name "DispL/Off" -param_nr 1 -alt_nr 2 -instr_name DispL
-name "DispC/On"  -param_nr 1 -alt_nr 1 -instr_name DispC
-name DispC     -param_nr 1 -alt_nr 0 -instr_name DispC
-name "DispC/Off" -param_nr 1 -alt_nr 2 -instr_name DispC
