Advanced Search

Search Results (Searched for: )

  • PCW
  • PCW's Avatar
07 Jun 2025 19:06
Replied by PCW on topic Index homing Heidenhain ls 403/exe602

Index homing Heidenhain ls 403/exe602

Category: Basic Configuration

I am still looking into this, I did make a small change to the encoder driver to simplify
the index spacing detection. (I added the option to not zero the position on index detection)
This should simplify the distance coded index detection hal component, otherwise I would
have needed to undo the encoder position zeroing in the hal component, and that was pretty ugly. 
  • PCW
  • PCW's Avatar
07 Jun 2025 18:58
Replied by PCW on topic Mesa 7i97T & LinuxCNC setup struggles

Mesa 7i97T & LinuxCNC setup struggles

Category: Installing LinuxCNC

I would try setting the following errors wider so you can see the actual behavior without getting an instant following error
(say 25 and 25 mm)

Then first set the PID up with all terms 0 except a small amount of P

Then check if the motors roughly hold position and move when jogged

 
  • TheTinkeringMechanic1
  • TheTinkeringMechanic1
07 Jun 2025 18:46
Replied by TheTinkeringMechanic1 on topic CNC lathe to grinder.

CNC lathe to grinder.

Category: Basic Configuration

Please read the post fully to understand why this is necessary.
  • TheTinkeringMechanic1
  • TheTinkeringMechanic1
07 Jun 2025 18:44
Replied by TheTinkeringMechanic1 on topic CNC lathe to grinder.

CNC lathe to grinder.

Category: Basic Configuration

I will get this posted as soon as I can. Thank you.
  • farmer_mike
  • farmer_mike
07 Jun 2025 17:59
Replied by farmer_mike on topic Experimental XML config generator

Experimental XML config generator

Category: EtherCAT

Thanks for the help everyone. I decided to move my project to a Raspberry Pi 4, so I made sure to use the latest versions of LinuxCNC and Ethercat. I think I have the experimental XML config working now. I am a little unsure what to do with the output file. 

I'll paste two files below. The first file is the ethercat-conf.xml from my CNC project when I had a single axis using an Rtelligent ECT 60 stepper motor.The single axis worked, so I have since bought two Rtelligent RS750E AC Servo drives. All I have done with the RS750E drives is power them up and connect the Ethernet. I haven't done any onboard parameter programming yet.

The experimental XML config generator recognized all three drives in order.

Is the output from the experimental XML config generator meant to be used to create the ethercat-conf.xml file?
<masters>
  <master idx="0" appTimePeriod="1000000" refClockSyncCycles="1">
    <!-- Joint 0 -->
    <slave idx="0" type="generic" vid="00000a88" pid="0a880002" configPdos="true">
      <dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="0"/>
      <sdoConfig idx="2000" subIdx="0"><sdoDataRaw data ="88 13"/></sdoConfig>  <!-- Max motor current (5.0) -->
      <sdoConfig idx="2007" subIdx="6"><sdoDataRaw data ="05"/></sdoConfig>     <!-- Input 6 - Emergency Stop -->
      <sdoConfig idx="2007" subIdx="5"><sdoDataRaw data ="05"/></sdoConfig>     <!-- Input 3 - Home Function -->
      <sdoConfig idx="2011" subIdx="0"><sdoDataRaw data ="01 00"/></sdoConfig>  <!-- Closed loop -->
      <sdoConfig idx="6098" subIdx="0"><sdoDataRaw data ="11 00"/></sdoConfig>  <!-- Home mode 17 -->
      <sdoConfig idx="607C" subIdx="0"><sdoDataRaw data ="00 00"/></sdoConfig>  <!-- Home offset 0  -->
      <sdoConfig idx="609A" subIdx="0"><sdoDataRaw data ="F4 01"/></sdoConfig>  <!-- Home accelleration 500 -->
      <sdoConfig idx="6099" subIdx="01"><sdoDataRaw data ="C4 09"/></sdoConfig>  <!-- Home fast speed 2500-->
      <sdoConfig idx="6099" subIdx="02"><sdoDataRaw data ="F4 01"/></sdoConfig>  <!-- Home slow speed 500 -->
      <syncManager idx="2" dir="out">
        <pdo idx="1600">
          <pdoEntry idx="6040" subIdx="00" bitLen="16" halPin="cia-controlword" halType="u32"/>
          <pdoEntry idx="6060" subIdx="00" bitLen="8" halPin="opmode" halType="s32"/>
          <!-- Target Position -->
          <pdoEntry idx="607A" subIdx="00" bitLen="32" halPin="target-position" halType="s32"/>
          <!-- Target Velocity -->
          <pdoEntry idx="60FF" subIdx="00" bitLen="32" halPin="target-velocity" halType="s32"/>
          <!-- Digtial Outputs (manufacturer's extension ECT86/ECT60)-->
          <pdoEntry idx="204A" subIdx="0" bitLen="16" halType="complex">
            <complexEntry bitLen="1" halPin="out-1" halType="bit"/>
            <complexEntry bitLen="1" halPin="out-2" halType="bit"/>
            <complexEntry bitLen="14"/>
          </pdoEntry>
        </pdo>
      </syncManager>
      <syncManager idx="3" dir="in">
        <pdo idx="1a00">
          <pdoEntry idx="6041" subIdx="00" bitLen="16" halPin="cia-statusword" halType="u32"/>
          <pdoEntry idx="6061" subIdx="00" bitLen="8" halPin="opmode-display" halType="s32"/>
          <pdoEntry idx="6064" subIdx="00" bitLen="32" halPin="actual-position" halType="s32"/>
          <pdoEntry idx="606C" subIdx="00" bitLen="32" halPin="actual-velocity" halType="s32"/>
          <pdoEntry idx="6077" subIdx="00" bitLen="32" halPin="actual-torque" halType="s32"/>
          <!-- Digtial_inputs (cia402 compatible) -->
          <pdoEntry idx="60FD" subIdx="0" bitLen="32" halType="complex">
            <complexEntry bitLen="1" halPin="CW-limit" halType="bit"/>
            <complexEntry bitLen="1" halPin="CCW-limit" halType="bit"/>
            <complexEntry bitLen="1" halPin="in-home" halType="bit"/>
            <complexEntry bitLen="13"/>
            <complexEntry bitLen="1" halPin="in-1" halType="bit"/>
            <complexEntry bitLen="1" halPin="in-2" halType="bit"/>
            <complexEntry bitLen="1" halPin="in-3" halType="bit"/>
            <complexEntry bitLen="1" halPin="in-4" halType="bit"/>
            <complexEntry bitLen="1" halPin="in-5" halType="bit"/>
            <complexEntry bitLen="1" halPin="in-6" halType="bit"/>
            <complexEntry bitLen="10"/>
          </pdoEntry>          
        </pdo>
      </syncManager>
    </slave>
 
    
   </master>
</masters>


<masters>
  <master idx="0">
    <slave idx="0" type="ECT60" name="D1">
      <!-- Enable support for Cyclic Synchronous Position mode. -->
      <modParam name="enableCSP" value="true"/>
      
      <!-- Enable support for Cyclic Synchronous Velocity mode. -->
      <modParam name="enableCSV" value="false"/>
      
      <!-- Maximum stepper Amps. -->
      <modParam name="peakCurrent_amps" value="6.0"/>
      
      <!-- Operation mode: openloop, closedloop, or foc. -->
      <modParam name="controlMode" value="closedloop"/>
      
      <!-- Number of encoder steps per revolution. -->
      <modParam name="encoderResolution" value="4000"/>
      
      <!-- Output 1 use: general, alarm, brake, in-place. -->
      <modParam name="output1Func" value="alarm"/>
      
      <!-- Output 2 use: general, alarm, brake, in-place. -->
      <modParam name="output2Func" value="brake"/>
      
      <!-- Input 3 use: general, cw-limit, ccw-limit, home, clear-fault, emergency-stop, motor-offline, probe1, probe2 -->
      <modParam name="input3Func" value="cw-limit"/>
      
      <!-- Input 4 use: general, cw-limit, ccw-limit, home, clear-fault, emergency-stop, motor-offline, probe1, probe2 -->
      <modParam name="input4Func" value="ccw-limit"/>
      
      <!-- Input 5 use: general, cw-limit, ccw-limit, home, clear-fault, emergency-stop, motor-offline, probe1, probe2 -->
      <modParam name="input5Func" value="home"/>
      
      <!-- Input 6 use: general, cw-limit, ccw-limit, home, clear-fault, emergency-stop, motor-offline, probe1, probe2 -->
      <modParam name="input6Func" value="motor-offline"/>
      
    </slave>
    <slave idx="1" type="basic_cia402" vid="0x00000a88" pid="0x0a880013" name="D2">
      <!--RS750E(COE)-->
      <modParam name="ciaRxPDOEntryLimit" value="9"/>
      <modParam name="ciaTxPDOEntryLimit" value="9"/>
      <modParam name="enablePP" value="true"/>
      <modParam name="enablePV" value="true"/>
      <modParam name="enableTQ" value="true"/>
      <modParam name="enableHM" value="true"/>
      <modParam name="enableCSP" value="true"/>
      <modParam name="enableCSV" value="true"/>
      <modParam name="enableCST" value="true"/>
      <modParam name="enableActualFollowingError" value="true"/>
      <modParam name="enableActualTorque" value="true"/>
      <modParam name="enableDigitalInput" value="true"/>
      <modParam name="digitalInChannels" value="16"/>
      <modParam name="enableDigitalOutput" value="true"/>
      <modParam name="digitalOutChannels" value="16"/>
      <modParam name="enableErrorCode" value="true"/>
      <modParam name="enableFollowingErrorTimeout" value="true"/>
      <modParam name="enableFollowingErrorWindow" value="true"/>
      <modParam name="enableHomeAccel" value="true"/>
      <modParam name="enableMaximumCurrent" value="true"/>
      <modParam name="enableMaximumTorque" value="true"/>
      <modParam name="enablePolarity" value="true"/>
      <modParam name="enablePositionDemand" value="true"/>
      <modParam name="enablePositioningTime" value="true"/>
      <modParam name="enablePositioningWindow" value="true"/>
      <modParam name="enableProbeStatus" value="true"/>
      <modParam name="enableProfileAccel" value="true"/>
      <modParam name="enableProfileDecel" value="true"/>
      <modParam name="enableProfileMaxVelocity" value="true"/>
      <modParam name="enableProfileVelocity" value="true"/>
      <modParam name="enableTargetTorque" value="true"/>
      <modParam name="enableTorqueDemand" value="true"/>
      <modParam name="enableTorqueSlope" value="true"/>
      <modParam name="enableVelocityErrorTime" value="true"/>
      <modParam name="enableVelocityErrorWindow" value="true"/>
    </slave>
    <slave idx="2" type="basic_cia402" vid="0x00000a88" pid="0x0a880013" name="D3">
      <!--RS750E(COE)-->
      <modParam name="ciaRxPDOEntryLimit" value="9"/>
      <modParam name="ciaTxPDOEntryLimit" value="9"/>
      <modParam name="enablePP" value="true"/>
      <modParam name="enablePV" value="true"/>
      <modParam name="enableTQ" value="true"/>
      <modParam name="enableHM" value="true"/>
      <modParam name="enableCSP" value="true"/>
      <modParam name="enableCSV" value="true"/>
      <modParam name="enableCST" value="true"/>
      <modParam name="enableActualFollowingError" value="true"/>
      <modParam name="enableActualTorque" value="true"/>
      <modParam name="enableDigitalInput" value="true"/>
      <modParam name="digitalInChannels" value="16"/>
      <modParam name="enableDigitalOutput" value="true"/>
      <modParam name="digitalOutChannels" value="16"/>
      <modParam name="enableErrorCode" value="true"/>
      <modParam name="enableFollowingErrorTimeout" value="true"/>
      <modParam name="enableFollowingErrorWindow" value="true"/>
      <modParam name="enableHomeAccel" value="true"/>
      <modParam name="enableMaximumCurrent" value="true"/>
      <modParam name="enableMaximumTorque" value="true"/>
      <modParam name="enablePolarity" value="true"/>
      <modParam name="enablePositionDemand" value="true"/>
      <modParam name="enablePositioningTime" value="true"/>
      <modParam name="enablePositioningWindow" value="true"/>
      <modParam name="enableProbeStatus" value="true"/>
      <modParam name="enableProfileAccel" value="true"/>
      <modParam name="enableProfileDecel" value="true"/>
      <modParam name="enableProfileMaxVelocity" value="true"/>
      <modParam name="enableProfileVelocity" value="true"/>
      <modParam name="enableTargetTorque" value="true"/>
      <modParam name="enableTorqueDemand" value="true"/>
      <modParam name="enableTorqueSlope" value="true"/>
      <modParam name="enableVelocityErrorTime" value="true"/>
      <modParam name="enableVelocityErrorWindow" value="true"/>
    </slave>
  </master>
</masters>

  • farmer_mike
  • farmer_mike
07 Jun 2025 17:55
test post was created by farmer_mike

test post

Category: Off Topic and Test Posts

Thanks for the help everyone. I decided to move my project to a Raspberry Pi 4, so I made sure to use the latest versions of LinuxCNC and Ethercat. I think I have the experimental XML config working now. I am a little unsure what to do with the output file. 

I'll paste two files below. The first file is the ethercat-conf.xml from my CNC project when I had a single axis using an Rtelligent ECT 60 stepper motor.The single axis worked, so I have since bought two Rtelligent RS750E AC Servo drives. All I have done with the RS750E drives is power them up and connect the Ethernet. I haven't done any onboard parameter programming yet.

The experimental XML config generator recognized all three drives in order.

Is the output from the experimental XML config generator meant to be used to create the ethercat-conf.xml file?
<masters>
  <master idx="0" appTimePeriod="1000000" refClockSyncCycles="1">
    <!-- Joint 0 -->
    <slave idx="0" type="generic" vid="00000a88" pid="0a880002" configPdos="true">
      <dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="0"/>
      <sdoConfig idx="2000" subIdx="0"><sdoDataRaw data ="88 13"/></sdoConfig>  <!-- Max motor current (5.0) -->
      <sdoConfig idx="2007" subIdx="6"><sdoDataRaw data ="05"/></sdoConfig>     <!-- Input 6 - Emergency Stop -->
      <sdoConfig idx="2007" subIdx="5"><sdoDataRaw data ="05"/></sdoConfig>     <!-- Input 3 - Home Function -->
      <sdoConfig idx="2011" subIdx="0"><sdoDataRaw data ="01 00"/></sdoConfig>  <!-- Closed loop -->
      <sdoConfig idx="6098" subIdx="0"><sdoDataRaw data ="11 00"/></sdoConfig>  <!-- Home mode 17 -->
      <sdoConfig idx="607C" subIdx="0"><sdoDataRaw data ="00 00"/></sdoConfig>  <!-- Home offset 0  -->
      <sdoConfig idx="609A" subIdx="0"><sdoDataRaw data ="F4 01"/></sdoConfig>  <!-- Home accelleration 500 -->
      <sdoConfig idx="6099" subIdx="01"><sdoDataRaw data ="C4 09"/></sdoConfig>  <!-- Home fast speed 2500-->
      <sdoConfig idx="6099" subIdx="02"><sdoDataRaw data ="F4 01"/></sdoConfig>  <!-- Home slow speed 500 -->
      <syncManager idx="2" dir="out">
        <pdo idx="1600">
          <pdoEntry idx="6040" subIdx="00" bitLen="16" halPin="cia-controlword" halType="u32"/>
          <pdoEntry idx="6060" subIdx="00" bitLen="8" halPin="opmode" halType="s32"/>
          <!-- Target Position -->
          <pdoEntry idx="607A" subIdx="00" bitLen="32" halPin="target-position" halType="s32"/>
          <!-- Target Velocity -->
          <pdoEntry idx="60FF" subIdx="00" bitLen="32" halPin="target-velocity" halType="s32"/>
          <!-- Digtial Outputs (manufacturer's extension ECT86/ECT60)-->
          <pdoEntry idx="204A" subIdx="0" bitLen="16" halType="complex">
            <complexEntry bitLen="1" halPin="out-1" halType="bit"/>
            <complexEntry bitLen="1" halPin="out-2" halType="bit"/>
            <complexEntry bitLen="14"/>
          </pdoEntry>
        </pdo>
      </syncManager>
      <syncManager idx="3" dir="in">
        <pdo idx="1a00">
          <pdoEntry idx="6041" subIdx="00" bitLen="16" halPin="cia-statusword" halType="u32"/>
          <pdoEntry idx="6061" subIdx="00" bitLen="8" halPin="opmode-display" halType="s32"/>
          <pdoEntry idx="6064" subIdx="00" bitLen="32" halPin="actual-position" halType="s32"/>
          <pdoEntry idx="606C" subIdx="00" bitLen="32" halPin="actual-velocity" halType="s32"/>
          <pdoEntry idx="6077" subIdx="00" bitLen="32" halPin="actual-torque" halType="s32"/>
          <!-- Digtial_inputs (cia402 compatible) -->
          <pdoEntry idx="60FD" subIdx="0" bitLen="32" halType="complex">
            <complexEntry bitLen="1" halPin="CW-limit" halType="bit"/>
            <complexEntry bitLen="1" halPin="CCW-limit" halType="bit"/>
            <complexEntry bitLen="1" halPin="in-home" halType="bit"/>
            <complexEntry bitLen="13"/>
            <complexEntry bitLen="1" halPin="in-1" halType="bit"/>
            <complexEntry bitLen="1" halPin="in-2" halType="bit"/>
            <complexEntry bitLen="1" halPin="in-3" halType="bit"/>
            <complexEntry bitLen="1" halPin="in-4" halType="bit"/>
            <complexEntry bitLen="1" halPin="in-5" halType="bit"/>
            <complexEntry bitLen="1" halPin="in-6" halType="bit"/>
            <complexEntry bitLen="10"/>
          </pdoEntry>          
        </pdo>
      </syncManager>
    </slave>
 
    
   </master>
</masters>



<masters>
  <master idx="0">
    <slave idx="0" type="ECT60" name="D1">
      <!-- Enable support for Cyclic Synchronous Position mode. -->
      <modParam name="enableCSP" value="true"/>
      
      <!-- Enable support for Cyclic Synchronous Velocity mode. -->
      <modParam name="enableCSV" value="false"/>
      
      <!-- Maximum stepper Amps. -->
      <modParam name="peakCurrent_amps" value="6.0"/>
      
      <!-- Operation mode: openloop, closedloop, or foc. -->
      <modParam name="controlMode" value="closedloop"/>
      
      <!-- Number of encoder steps per revolution. -->
      <modParam name="encoderResolution" value="4000"/>
      
      <!-- Output 1 use: general, alarm, brake, in-place. -->
      <modParam name="output1Func" value="alarm"/>
      
      <!-- Output 2 use: general, alarm, brake, in-place. -->
      <modParam name="output2Func" value="brake"/>
      
      <!-- Input 3 use: general, cw-limit, ccw-limit, home, clear-fault, emergency-stop, motor-offline, probe1, probe2 -->
      <modParam name="input3Func" value="cw-limit"/>
      
      <!-- Input 4 use: general, cw-limit, ccw-limit, home, clear-fault, emergency-stop, motor-offline, probe1, probe2 -->
      <modParam name="input4Func" value="ccw-limit"/>
      
      <!-- Input 5 use: general, cw-limit, ccw-limit, home, clear-fault, emergency-stop, motor-offline, probe1, probe2 -->
      <modParam name="input5Func" value="home"/>
      
      <!-- Input 6 use: general, cw-limit, ccw-limit, home, clear-fault, emergency-stop, motor-offline, probe1, probe2 -->
      <modParam name="input6Func" value="motor-offline"/>
      
    </slave>
    <slave idx="1" type="basic_cia402" vid="0x00000a88" pid="0x0a880013" name="D2">
      <!--RS750E(COE)-->
      <modParam name="ciaRxPDOEntryLimit" value="9"/>
      <modParam name="ciaTxPDOEntryLimit" value="9"/>
      <modParam name="enablePP" value="true"/>
      <modParam name="enablePV" value="true"/>
      <modParam name="enableTQ" value="true"/>
      <modParam name="enableHM" value="true"/>
      <modParam name="enableCSP" value="true"/>
      <modParam name="enableCSV" value="true"/>
      <modParam name="enableCST" value="true"/>
      <modParam name="enableActualFollowingError" value="true"/>
      <modParam name="enableActualTorque" value="true"/>
      <modParam name="enableDigitalInput" value="true"/>
      <modParam name="digitalInChannels" value="16"/>
      <modParam name="enableDigitalOutput" value="true"/>
      <modParam name="digitalOutChannels" value="16"/>
      <modParam name="enableErrorCode" value="true"/>
      <modParam name="enableFollowingErrorTimeout" value="true"/>
      <modParam name="enableFollowingErrorWindow" value="true"/>
      <modParam name="enableHomeAccel" value="true"/>
      <modParam name="enableMaximumCurrent" value="true"/>
      <modParam name="enableMaximumTorque" value="true"/>
      <modParam name="enablePolarity" value="true"/>
      <modParam name="enablePositionDemand" value="true"/>
      <modParam name="enablePositioningTime" value="true"/>
      <modParam name="enablePositioningWindow" value="true"/>
      <modParam name="enableProbeStatus" value="true"/>
      <modParam name="enableProfileAccel" value="true"/>
      <modParam name="enableProfileDecel" value="true"/>
      <modParam name="enableProfileMaxVelocity" value="true"/>
      <modParam name="enableProfileVelocity" value="true"/>
      <modParam name="enableTargetTorque" value="true"/>
      <modParam name="enableTorqueDemand" value="true"/>
      <modParam name="enableTorqueSlope" value="true"/>
      <modParam name="enableVelocityErrorTime" value="true"/>
      <modParam name="enableVelocityErrorWindow" value="true"/>
    </slave>
    <slave idx="2" type="basic_cia402" vid="0x00000a88" pid="0x0a880013" name="D3">
      <!--RS750E(COE)-->
      <modParam name="ciaRxPDOEntryLimit" value="9"/>
      <modParam name="ciaTxPDOEntryLimit" value="9"/>
      <modParam name="enablePP" value="true"/>
      <modParam name="enablePV" value="true"/>
      <modParam name="enableTQ" value="true"/>
      <modParam name="enableHM" value="true"/>
      <modParam name="enableCSP" value="true"/>
      <modParam name="enableCSV" value="true"/>
      <modParam name="enableCST" value="true"/>
      <modParam name="enableActualFollowingError" value="true"/>
      <modParam name="enableActualTorque" value="true"/>
      <modParam name="enableDigitalInput" value="true"/>
      <modParam name="digitalInChannels" value="16"/>
      <modParam name="enableDigitalOutput" value="true"/>
      <modParam name="digitalOutChannels" value="16"/>
      <modParam name="enableErrorCode" value="true"/>
      <modParam name="enableFollowingErrorTimeout" value="true"/>
      <modParam name="enableFollowingErrorWindow" value="true"/>
      <modParam name="enableHomeAccel" value="true"/>
      <modParam name="enableMaximumCurrent" value="true"/>
      <modParam name="enableMaximumTorque" value="true"/>
      <modParam name="enablePolarity" value="true"/>
      <modParam name="enablePositionDemand" value="true"/>
      <modParam name="enablePositioningTime" value="true"/>
      <modParam name="enablePositioningWindow" value="true"/>
      <modParam name="enableProbeStatus" value="true"/>
      <modParam name="enableProfileAccel" value="true"/>
      <modParam name="enableProfileDecel" value="true"/>
      <modParam name="enableProfileMaxVelocity" value="true"/>
      <modParam name="enableProfileVelocity" value="true"/>
      <modParam name="enableTargetTorque" value="true"/>
      <modParam name="enableTorqueDemand" value="true"/>
      <modParam name="enableTorqueSlope" value="true"/>
      <modParam name="enableVelocityErrorTime" value="true"/>
      <modParam name="enableVelocityErrorWindow" value="true"/>
    </slave>
  </master>
</masters>

Displaying 15376 - 15381 out of 15381 results.
Time to create page: 0.848 seconds
Powered by Kunena Forum