Beckhoff ethercat 64 with bit linuxcnc, How to install.

More
23 Nov 2022 18:16 - 23 Nov 2022 18:16 #257497 by Sviper
my ethercat test maschine
Attachments:
Last edit: 23 Nov 2022 18:16 by Sviper.

Please Log in or Create an account to join the conversation.

More
23 Nov 2022 22:29 #257523 by boyzo

my ethercat test maschine
 

This is how I changed your .xml file:
<masters>
<master idx="0" appTimePeriod="1000000" refClockSyncCycles="1">
<slave idx="0" type="EK1100" name="EK1100"/>
<slave idx="1" type="EL1809" name="EL1809"/>
<slave idx="2" type="EL2809" name="EL2809"/>
<slave idx="3" type="generic" vid="00000002" pid="14536012" configPdos="true">
<syncManager idx="0" dir="out"> </syncManager>
<syncManager idx="1" dir="in"> </syncManager>
<syncManager idx="2" dir="out">
<pdo idx="1600">
<pdoEntry idx="7000" subIdx="03" bitLen="64" halType="complex">
<complexEntry bitLen="1" halPin="X-cmd-SwitchOn" halType="bit"/>
<complexEntry bitLen="1" halPin="X-cmd-EnableVoltage" halType="bit"/>
<complexEntry bitLen="1" halPin="X-cmd-/QuickStop" halType="bit"/>


based on pdos output:

=== Master 0, Slave 3 ===
SM0: PhysAddr 0x1800, DefaultSize  128, ControlRegister 0x26, Enable 1
SM1: PhysAddr 0x1a00, DefaultSize  128, ControlRegister 0x22, Enable 1
SM2: PhysAddr 0x1000, DefaultSize    0, ControlRegister 0x24, Enable 1
 RxPDO 0x0018 "MDT 1"
   PDO entry 0x0086:00, 16 bit, "Master control word"
   PDO entry 0x002f:00, 32 bit, "Position command value"
 RxPDO 0x1018 "MDT 2"
   PDO entry 0x0086:00, 16 bit, "Master control word"
   PDO entry 0x002f:00, 32 bit, "Position command value"
SM3: PhysAddr 0x1100, DefaultSize    0, ControlRegister 0x22, Enable 1
 TxPDO 0x0010 "AT 1"
   PDO entry 0x0087:00, 16 bit, "Drive status word"
   PDO entry 0x0033:00, 32 bit, "Position feedback 1 value"
   PDO entry 0x00bd:00, 32 bit, "Following distance"
 TxPDO 0x1010 "AT 2"
   PDO entry 0x0087:00, 16 bit, "Drive status word"
   PDO entry 0x0033:00, 32 bit, "Position feedback 1 value"
   PDO entry 0x00bd:00, 32 bit, "Following distance"


I know it is not correct, but I don't find documentation on relationship between pdos output and definition.

Is there any good documentation I can use?

Please Log in or Create an account to join the conversation.

More
24 Nov 2022 09:47 - 24 Nov 2022 09:48 #257551 by db1981
i have very less time at the moment.....

getting an ax5xxx running with the generic driver will get an very heavy task.

This is an SOE (Sercos) Drive, the drives stores no config data inside.
You have to complete config the drive with initcmds.( drive setup, motor data, pdo config etc.) every time you start lcnc.

the easiest way is to create an working drive config with Twincat, and then export the config data to get an initcmds.xml for the drive setup.
there are native drivers in lcnc-ethercat for the AX5xxx, for velocity control mode.

There are many threads with AX5XXX around here, where i have explained everything in detail....
there are also examples in linuxcnc-ethercat github.
Last edit: 24 Nov 2022 09:48 by db1981.
The following user(s) said Thank You: rodw

Please Log in or Create an account to join the conversation.

More
28 Nov 2022 22:23 #257901 by boyzo

the easiest way is to create an working drive config with Twincat, and then export the config data to get an initcmds.xml for the drive setup.
there are native drivers in lcnc-ethercat for the AX5xxx, for velocity control mode.

There are many threads with AX5XXX around here, where i have explained everything in detail....
there are also examples in linuxcnc-ethercat github.
 

I did export config from TC2 and edit .xml . I use linuxcnc-ethercat / examples / initcmds /AX5206-AM8032-async.xml as example. Then I create ethercat.xml, but I do not understand several tags and values there.
Can you please explain, what this statements represent and where I can get values from?


 
Attachments:

Please Log in or Create an account to join the conversation.

More
28 Nov 2022 22:57 #257912 by db1981
oh, the example is very old...

We have done an native AX Driver in the meantime.
<slave idx="3" type="AX5206" >
  <initCmds filename="AX5206-AM8032-async.xml"/>
  <!--
    IMPORTANT: in this case (sync1Cycle = n * sync0Cycle) sync1Cycle must be appTimePeriod - sync0Cycle)
   -->
   <dcConf assignActivate="730" sync0Cycle="250000" sync0Shift="50000" sync1Cycle="750000" sync1Shift="250000"/>
</slave>

this is all needed for AX Drive.

the dcConf line tells the master the DC Parameters for the Slave (get it from AX manual or device description xml)
the other lines from the example are for setting up an AX with the generic driver

Please Log in or Create an account to join the conversation.

More
28 Nov 2022 23:39 #257918 by rodw

oh, the example is very old...

We have done an native AX Driver in the meantime.
this is all needed for AX Drive.

 

Very interesting. What motors would you pair with a AX2506?

Please Log in or Create an account to join the conversation.

More
29 Nov 2022 13:42 #257975 by boyzo

oh, the example is very old...

We have done an native AX Driver in the meantime.
<slave idx="3" type="AX5206" >
  <initCmds filename="AX5206-AM8032-async.xml"/>
  <!--
    IMPORTANT: in this case (sync1Cycle = n * sync0Cycle) sync1Cycle must be appTimePeriod - sync0Cycle)
   -->
   <dcConf assignActivate="730" sync0Cycle="250000" sync0Shift="50000" sync1Cycle="750000" sync1Shift="250000"/>
</slave>

this is all needed for AX Drive.

 

Super, thank you.
Should I include my generated 
AX5206-AM8032-async.xml
 without any changes or I need to modify something?

Please Log in or Create an account to join the conversation.

More
29 Nov 2022 13:46 #257977 by boyzo

Very interesting. What motors would you pair with a AX2506?

I will use Beckhoff AM8541-1D10 2,37 Nm
The following user(s) said Thank You: rodw

Please Log in or Create an account to join the conversation.

More
29 Nov 2022 14:05 #257980 by db1981
you have to use our AX5203.xml . Initcmds looks ok.
Seems that there is one </initcmds> to much at the end of the file.

Please Log in or Create an account to join the conversation.

More
29 Nov 2022 23:10 #258044 by boyzo

you have to use our AX5203.xml . Initcmds looks ok.
Seems that there is one </initcmds> to much at the end of the file.

I downloaded AX configuration from sittner/ethercat/etc/xml/Beckhoff AX5xxx/Beckhoff AX5203-xxxx-0203 Dict.xml.
More I dive deep into, more questions I have.

How do I define hal I/O bits and other values I want to use, as example from AX5203.xml I want to use position feedback value 1 

            <Object>
                <Index>51</Index>
                <!-- S-0-0051 -->
                <Name LcId="1033"><![CDATA[Position feedback value 1 (motor feedback)]]></Name>
                <Comment LcId="1033"><![CDATA[The position feedback value 1 (motor feedback) displays the actual position of the motor feedback.]]></Comment>
                <Type>DINT</Type>
                <BitSize>32</BitSize>
                <Flags>
                    <PdoMapping>T</PdoMapping>
                    <Attribute>#x70220001</Attribute>
                </Flags>
                <Properties>
                    <Property>
                        <Name>UnitName</Name>
                        <Desc LcId="1033"><![CDATA[inc]]></Desc>
                    </Property>
                    <Property>
                        <Name>PROP_GROUP</Name>
                        <Value>6</Value>
                    </Property>
                    <Property>
                        <Name>PossibleListMemberOf</Name>
                        <Value>903</Value>
                    </Property>
                </Properties>
            </Object>


How do I use some other functions like DriveEnable? How do I find and define correct bit in my xml file?

Is internal communication between lcnc and drive done through ethercat telegram?

As I see, you put enormous amount of work in lclc ethercat project, but what I can not find is some documentation that I can use and find most of this answers by myself, not bother you every day.

Many thanks
 

Please Log in or Create an account to join the conversation.

Time to create page: 0.169 seconds
Powered by Kunena Forum