Перейти к публикации

постпроцесор


qwweasd

Рекомендованные сообщения

Добрый день. Господа вопрос к знатокам по постпроцессорам. Есть станок (SUPER Mini mill HAAS) из Power Mill сохраняется постпроцессором Fanuc1 (тип файла "PMOPT" (.pmopt)) подскажите как сохранить (УП) из ArtCam для этого станка. Возможно кто то уже сталкивался с этой проблемой и есть готовое решение. Постпроцесор в текстовом режиме.

<?xml version="1.0" encoding="UTF-8"?>

<pmp:option-file xmlns:pmp="urn:aerokom">

<pmp:header>

<pmp:version value="3,0,2,5" pmpost="4,50,1,55602"/>

<pmp:history created="1128084049015" lm="1279265245453" author="Umakant" customer="----" mtool="---" controller="Fanuc" csoft="---" lastuser="Администратор" mtoolmodel="---" spnote="Required PMPost version : PM-Post 4.00 CodeBase 21303 and Above">

<pmp:notes><![CDATA[Delcam PostProcessor : Standard Post for "Fanuc" Controller.

This post is supporting to :

1. Only suitable for 3 axis

2. Arc output in 'I J K' format

3. MM or INCH type output

4. Drilling Cycles supported :

Single peck G81

Deep Drill G82

Chip Break G83

Tapping G84

Ream G85

Counter Bore G86

Bore 3 G87

Bore 4 G88

Bore 5 G89

This post is not-supporting to :

1. Splinemill is not supported

2. Drilling cycles which are not supported :

Drill Deep 2

Rigid Tapping

Helical

Reverse Helical

Helical Clockwise

Reverse Helical Clockwise

]]></pmp:notes>

<pmp:revision date="1151576877343" author="Update info"><![CDATA[

CODEBASE 0171.

New Euler conventions are supported.

CODEBASE 0178.

Commands have a new option: 'Disallow'.

CODEBASE 0183.

Parameters 'Primary Angle', 'Secondary Angle' and so on have been replaced by the corresponding 'Machine ...' parameters.

CODEBASE 0184.

You can now use user commands as command items.

CODEBASE 0185.

A new parameter 'RTCP Mode' is available.

CODEBASE 0191.

A new parameter 'Tool Cutting Length','Tool Taper Angle','Tool Tip Radius X','Tool Tip Radius Y','Toolpath Type' are available.

Parameter 'Recommended Length' has been renamed to 'Tool Overhang'.

Parameter 'Part Number' has been renamed to 'Program Number'.

Parameter 'Cutting Strategy' has been renamed to 'Toolpath Cutting Strategy'.

CODEBASE 0193.

The Settings page now includes an 'ACC' (Automatic Coordinate Control) tab.

The 'Set Workplane ON' and 'Set Workplane OFF' commands have been added.

On the 'Settings'/'Multiaxis Configuration' page a new option of 'Use ZERO Tool Length' replaces 'Tool Length Compensation'. The values are interchanged : ON -> OFF and OFF -> ON.

Template machine kinematics are now based on the MTD schema.

CODEBASE 0195.

Added two parameters for drilling: 'Multi-Axis Drilling Enable' (ON/OFF), 'Avoid ACC (Automatic Coordinate Control) if possible' (ON/OFF).]]></pmp:revision>

<pmp:revision date="1151576878093" author="Update info"><![CDATA[

CODEBASE 0195

Added two parameters for drilling: 'Multi-Axis Drilling Enable' (ON/OFF), 'Avoid ACC (Automatic Coordinate Control) if possible' (ON/OFF).

CODEBASE 0204

Added 'Tool Number Next' parameter.]]></pmp:revision>

<pmp:revision date="1161762984798" author="Update info"><![CDATA[

CODEBASE 0207

Added 'Output Point Info' parameter.]]></pmp:revision>

<pmp:revision date="1162437807878" author="Update info"><![CDATA[

CODEBASE 0208

Added 'Current User' parameter.]]></pmp:revision>

<pmp:revision date="1164612311708" author="Update info"><![CDATA[

CODEBASE 3024

Added 'disabled' attribute for blocks.]]></pmp:revision>

</pmp:history>

</pmp:header>

<pmp:configuration>

<pmp:config-time-format value="System Time"/>

<pmp:config-date-format value="System Date"/>

<pmp:config-nc-file-extension value="txt"/>

<pmp:config-units linear="THE SAME" angular="DEG"/>

<pmp:config-spline value="0"/>

<pmp:config-number-formatting decimalSeparator="." exponentLetter=""/>

<pmp:config-separator value=""/>

<pmp:config-trim-spaces value="0"/>

<pmp:config-line-end value=""/>

<pmp:config-arc-tolerance mode="0" value="0"/>

<pmp:config-wp-definition value="machine" eulerConvention="0"/>

<pmp:config-frame-number output="1" start="10" end="999999" step="10"/>

<pmp:config-arcs origin="0" min="-180" max="180"/>

<pmp:config-circular interpolation_xy="1" interpolation_xz="1" interpolation_yz="1" quadrant="0" linSource="0" minRadius="0" maxRadius="10000"/>

<pmp:config-feedrates min="1" maxRapid="999999" maxCutting="999999"/>

<pmp:config-multiaxis linearization="0"/>

<pmp:config-multiaxis-feedrate calculation="2" coefficient="0.1"/>

<pmp:config-multiaxis-drilling mxsDrillEnable="OFF" mxsDrillAvoidACC="ON"/>

<pmp:config-mtd-type value="3axis"/>

<pmp:config-mtd-path value=""/>

<pmp:config-mtd-listing value="<?xml version="1.0"?> <machine xmlns="x-schema:PowermillMachineTool"> <table_attach_point PART="table" X="0" Y="0" Z="0"/> <head_attach_point PART="head" X="0" Y="0" Z="0" I="0" J="0" K="1"/> <machine_part> <model_list> <dmt_file> <path FILE="PMPost:3-axis\symbol_head_linear_z.dmt"/> <rgb R="200" G="0" B="0"/> </dmt_file> <dmt_file> <path FILE="PMPost:3-axis\symbol_table_linear_x.dmt"/> <rgb R="200" G="0" B="0"/> </dmt_file> <dmt_file> <path FILE="PMPost:3-axis\symbol_table_linear_y.dmt"/> <rgb R="200" G="0" B="0"/> </dmt_file> <dmt_file> <path FILE="PMPost:3-axis\linear_table_axis_y.dmt"/> <rgb R="0" G="0" B="130"/> </dmt_file> <dmt_file> <path FILE="PMPost:3-axis\linear_head_axis_z.dmt"/> <rgb R="0" G="0" B="130"/> </dmt_file> </model_list> </machine_part> <machine_part> <axis> <control_info ADDRESS="Y"/> <simple_linear I="0" J="-1" K="0"/> </axis> <model_list> <dmt_file> <path FILE="PMPost:3-axis\linear_sub_table_axis_y.dmt"/> <rgb R="0" G="80" B="0"/> </dmt_file> <dmt_file> <path FILE="PMPost:3-axis\linear_table_axis_x.dmt"/> <rgb R="0" G="0" B="130"/> </dmt_file> </model_list> <machine_part> <axis> <control_info ADDRESS="X"/> <simple_linear I="-1" J="0" K="0"/> </axis> <model_list> <dmt_file> <path FILE="PMPost:3-axis\linear_sub_table_axis_x.dmt"/> <rgb R="0" G="80" B="0"/> </dmt_file> <dmt_file> <path FILE="PMPost:3-axis\table.dmt"/> <rgb R="120" G="120" B="120"/> </dmt_file> <dmt_file> <path FILE="PMPost:3-axis\table_sub.dmt"/> <rgb R="30" G="30" B="30"/> </dmt_file> </model_list> <machine_part NAME="table"/> </machine_part> </machine_part> <machine_part> <axis> <control_info ADDRESS="Z"/> <simple_linear I="0" J="0" K="1"/> </axis> <model_list> <dmt_file> <path FILE="PMPost:3-axis\head.dmt"/> <rgb R="80" G="80" B="80"/> </dmt_file> <dmt_file> <path FILE="PMPost:3-axis\head_tool.dmt"/> <rgb R="30" G="30" B="30"/> </dmt_file> <dmt_file> <path FILE="PMPost:3-axis\head_tool_end.dmt"/> <rgb R="30" G="30" B="30"/> </dmt_file> <dmt_file> <path FILE="PMPost:3-axis\linear_sub_head_axis_z.dmt"/> <rgb R="0" G="80" B="0"/> </dmt_file> </model_list> <machine_part NAME="head"/> </machine_part> </machine> "/>

<pmp:config-multiaxis-tolerance source="1" linear="0.001" angular="0.001"/>

<pmp:config-drill-clear-plane origin="4" negative="0"/>

<pmp:config-drill-first-depth origin="0" negative="0"/>

<pmp:config-drill-hole-top origin="0" negative="0"/>

<pmp:config-drill-peck-depth negative="0"/>

<pmp:config-drill-total-depth origin="4" negative="0"/>

<pmp:config-drill-retract-2nd-height origin="0" negative="0"/>

<pmp:config-retract-reconfig limitMode="stop_program" minMode="0" rotateLimit="3" reconfigMode="simple" withdrawal="100" plungeDistPerc="10" retractRateMode="0" retractRate="1" plungeRateMode="0" plungeRate="1"/>

<pmp:config-automatic-coordinate-control accEnable="0" accPreset="acc_preset_3axis" cfg3axis="acc_cfg_3axis_fff" cfg3plus2="acc_cfg_3plus2_fff" cfgMultiaxis="acc_cfg_multiaxis_fff"/>

<pmp:config-machine-attach-point mapoPointType="tool_tip" mapo3AxisTT="OFF"/>

</pmp:configuration>

<pmp:parameters>

<pmp:format name="Default format" outputToTape="1" dependency="2" incremental="0" sign="0" leadZeros="0" trailZeros="0" intZero="1" decZero="3" exponent="0" widthMode="0" width="9" decSep="1" mZeroString=";not-used" mDecPlaces="3" mScale="1" iZeroString=";not-used" iDecPlaces="3" iScale="1">

<pmp:group id="XP" prefix="" postfix="" outputted="1">

<pmp:group-value state="OFF"/>

<pmp:group-value state="ON" init="true"/>

</pmp:group>

<pmp:group id="MW" prefix=" " postfix="" outputted="1">

<pmp:group-value state="ON"/>

<pmp:group-value state="OFF" init="true"/>

</pmp:group>

<pmp:group id="MK" prefix="" postfix="">

<pmp:group-value state="CUTTING"/>

<pmp:group-value state="LINK"/>

<pmp:group-value state="APPROACH"/>

<pmp:group-value state="RETRACT"/>

<pmp:group-value state="PLUNGE"/>

<pmp:group-value state="LEAD_IN"/>

<pmp:group-value state="LEAD_OUT"/>

<pmp:group-value state="CYCLE_LINK"/>

<pmp:group-value state="CYCLE_PLUNGE"/>

<pmp:group-value state="CYCLE_RAPID"/>

<pmp:group-value state="CYCLE_OUTPUT"/>

<pmp:group-value state="JOINUP_3AXIS"/>

<pmp:group-value state="JOINUP"/>

<pmp:group-value state="LEAD"/>

</pmp:group>

<pmp:param id="XB" prefix="X" postfix=""/>

<pmp:param id="YB" prefix="Y" postfix=""/>

<pmp:param id="ZB" prefix="Z" postfix=""/>

<pmp:param id="AW" prefix="X" postfix=""/>

<pmp:param id="BW" prefix="Y" postfix=""/>

<pmp:param id="CW" prefix="Z" postfix=""/>

<pmp:param id="WX" prefix=" A" postfix=""/>

<pmp:param id="WY" prefix=" B " postfix=""/>

<pmp:param id="WZ" prefix=" C" postfix=""/>

<pmp:param wp-axis="X" linear="1" id="guid8B2D113BBE0A401197D5CD2AE762CFA0" prefix="" postfix=""/>

<pmp:param axis="X" linear="1" id="guid845F95D6A5B94c12BEEF339E2AEFB38B" prefix="" postfix=""/>

<pmp:param wp-axis="Y" linear="2" id="guid4BE2E8668E094b6c9356FBDF30937CD9" prefix="" postfix=""/>

<pmp:param axis="Y" linear="2" id="guid1A6C3042C77C4283B5EFD4E3917E7DF8" prefix="" postfix=""/>

<pmp:param wp-axis="Z" linear="3" id="guidA6A703AD49134cddA0E55FC2A426EA6D" prefix="" postfix=""/>

<pmp:param axis="Z" linear="3" id="guid98E3CE4D91EF437bB017EE688E91B670" prefix="" postfix=""/>

</pmp:format>

<pmp:format name="Block Number" outputToTape="1" dependency="2" incremental="0" sign="2" leadZeros="0" trailZeros="0" intZero="3" decZero="3" exponent="0" widthMode="0" width="9" decSep="0" mZeroString=";not-used" mDecPlaces="0" mScale="1" iZeroString=";not-used" iDecPlaces="0" iScale="1">

<pmp:param id="N" prefix="N" postfix=""/>

</pmp:format>

<pmp:format name="Initial Co-ordinates" outputToTape="2" dependency="0" incremental="0" sign="0" leadZeros="0" trailZeros="0" intZero="2" decZero="2" exponent="0" widthMode="0" width="9" decSep="1" mZeroString="0" mDecPlaces="3" mScale="1" iZeroString="0" iDecPlaces="4" iScale="1">

<pmp:param id="XF" prefix="X" postfix=""/>

<pmp:param id="YF" prefix="Y" postfix=""/>

<pmp:param id="ZF" prefix="Z" postfix=""/>

<pmp:param id="X" prefix="X" postfix=""/>

<pmp:param id="Y" prefix="Y" postfix=""/>

<pmp:param id="Z" prefix="Z" postfix=""/>

</pmp:format>

<pmp:format name="M Code Auxilliary" outputToTape="2" dependency="0" incremental="0" sign="2" leadZeros="0" trailZeros="0" intZero="3" decZero="3" exponent="0" widthMode="0" width="9" decSep="0" mZeroString=";not-used" mDecPlaces="0" mScale="1" iZeroString=";not-used" iDecPlaces="0" iScale="1">

<pmp:group id="SE" prefix="M" postfix="" outputted="1">

<pmp:group-value state="OFF"/>

<pmp:group-value state="CW" init="true">3</pmp:group-value>

<pmp:group-value state="CCW">4</pmp:group-value>

</pmp:group>

<pmp:group id="CO" prefix="M" postfix="" outputted="1">

<pmp:group-value state="ON">8</pmp:group-value>

<pmp:group-value state="OFF" init="true">9</pmp:group-value>

<pmp:group-value state="FLOOD">7</pmp:group-value>

<pmp:group-value state="MIST">7</pmp:group-value>

<pmp:group-value state="TAPPING">8</pmp:group-value>

<pmp:group-value state="VACUUM">7</pmp:group-value>

<pmp:group-value state="THROUGH"/>

<pmp:group-value state="AIR"/>

<pmp:group-value state="DOUBLE"/>

</pmp:group>

<pmp:param id="S" prefix="S" postfix=""/>

</pmp:format>

<pmp:format name="Part Name" outputToTape="1" dependency="2" incremental="0" sign="0" leadZeros="0" trailZeros="0" intZero="1" decZero="1" exponent="0" widthMode="1" width="40" decSep="1" mZeroString=";not-used" mDecPlaces="3" mScale="1" iZeroString=";not-used" iDecPlaces="4" iScale="1">

<pmp:param id="PA" prefix="O000" postfix=""/>

</pmp:format>

<pmp:format name="Processing Mode" outputToTape="2" dependency="2" incremental="0" sign="2" leadZeros="0" trailZeros="0" intZero="3" decZero="3" exponent="0" widthMode="0" width="9" decSep="0" mZeroString=";not-used" mDecPlaces="0" mScale="1" iZeroString=";not-used" iDecPlaces="0" iScale="1">

<pmp:group id="MM" prefix="G" postfix="">

<pmp:group-value state="LIN">1</pmp:group-value>

<pmp:group-value state="RAP">0</pmp:group-value>

<pmp:group-value state="CW">2</pmp:group-value>

<pmp:group-value state="CCW">3</pmp:group-value>

<pmp:group-value state="SPL">7</pmp:group-value>

<pmp:group-value state="CYC"/>

</pmp:group>

<pmp:group id="PL" prefix="G" postfix="">

<pmp:group-value state="XY">17</pmp:group-value>

<pmp:group-value state="XZ">18</pmp:group-value>

<pmp:group-value state="YZ">19</pmp:group-value>

</pmp:group>

</pmp:format>

<pmp:format name="Tool Attributes" outputToTape="1" dependency="0" incremental="0" sign="2" leadZeros="0" trailZeros="0" intZero="1" decZero="3" exponent="0" widthMode="0" width="9" decSep="1" mZeroString=";not-used" mDecPlaces="3" mScale="1" iZeroString=";not-used" iDecPlaces="4" iScale="1">

<pmp:param id="TN" prefix="T" postfix=""/>

<pmp:param id="TL" prefix=" & LENGTH : " postfix=""/>

<pmp:param id="TD" prefix=" TOOL DIA.: " postfix=""/>

<pmp:param id="TS" prefix=" TOOL NAME : " postfix=""/>

<pmp:param id="TI" prefix=" TIP RAD.: " postfix=""/>

<pmp:param id="TT" prefix=" TOOL TYPE : " postfix=""/>

<pmp:param id="TB" prefix="H" postfix=""/>

</pmp:format>

<pmp:format name="Circular Interpolation" outputToTape="1" dependency="2" incremental="1" sign="0" leadZeros="0" trailZeros="0" intZero="2" decZero="2" exponent="0" widthMode="0" width="9" decSep="1" mZeroString="0" mDecPlaces="3" mScale="1" iZeroString="0" iDecPlaces="4" iScale="1">

<pmp:param id="I" prefix="I" postfix=""/>

<pmp:param id="J" prefix="J" postfix=""/>

<pmp:param id="K" prefix="K" postfix=""/>

</pmp:format>

<pmp:format name="Comment 1" outputToTape="1" dependency="2" incremental="0" sign="2" leadZeros="0" trailZeros="0" intZero="1" decZero="3" exponent="0" widthMode="0" width="9" decSep="1" mZeroString="1" mDecPlaces="3" mScale="1" iZeroString="1" iDecPlaces="4" iScale="1">

<pmp:group id="UE" prefix=" OUTPUT UNITS : " postfix="">

<pmp:group-value state="MM">MM</pmp:group-value>

<pmp:group-value state="INCH">INCHES</pmp:group-value>

</pmp:group>

<pmp:param id="ST" prefix="" postfix=""/>

<pmp:param id="TP" prefix=" TOOLPATH : " postfix=""/>

<pmp:param id="MN" prefix=" MACHINE TOOL : " postfix=""/>

<pmp:param id="VA" prefix=" MODEL : " postfix=""/>

<pmp:param id="CN" prefix=" CONTROLLER : " postfix=""/>

<pmp:param id="CS" prefix=" SERIES : " postfix=""/>

<pmp:param id="PM" prefix=" PMPost VERSION : " postfix=""/>

<pmp:param id="VC" prefix=" OPTION FILE : " postfix=""/>

<pmp:param id="SF" prefix=" STRATEGY USED : " postfix=""/>

<pmp:param id="NC" prefix=" NC FILE : " postfix=""/>

<pmp:param id="WN" prefix=" TOOLPATH WP : " postfix=""/>

<pmp:param id="WI" prefix=" OUTPUT WP : " postfix=""/>

<pmp:param id="NO" prefix=":000" postfix=""/>

</pmp:format>

<pmp:format name="Comment 3 DateTime" outputToTape="1" dependency="2" incremental="0" sign="2" leadZeros="1" trailZeros="0" intZero="2" decZero="3" exponent="0" widthMode="2" width="2" decSep="0" mZeroString=";not-used" mDecPlaces="0" mScale="1" iZeroString=";not-used" iDecPlaces="0" iScale="1">

<pmp:param id="GY" prefix="." postfix=""/>

<pmp:param id="GM" prefix="." postfix=""/>

<pmp:param id="GD" prefix=" DATE : " postfix=""/>

<pmp:param id="GH" prefix=" TIME - " postfix=""/>

<pmp:param id="GT" prefix=":" postfix=""/>

<pmp:param id="GS" prefix=":" postfix=""/>

</pmp:format>

<pmp:format name="Comment 2" outputToTape="1" dependency="0" incremental="0" sign="2" leadZeros="0" trailZeros="0" intZero="1" decZero="3" exponent="0" widthMode="0" width="9" decSep="1" mZeroString=";not-used" mDecPlaces="3" mScale="1" iZeroString=";not-used" iDecPlaces="3" iScale="1">

<pmp:param id="TM" prefix=" CUTTING TIME : " postfix=""/>

<pmp:param id="SG" prefix=" TOTAL CUTTING TIME : " postfix=""/>

</pmp:format>

<pmp:format name="Drilling Cycle Parameter" outputToTape="1" dependency="2" incremental="0" sign="0" leadZeros="0" trailZeros="0" intZero="2" decZero="2" exponent="0" widthMode="0" width="9" decSep="1" mZeroString="0" mDecPlaces="3" mScale="1" iZeroString="0" iDecPlaces="4" iScale="1">

<pmp:group id="SJ" prefix="G" postfix="">

<pmp:group-value state="NONE"/>

<pmp:group-value state="SINGLE_PECKING">81</pmp:group-value>

<pmp:group-value state="DEEP_DRILL">83</pmp:group-value>

<pmp:group-value state="DEEP_DRILL_2"/>

<pmp:group-value state="BREAK_CHIP">82</pmp:group-value>

<pmp:group-value state="TAPPING">84</pmp:group-value>

<pmp:group-value state="RIGID_TAPPING"/>

<pmp:group-value state="HELICAL"/>

<pmp:group-value state="REVERSE_HELICAL"/>

<pmp:group-value state="REAM">85</pmp:group-value>

<pmp:group-value state="COUNTER_BORE">86</pmp:group-value>

<pmp:group-value state="BORE_3">87</pmp:group-value>

<pmp:group-value state="BORE_4">88</pmp:group-value>

<pmp:group-value state="BORE_5">89</pmp:group-value>

<pmp:group-value state="HELICAL_CLOCKWISE"/>

<pmp:group-value state="REVERSE_HELICAL_CW"/>

<pmp:group-value state="PROFILE"/>

<pmp:group-value state="PROFILE_CW"/>

<pmp:group-value state="FINE_BORING"/>

<pmp:group-value state="CYCLE_1"/>

<pmp:group-value state="CYCLE_2"/>

<pmp:group-value state="CYCLE_3"/>

<pmp:group-value state="CYCLE_4"/>

<pmp:group-value state="CYCLE_5"/>

<pmp:group-value state="CANNED_CYCLE_OFF">80</pmp:group-value>

</pmp:group>

<pmp:param id="FD" prefix="Z" postfix=""/>

<pmp:param id="DI" prefix="Q" postfix=""/>

<pmp:param id="DT" prefix="Z" postfix=""/>

<pmp:param id="CP" prefix="R" postfix=""/>

<pmp:param id="DW" prefix="P" postfix=""/>

</pmp:format>

<pmp:format name="Feedrate" outputToTape="2" dependency="2" incremental="0" sign="2" leadZeros="0" trailZeros="0" intZero="1" decZero="3" exponent="0" widthMode="0" width="9" decSep="1" mZeroString=";not-used" mDecPlaces="3" mScale="1" iZeroString=";not-used" iDecPlaces="4" iScale="1">

<pmp:param id="F" prefix="F" postfix=""/>

<pmp:param id="CF" prefix="F" postfix=""/>

</pmp:format>

<pmp:format name="G Code Preparatory" outputToTape="2" dependency="2" incremental="0" sign="0" leadZeros="0" trailZeros="0" intZero="3" decZero="3" exponent="0" widthMode="0" width="9" decSep="0" mZeroString=";not-used" mDecPlaces="0" mScale="1" iZeroString=";not-used" iDecPlaces="0" iScale="1">

<pmp:group id="CU" prefix="G" postfix="" outputted="1">

<pmp:group-value state="ON">41</pmp:group-value>

<pmp:group-value state="OFF" init="true">40</pmp:group-value>

<pmp:group-value state="LEFT">41</pmp:group-value>

<pmp:group-value state="RIGHT">42</pmp:group-value>

</pmp:group>

<pmp:group id="TC" prefix="G" postfix="">

<pmp:group-value state="ON">43</pmp:group-value>

<pmp:group-value state="OFF">49</pmp:group-value>

</pmp:group>

<pmp:group id="ZT" prefix="G" postfix="" outputted="0">

<pmp:group-value state="ON">49</pmp:group-value>

<pmp:group-value state="OFF" init="true">43</pmp:group-value>

</pmp:group>

</pmp:format>

</pmp:parameters>

<pmp:commands>

<pmp:command id="PS" state="active">

<pmp:definition>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-text dependency="0">

<pmp:text><![CDATA[%]]></pmp:text>

</pmp:cmd-item-text>

</pmp:block>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-param id="NO" dependency="0"/>

</pmp:block>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-text dependency="0">

<pmp:text><![CDATA[(]]></pmp:text>

</pmp:cmd-item-text>

<pmp:cmd-item-param id="NC"/>

<pmp:cmd-item-text dependency="-1">

<pmp:text><![CDATA[ )]]></pmp:text>

</pmp:cmd-item-text>

</pmp:block>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-text dependency="0">

<pmp:text><![CDATA[(]]></pmp:text>

</pmp:cmd-item-text>

<pmp:cmd-item-param id="GD"/>

<pmp:cmd-item-param id="GM"/>

<pmp:cmd-item-param id="GY"/>

<pmp:cmd-item-text dependency="-1">

<pmp:text><![CDATA[ &]]></pmp:text>

</pmp:cmd-item-text>

<pmp:cmd-item-param id="GH"/>

<pmp:cmd-item-param id="GT"/>

<pmp:cmd-item-param id="GS"/>

<pmp:cmd-item-text dependency="-1">

<pmp:text><![CDATA[ )]]></pmp:text>

</pmp:cmd-item-text>

</pmp:block>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-text dependency="0">

<pmp:text><![CDATA[(]]></pmp:text>

</pmp:cmd-item-text>

<pmp:cmd-item-param id="PM"/>

<pmp:cmd-item-text dependency="-1">

<pmp:text><![CDATA[ )]]></pmp:text>

</pmp:cmd-item-text>

</pmp:block>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-text dependency="0">

<pmp:text><![CDATA[(]]></pmp:text>

</pmp:cmd-item-text>

<pmp:cmd-item-param id="MN"/>

<pmp:cmd-item-text dependency="-1">

<pmp:text><![CDATA[ &]]></pmp:text>

</pmp:cmd-item-text>

<pmp:cmd-item-param id="VA"/>

<pmp:cmd-item-text dependency="-1">

<pmp:text><![CDATA[ )]]></pmp:text>

</pmp:cmd-item-text>

</pmp:block>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-text dependency="0">

<pmp:text><![CDATA[(]]></pmp:text>

</pmp:cmd-item-text>

<pmp:cmd-item-param id="CN"/>

<pmp:cmd-item-text dependency="-1">

<pmp:text><![CDATA[ &]]></pmp:text>

</pmp:cmd-item-text>

<pmp:cmd-item-param id="CS"/>

<pmp:cmd-item-text dependency="-1">

<pmp:text><![CDATA[ )]]></pmp:text>

</pmp:cmd-item-text>

</pmp:block>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-text dependency="0">

<pmp:text><![CDATA[(]]></pmp:text>

</pmp:cmd-item-text>

<pmp:cmd-item-param id="VC"/>

<pmp:cmd-item-text dependency="-1">

<pmp:text><![CDATA[ )]]></pmp:text>

</pmp:cmd-item-text>

</pmp:block>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-text dependency="-1">

<pmp:text><![CDATA[(]]></pmp:text>

</pmp:cmd-item-text>

<pmp:cmd-item-param id="SG" outputToTape="0"/>

<pmp:cmd-item-text dependency="-1">

<pmp:text><![CDATA[ )]]></pmp:text>

</pmp:cmd-item-text>

</pmp:block>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-text dependency="0">

<pmp:text><![CDATA[(]]></pmp:text>

</pmp:cmd-item-text>

<pmp:cmd-item-param id="WI"/>

<pmp:cmd-item-text dependency="-1">

<pmp:text><![CDATA[ )]]></pmp:text>

</pmp:cmd-item-text>

</pmp:block>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-text dependency="0">

<pmp:text><![CDATA[(]]></pmp:text>

</pmp:cmd-item-text>

<pmp:cmd-item-param id="UE"/>

<pmp:cmd-item-text dependency="-1">

<pmp:text><![CDATA[ )]]></pmp:text>

</pmp:cmd-item-text>

</pmp:block>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-text dependency="0">

<pmp:text><![CDATA[G91G28X0Y0Z0]]></pmp:text>

</pmp:cmd-item-text>

</pmp:block>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-text dependency="0">

<pmp:text><![CDATA[G40G17G80G49]]></pmp:text>

</pmp:cmd-item-text>

</pmp:block>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-text dependency="0">

<pmp:text><![CDATA[G0G90]]></pmp:text>

</pmp:cmd-item-text>

</pmp:block>

</pmp:definition>

</pmp:command>

<pmp:command id="PE" state="active">

<pmp:definition>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-text dependency="0">

<pmp:text><![CDATA[G91G28]]></pmp:text>

</pmp:cmd-item-text>

<pmp:cmd-item-param id="Z" outputToTape="1">

<pmp:item-value type="1"><![CDATA[0]]></pmp:item-value>

</pmp:cmd-item-param>

</pmp:block>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-text dependency="0">

<pmp:text><![CDATA[G49H0]]></pmp:text>

</pmp:cmd-item-text>

</pmp:block>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-text dependency="0">

<pmp:text><![CDATA[G28]]></pmp:text>

</pmp:cmd-item-text>

<pmp:cmd-item-param id="X" outputToTape="1">

<pmp:item-value type="1"><![CDATA[0]]></pmp:item-value>

</pmp:cmd-item-param>

<pmp:cmd-item-param id="Y" outputToTape="1">

<pmp:item-value type="1"><![CDATA[0]]></pmp:item-value>

</pmp:cmd-item-param>

</pmp:block>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-text dependency="0">

<pmp:text><![CDATA[M99]]></pmp:text>

</pmp:cmd-item-text>

</pmp:block>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-text dependency="0">

<pmp:text><![CDATA[%]]></pmp:text>

</pmp:cmd-item-text>

</pmp:block>

</pmp:definition>

</pmp:command>

<pmp:command id="BR" state="active">

<pmp:definition>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-param id="MM"/>

<pmp:cmd-item-param id="CU"/>

<pmp:cmd-item-param id="X" outputToTape="1"/>

<pmp:cmd-item-param id="Y" outputToTape="1"/>

</pmp:block>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-param id="MM"/>

<pmp:cmd-item-text dependency="-1">

<pmp:text><![CDATA[G43]]></pmp:text>

</pmp:cmd-item-text>

<pmp:cmd-item-param id="Z" outputToTape="1"/>

<pmp:cmd-item-param id="TB"/>

</pmp:block>

</pmp:definition>

</pmp:command>

<pmp:command id="RM" state="active">

<pmp:definition>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-param id="MM"/>

<pmp:cmd-item-param id="CU"/>

<pmp:cmd-item-param id="X"/>

<pmp:cmd-item-param id="Y"/>

<pmp:cmd-item-param id="Z"/>

</pmp:block>

</pmp:definition>

</pmp:command>

<pmp:command id="LM" state="active">

<pmp:definition>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-param id="MM"/>

<pmp:cmd-item-param id="CU"/>

<pmp:cmd-item-param id="X"/>

<pmp:cmd-item-param id="Y"/>

<pmp:cmd-item-param id="Z"/>

<pmp:cmd-item-param id="F"/>

</pmp:block>

</pmp:definition>

</pmp:command>

<pmp:command id="LF" state="active">

<pmp:definition>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-text dependency="0">

<pmp:text><![CDATA[(]]></pmp:text>

</pmp:cmd-item-text>

<pmp:cmd-item-param id="TT"/>

<pmp:cmd-item-text dependency="-1">

<pmp:text><![CDATA[ )]]></pmp:text>

</pmp:cmd-item-text>

</pmp:block>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-text dependency="0">

<pmp:text><![CDATA[(]]></pmp:text>

</pmp:cmd-item-text>

<pmp:cmd-item-param id="TS"/>

<pmp:cmd-item-text dependency="-1">

<pmp:text><![CDATA[ )]]></pmp:text>

</pmp:cmd-item-text>

</pmp:block>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-text dependency="0">

<pmp:text><![CDATA[(]]></pmp:text>

</pmp:cmd-item-text>

<pmp:cmd-item-param id="TD"/>

<pmp:cmd-item-text dependency="-1">

<pmp:text><![CDATA[ &]]></pmp:text>

</pmp:cmd-item-text>

<pmp:cmd-item-param id="TI"/>

<pmp:cmd-item-param id="TL"/>

<pmp:cmd-item-text dependency="-1">

<pmp:text><![CDATA[ )]]></pmp:text>

</pmp:cmd-item-text>

</pmp:block>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" longBlock="0"/>

<pmp:cmd-item-param id="TN"/>

<pmp:cmd-item-text dependency="0">

<pmp:text><![CDATA[M6]]></pmp:text>

</pmp:cmd-item-text>

</pmp:block>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-text dependency="0">

<pmp:text><![CDATA[G54G90]]></pmp:text>

</pmp:cmd-item-text>

</pmp:block>

</pmp:definition>

</pmp:command>

<pmp:command id="LT" state="active">

<pmp:definition>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-param id="CO" dependency="0">

<pmp:item-value type="1"><![CDATA[OFF]]></pmp:item-value>

</pmp:cmd-item-param>

</pmp:block>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-text dependency="0">

<pmp:text><![CDATA[G91G28]]></pmp:text>

</pmp:cmd-item-text>

<pmp:cmd-item-param id="Z" outputToTape="1">

<pmp:item-value type="1"><![CDATA[0]]></pmp:item-value>

</pmp:cmd-item-param>

</pmp:block>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-text dependency="0">

<pmp:text><![CDATA[G49H0]]></pmp:text>

</pmp:cmd-item-text>

</pmp:block>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-text dependency="0">

<pmp:text><![CDATA[G28]]></pmp:text>

</pmp:cmd-item-text>

<pmp:cmd-item-param id="X" outputToTape="1"/>

<pmp:cmd-item-param id="Y" outputToTape="1"/>

</pmp:block>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-text dependency="0">

<pmp:text><![CDATA[(]]></pmp:text>

</pmp:cmd-item-text>

<pmp:cmd-item-param id="TT"/>

<pmp:cmd-item-text dependency="-1">

<pmp:text><![CDATA[ )]]></pmp:text>

</pmp:cmd-item-text>

</pmp:block>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-text dependency="0">

<pmp:text><![CDATA[(]]></pmp:text>

</pmp:cmd-item-text>

<pmp:cmd-item-param id="TS"/>

<pmp:cmd-item-text dependency="-1">

<pmp:text><![CDATA[ )]]></pmp:text>

</pmp:cmd-item-text>

</pmp:block>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-text dependency="0">

<pmp:text><![CDATA[(]]></pmp:text>

</pmp:cmd-item-text>

<pmp:cmd-item-param id="TD"/>

<pmp:cmd-item-text dependency="-1">

<pmp:text><![CDATA[ &]]></pmp:text>

</pmp:cmd-item-text>

<pmp:cmd-item-param id="TI"/>

<pmp:cmd-item-text dependency="-1">

<pmp:text><![CDATA[ )]]></pmp:text>

</pmp:cmd-item-text>

</pmp:block>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" longBlock="0"/>

<pmp:cmd-item-param id="TN"/>

<pmp:cmd-item-text dependency="0">

<pmp:text><![CDATA[M6]]></pmp:text>

</pmp:cmd-item-text>

</pmp:block>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-text dependency="0">

<pmp:text><![CDATA[G54G90]]></pmp:text>

</pmp:cmd-item-text>

</pmp:block>

</pmp:definition>

</pmp:command>

<pmp:command id="KC" state="active">

<pmp:definition>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-param id="MM"/>

<pmp:cmd-item-param id="CU"/>

<pmp:cmd-item-param id="PL"/>

<pmp:cmd-item-param id="X" outputToTape="1"/>

<pmp:cmd-item-param id="Y" outputToTape="1"/>

<pmp:cmd-item-param id="Z"/>

<pmp:cmd-item-param id="I"/>

<pmp:cmd-item-param id="J"/>

<pmp:cmd-item-param id="F"/>

</pmp:block>

</pmp:definition>

</pmp:command>

<pmp:command id="JC" state="active">

<pmp:definition>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-param id="MM"/>

<pmp:cmd-item-param id="CU"/>

<pmp:cmd-item-param id="PL"/>

<pmp:cmd-item-param id="X" outputToTape="1"/>

<pmp:cmd-item-param id="Y"/>

<pmp:cmd-item-param id="Z" outputToTape="1"/>

<pmp:cmd-item-param id="I"/>

<pmp:cmd-item-param id="K"/>

<pmp:cmd-item-param id="F"/>

</pmp:block>

</pmp:definition>

</pmp:command>

<pmp:command id="IC" state="active">

<pmp:definition>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-param id="MM"/>

<pmp:cmd-item-param id="CU"/>

<pmp:cmd-item-param id="PL"/>

<pmp:cmd-item-param id="X"/>

<pmp:cmd-item-param id="Y" outputToTape="1"/>

<pmp:cmd-item-param id="Z" outputToTape="1"/>

<pmp:cmd-item-param id="J"/>

<pmp:cmd-item-param id="K"/>

<pmp:cmd-item-param id="F"/>

</pmp:block>

</pmp:definition>

</pmp:command>

<pmp:command id="SY" state="active">

<pmp:definition>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" longBlock="0"/>

<pmp:cmd-item-param id="CF" outputToTape="0" outputNext="1"/>

</pmp:block>

</pmp:definition>

</pmp:command>

<pmp:command id="CY" state="active">

<pmp:definition>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" longBlock="0"/>

<pmp:cmd-item-param id="X"/>

<pmp:cmd-item-param id="Y"/>

</pmp:block>

</pmp:definition>

</pmp:command>

<pmp:command id="CS" state="active">

<pmp:definition>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" longBlock="0"/>

<pmp:cmd-item-param id="SJ" dependency="0"/>

<pmp:cmd-item-text dependency="-1">

<pmp:text><![CDATA[G99]]></pmp:text>

</pmp:cmd-item-text>

<pmp:cmd-item-param id="X"/>

<pmp:cmd-item-param id="Y"/>

<pmp:cmd-item-param id="DT"/>

<pmp:cmd-item-param id="CP"/>

<pmp:cmd-item-param id="CF" outputToTape="1"/>

</pmp:block>

</pmp:definition>

</pmp:command>

<pmp:command id="CD" state="active">

<pmp:definition>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" longBlock="0"/>

<pmp:cmd-item-param id="SJ" dependency="0"/>

<pmp:cmd-item-text dependency="-1">

<pmp:text><![CDATA[G99]]></pmp:text>

</pmp:cmd-item-text>

<pmp:cmd-item-param id="X"/>

<pmp:cmd-item-param id="Y"/>

<pmp:cmd-item-param id="DI"/>

<pmp:cmd-item-param id="DT"/>

<pmp:cmd-item-param id="CP"/>

<pmp:cmd-item-param id="CF" outputToTape="1"/>

</pmp:block>

</pmp:definition>

</pmp:command>

<pmp:command id="CE" state="disallowed" disallowedMessage="Not Supported Cycle.">

<pmp:definition>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

</pmp:block>

</pmp:definition>

</pmp:command>

<pmp:command id="CB" state="active">

<pmp:definition>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" longBlock="0"/>

<pmp:cmd-item-param id="SJ" dependency="0"/>

<pmp:cmd-item-text dependency="-1">

<pmp:text><![CDATA[G99]]></pmp:text>

</pmp:cmd-item-text>

<pmp:cmd-item-param id="X"/>

<pmp:cmd-item-param id="Y"/>

<pmp:cmd-item-param id="DI"/>

<pmp:cmd-item-param id="DT"/>

<pmp:cmd-item-param id="CP"/>

<pmp:cmd-item-param id="CF" outputToTape="1"/>

</pmp:block>

</pmp:definition>

</pmp:command>

<pmp:command id="CT" state="active">

<pmp:definition>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" longBlock="0"/>

<pmp:cmd-item-param id="SJ" dependency="0"/>

<pmp:cmd-item-text dependency="-1">

<pmp:text><![CDATA[G99]]></pmp:text>

</pmp:cmd-item-text>

<pmp:cmd-item-param id="X"/>

<pmp:cmd-item-param id="Y"/>

<pmp:cmd-item-param id="DT"/>

<pmp:cmd-item-param id="CP"/>

<pmp:cmd-item-param id="CF" outputToTape="1"/>

</pmp:block>

</pmp:definition>

</pmp:command>

<pmp:command id="CA" state="disallowed" disallowedMessage="Not Supported Cycle.">

<pmp:definition>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

</pmp:block>

</pmp:definition>

</pmp:command>

<pmp:command id="CH" state="disallowed" disallowedMessage="Not Supported Cycle.">

<pmp:definition>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

</pmp:block>

</pmp:definition>

</pmp:command>

<pmp:command id="CG" state="disallowed" disallowedMessage="Not Supported Cycle.">

<pmp:definition>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

</pmp:block>

</pmp:definition>

</pmp:command>

<pmp:command id="BA" state="active">

<pmp:definition>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" longBlock="0"/>

<pmp:cmd-item-param id="SJ" dependency="0"/>

<pmp:cmd-item-text dependency="-1">

<pmp:text><![CDATA[G99]]></pmp:text>

</pmp:cmd-item-text>

<pmp:cmd-item-param id="X"/>

<pmp:cmd-item-param id="Y"/>

<pmp:cmd-item-param id="DT"/>

<pmp:cmd-item-param id="CP"/>

<pmp:cmd-item-param id="CF" outputToTape="1"/>

</pmp:block>

</pmp:definition>

</pmp:command>

<pmp:command id="BB" state="active">

<pmp:definition>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" longBlock="0"/>

<pmp:cmd-item-param id="SJ" dependency="0"/>

<pmp:cmd-item-text dependency="-1">

<pmp:text><![CDATA[G99]]></pmp:text>

</pmp:cmd-item-text>

<pmp:cmd-item-param id="X"/>

<pmp:cmd-item-param id="Y"/>

<pmp:cmd-item-param id="DT"/>

<pmp:cmd-item-param id="CP"/>

<pmp:cmd-item-param id="CF" outputToTape="1"/>

</pmp:block>

</pmp:definition>

</pmp:command>

<pmp:command id="BC" state="active">

<pmp:definition>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" longBlock="0"/>

<pmp:cmd-item-param id="SJ" dependency="0"/>

<pmp:cmd-item-text dependency="-1">

<pmp:text><![CDATA[G99]]></pmp:text>

</pmp:cmd-item-text>

<pmp:cmd-item-param id="X"/>

<pmp:cmd-item-param id="Y"/>

<pmp:cmd-item-param id="DT"/>

<pmp:cmd-item-param id="CP"/>

<pmp:cmd-item-param id="CF" outputToTape="1"/>

</pmp:block>

</pmp:definition>

</pmp:command>

<pmp:command id="BD" state="active">

<pmp:definition>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" longBlock="0"/>

<pmp:cmd-item-param id="SJ" dependency="0"/>

<pmp:cmd-item-text dependency="-1">

<pmp:text><![CDATA[G99]]></pmp:text>

</pmp:cmd-item-text>

<pmp:cmd-item-param id="X"/>

<pmp:cmd-item-param id="Y"/>

<pmp:cmd-item-param id="DT"/>

<pmp:cmd-item-param id="CP"/>

<pmp:cmd-item-param id="CF" outputToTape="1"/>

</pmp:block>

</pmp:definition>

</pmp:command>

<pmp:command id="BE" state="active">

<pmp:definition>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" longBlock="0"/>

<pmp:cmd-item-param id="SJ" dependency="0"/>

<pmp:cmd-item-text dependency="-1">

<pmp:text><![CDATA[G99]]></pmp:text>

</pmp:cmd-item-text>

<pmp:cmd-item-param id="X"/>

<pmp:cmd-item-param id="Y"/>

<pmp:cmd-item-param id="DT"/>

<pmp:cmd-item-param id="CP"/>

<pmp:cmd-item-param id="CF" outputToTape="1"/>

</pmp:block>

</pmp:definition>

</pmp:command>

<pmp:command id="SA" state="disallowed" disallowedMessage="Not Supported Cycle.">

<pmp:definition>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

</pmp:block>

</pmp:definition>

</pmp:command>

<pmp:command id="SC" state="disallowed" disallowedMessage="Not Supported Cycle.">

<pmp:definition>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

</pmp:block>

</pmp:definition>

</pmp:command>

<pmp:command id="EY" state="active">

<pmp:definition>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" longBlock="0"/>

<pmp:cmd-item-param id="SJ" dependency="0">

<pmp:item-value type="1"><![CDATA[CANNED_CYCLE_OFF]]></pmp:item-value>

</pmp:cmd-item-param>

</pmp:block>

</pmp:definition>

</pmp:command>

<pmp:command id="CC" state="active">

<pmp:definition>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-param id="MM" outputToTape="1" dependency="0"/>

<pmp:cmd-item-param id="CU"/>

<pmp:cmd-item-param id="F" outputToTape="1"/>

</pmp:block>

</pmp:definition>

</pmp:command>

<pmp:command id="FC" state="active">

<pmp:definition>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-param id="CU" outputToTape="1" dependency="0">

<pmp:item-value type="1"><![CDATA[OFF]]></pmp:item-value>

</pmp:cmd-item-param>

</pmp:block>

</pmp:definition>

</pmp:command>

<pmp:command id="CO" state="active">

<pmp:definition>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-param id="CO" outputToTape="1" dependency="0"/>

</pmp:block>

</pmp:definition>

</pmp:command>

<pmp:command id="CR" state="active">

<pmp:definition>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-param id="CO" outputToTape="1" dependency="0">

<pmp:item-value type="1"><![CDATA[OFF]]></pmp:item-value>

</pmp:cmd-item-param>

</pmp:block>

</pmp:definition>

</pmp:command>

<pmp:command id="ON" state="active">

<pmp:definition>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" dependency="0" longBlock="0"/>

<pmp:cmd-item-param id="S" outputToTape="1"/>

<pmp:cmd-item-param id="SE" outputToTape="1">

<pmp:item-links>

<pmp:item-link id="S" sign="1"/>

</pmp:item-links>

</pmp:cmd-item-param>

</pmp:block>

</pmp:definition>

</pmp:command>

<pmp:command id="ST" state="inactive">

<pmp:definition>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" longBlock="0"/>

<pmp:cmd-item-text dependency="0">

<pmp:text><![CDATA[(]]></pmp:text>

</pmp:cmd-item-text>

<pmp:cmd-item-param id="ST"/>

<pmp:cmd-item-text dependency="-1">

<pmp:text><![CDATA[)]]></pmp:text>

</pmp:cmd-item-text>

</pmp:block>

</pmp:definition>

</pmp:command>

<pmp:command id="TP" state="active">

<pmp:definition>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-text dependency="0">

<pmp:text><![CDATA[( ================= )]]></pmp:text>

</pmp:cmd-item-text>

</pmp:block>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-text dependency="0">

<pmp:text><![CDATA[(]]></pmp:text>

</pmp:cmd-item-text>

<pmp:cmd-item-param id="TP"/>

<pmp:cmd-item-text dependency="-1">

<pmp:text><![CDATA[ )]]></pmp:text>

</pmp:cmd-item-text>

</pmp:block>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-text dependency="0">

<pmp:text><![CDATA[(]]></pmp:text>

</pmp:cmd-item-text>

<pmp:cmd-item-param id="SF"/>

<pmp:cmd-item-text dependency="-1">

<pmp:text><![CDATA[ )]]></pmp:text>

</pmp:cmd-item-text>

</pmp:block>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-text dependency="-1">

<pmp:text><![CDATA[(]]></pmp:text>

</pmp:cmd-item-text>

<pmp:cmd-item-param id="TM" outputToTape="0"/>

<pmp:cmd-item-text dependency="-1">

<pmp:text><![CDATA[ )]]></pmp:text>

</pmp:cmd-item-text>

</pmp:block>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-text dependency="0">

<pmp:text><![CDATA[(]]></pmp:text>

</pmp:cmd-item-text>

<pmp:cmd-item-param id="WN"/>

<pmp:cmd-item-text dependency="-1">

<pmp:text><![CDATA[ )]]></pmp:text>

</pmp:cmd-item-text>

</pmp:block>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-text dependency="0">

<pmp:text><![CDATA[( ================= )]]></pmp:text>

</pmp:cmd-item-text>

</pmp:block>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-param id="N" outputToTape="0" longBlock="0"/>

<pmp:cmd-item-param id="MM" outputToTape="0" outputNext="1"/>

<pmp:cmd-item-param id="SJ" outputToTape="0" outputNext="1"/>

<pmp:cmd-item-param id="PL" outputToTape="0" outputNext="1"/>

<pmp:cmd-item-param id="F" outputToTape="0" outputNext="1"/>

</pmp:block>

</pmp:definition>

</pmp:command>

<pmp:command id="TI" state="inactive">

<pmp:definition>

<pmp:block>

<pmp:description><![CDATA[]]></pmp:description>

<pmp:cmd-item-text dependency="-1">

<pmp:text><![CDATA[]]></pmp:text>

</pmp:cmd-item-text>

</pmp:block>

</pmp:definition>

</pmp:command>

</pmp:commands>

<pmp:structures/>

<pmp:tables/>

<pmp:script language="JScript"><![CDATA[//===============================================================================================

// Who || When || What

//-----------------------------------------------------------------------------------------------

//

//-----------------------------------------------------------------------------------------------

]]></pmp:script>

</pmp:option-file>

Ссылка на сообщение
Поделиться на других сайтах


наверно нужен постпроцессор fanuc, для artcama. Повермилл и арткам две разные программы так что я думаю что и поспроцессоры у каждого свои..

Ссылка на сообщение
Поделиться на других сайтах

вот пост для арткама для хааса, положить надо в ..\ArtCAM 2008\postp

расширение файла

*.con

DESCRIPTION = "Haas-mm(mm) (*.NCC)"

;

FILE_EXTENSION = "NCC"

;

UNITS = MM

;

; Cariage return - line feed at end of each line

;

END_OF_LINE = "[13][10]"

;

; Block numbering

;

LINE_NUM_START = 0

LINE_NUM_INCREMENT = 10

LINE_NUM_MAXIMUM = 999999

;

; Set up default formating for variables

;

; Line numbering

FORMAT = [N|@|N|1.0]

; Spindle Speed

FORMAT = [s|@|S|1.0]

; Feed Rate

FORMAT = [F|#|F|1.1]

; Tool moves in x,y and z

FORMAT = [X|#|X|1.3]

FORMAT = [Y|#|Y|1.3]

FORMAT = [Z|#|Z|1.3]

; Arc Centre Cordinates

FORMAT = [i|@|I|1.3]

FORMAT = [J|@|J|1.3]

; Home tool positions

FORMAT = [XH|@|X|1.3]

FORMAT = [YH|@|Y|1.3]

FORMAT = [ZH|@|Z|1.3]

;

; Set up program header

;

START = "%"

START = "G00G17G40G80G90"

START = "T[T]M6 "

START = "M03 "

START = "G54G90X0Y0"

START = "G43[ZH]H[T]M8"

;

; Program moves

;

RAPID_RATE_MOVE = "G0[X][Y][Z]"

;

FIRST_FEED_RATE_MOVE = "G1[X][Y][Z][F]"

FEED_RATE_MOVE = "[X][Y][Z]"

;

FIRST_CW_ARC_MOVE = "G2[X][Y][J][F]"

CW_ARC_MOVE = "G2[X][Y][J]"

;

FIRST_CCW_ARC_MOVE = "G3[X][Y][J][F]"

CCW_ARC_MOVE = "G3[X][Y][J]"

;

; Cutter Compensation Support

CCOMP_LEFT = "G1[CCL][X][Y][F]"

CCOMP_RIGHT = "G1[CCR][X][Y][F]"

CCOMP_OFF = "[CCO][X][Y]"

;

; Toolchange

;

TOOLCHANGE = "G00G91G28Z0M09"

TOOLCHANGE = "M01"

TOOLCHANGE = "T[T]M6"

TOOLCHANGE = "M03"

TOOLCHANGE = "G54G90X0Y0"

TOOLCHANGE = "G43[ZH]H[T]M8"

;

;

; End of file

;

END = "G00G91G28Z0M09"

END = "M2"

END = "%"

;

Изменено пользователем trigius
Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




  • Сообщения

    • Рома калужский
      это код подключения шпинделя как ось "С" но при этом он не перемещает револьверку, т.е. не работает по программе
    • Горыныч
      Еще совет: строить нужно только половину, если модель симметричная, тогда Солид меньше "косячит". И соглашусь с коллегами, идеальный вариант для гладкого построения - два сечения и две направляющие кривые, т.е. 4 управляющие кривые (кромки). При необходимости можно добавлять не только промежуточное сечение, но и направление. Не нужно пятаться построить всю поверхность одним фичером.  Пусть поверхности будут лоскутами, но соединяются по касанию или кривизне. 
    • ДОБРЯК
      Откуда появится смещение центра масс колеса, если колесо сбалансировано.  Жесткий сбалансированный вал, это условие данной задачи. На 4000 оборотах эти силы будут минимальны. Это разговор ни о чем в данной задаче. :=) Но даже если вы абсолютно точно определите эти частоты, с учетом всех сил. Что дальше с этими частотами делать? На основании чего делать вывод о работоспособности изделия? Это в учебной работе получили число, работу приняли и сдали в архив. Какая практическая ценность всех этих уточнений в данном случае?:=)  
    • Борман
      Если еще не поздно... я и сам погрузился бы. Физика такая, для вала с одним колесом... F - это понятно, центробежное смещение центра масс колеса M - момент от центробежных сил, который не появится, если колесо не повернется при изгибе вала. Обрати внимание, что BW-момент выворачивает ось в сторону действия силы F, т.е. при обратной прецессии они действуют сообща, и в этом опасность.   Отсюда будут разные собственные частоты при прямой и обратной прецессиях.  Теперь осталось понять, что такое прямая и обратная прецессии :), и почему момент при них направлен в разные стороны. По первой части вопроса см. мою картинку в этой теме от 27 августа 2013. По второй части вопроса - нужно включать воображение и усердно рисовать на бумажке. Мне пока сложно.    Физика именно такая. Нужно как то оценить величину этого момента и приложить его в софте, который не умеет ДК. А с тестовыми значениями можно и так порешать, и на выходе должна быть вилка. Т.е. F - задает типа "биссектрису" вилки (престресс-модальник), а момент - угол вилки.  
    • boomeeeer
      @anykeyto Я не оператор. Настраивал работу этой функции на токарно-фрезерном, где нужно было позиционировать шпиндель, для нарезания пазов. Что такое G07 не знаю. Вот такой пример для фрезерного станка нашёл   G108 B0; переключение на ось B для управления положением; G68.2 X10 Y10 Z20 I0 J90 K0 Положение заготовки (10,10,20) Угол Эйлера для определения характеристической системы координат; G53.2 Управление направлением инструмента   G109 B0 - отключит режим
    • anykeyto
      Ага, спасибо... А в связке с G07.1 это как работает? Есть детали ,кольца, на которых надо делать по 4 паза. Сейчас программист написал прогу под шаровую фрезу. Там рабочие движеня происходят через одновременное смещение по оси Х и Z... фреза убивается буквально на третьем кольце, да и обработка получаестя фиговой.. На сколько я понимаю надо стремиться к тому, чтобы на 5ти осном станке фреза всегда была перпендикулярна касательной ли самой поверхности. Мне посоветовал как раз цилндрческую интерполяцию, когда ось С преобразуется в плоскость. В мануале к HNC описано эт криво, но в примерах программ как раз сначала включается CTOS и потом G07.1. но дальше как запрограммировать понимания пока нет...  P.S. хочу добавить, что на 5-снике раньше работал только как оператор по готовым программам  на Хенденхайне. А сейчас на новом предприятии на новой для меня стойке нужно все делать с нуля и самостоятельно. С одной стороны интересно, с другой стороны спросить не у кого, в инете инфы по стойке нет от слова совсем, уж тем более видео....  чем это отличается от просто G0 C180? Или это уже будет шпиндель позиционироваться, а не стол?
    • AlexKaz
      Различают жёсткие и гибкие ротора. В данном случае вал жёсткий. Для него соответствуюшая формула. 4000 об/мин = 66.67 Гц, это ни о чём, эффекты для такой частоты почти не скажутся на жёстком роторе. Но проблема в том, что в лопаточных машинах (а насос на скрине наверное лопаточная?) собственные кратны числу лопаток. Я не разбирался в вопросе чтобы что-то здесь советовать. Лучше не спешить и внимательно почитать про модальный в лопаточных. Заодно проверить, а какое нагружение идёт в деталях насоса чтобы корректно выполнить престресс.
    • ДОБРЯК
      Хотите еще и матрицу масс изменить. :=) И сколько килограмм воды будете присоединять?  Опыт правильного моделирования, опыт расчета таких конструкций накапливается десятилетиями. Маловероятно, что кто-то на форуме будет вам объяснять как правильно моделировать, какие КЭ использовать, какие граничные условия задавать и т. д. Вы же всегда уклоняетесь от разговора на эти темы, даже для простых моделей.  Даже если перейдете на Ансис и не разберётесь в том, что он считает это не поможет вам написать грамотный отчет и объяснить грамотному заказчику, что вы там насчитали. Считает расчетчик, а программа это инструмент. Это только в рекламе пишут, что купите программу трехмерного моделирования, сделайте трехмерную модель, потом нажмите одну кнопку и на обычном игровом компьютере все посчитаете. Только в жизни все немножко иначе...:=)
    • Jesse
      Вот что у Биргера: Центробежные силы и индуцированный гироскопический момент зависят от квадрата частоты вращения вала   Хотя уже сама критическая частота зависит только от момента инерции колеса (альфа, бэта, гамма - это прогибы, углы поворота и прочая шелуха), т.е. частота вращения в формулу не входит, а всё определяется только моментом инерции Jm Ну у него рассматривается простая одномассовая система (фактически грузик на пружинке). Думаю поискать публикации.. мб где то раскопали аналитическую зависимость первой и высшей СЧ от частоты вращения для сложных систем. Хотя если выяснится что зависит,  всё равно обоснование придумывать придётся.  Эхх...
    • Fedor
      https://www.litres.ru/book/v-n-faddeeva/vychislitelnye-metody-lineynoy-algebry-65999878/  Ну и классику жанра :) 
×
×
  • Создать...