Ethercat auto configurator.

More
29 Nov 2024 14:45 #315551 by kworm
Replied by kworm on topic Ethercat auto configurator.
Hi Grotius,

Nice Work!  I think you would have to implement support for vendor ESI files in order to auto configure/point-and-click more complex devices like servo drives, vfds, etc.  or would still need to use something like TwinCAT development environment for the initial setup.  Otherwise I don't think IgH ethercat master will be able to retrieve the PDOs from the slave devices and user would have to still manually try to configure with SDOs which is hit and miss for some devices...not sure if that's IgH master or linuxcnc-ethercat but seems to have something to do with EoE not working and being enabled by default in IgH master.  @Endian was able to solve the SDO config by disabling EoE in his IgH master I think.
The following user(s) said Thank You: Grotius

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

More
29 Nov 2024 19:01 #315573 by endian
Replied by endian on topic Ethercat auto configurator.
hi,

if you are building ethercat-master from source... there is possibility to disable eoe on master during ./configure script for example
./configure --sysconfdir=/etc/ --disable-8139too --enable-userlib --disable-generic --disable-eoe --enable-e1000e

but I am fighting with them right now to install non generic driver because in responsitories is only generic possible ..
The following user(s) said Thank You: Grotius, kworm

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

  • Grotius
  • Grotius's Avatar Topic Author
  • Offline
  • Platinum Member
  • Platinum Member
More
29 Nov 2024 20:51 #315585 by Grotius
Replied by Grotius on topic Ethercat auto configurator.
@Kworm,

I think the current code is able to setup connections for input's and output's for all kind of ethercat devices.
Not all data type's are integrated yet. 1,8,16,64 bit data type is integrated. But there are more types.

It's just following a digital "ethercat xml" structure. From there it creates pdo's. The actual xml structure in
the core code is a complexer struct :

~/realtime_app/src/vendor/ethercat_master/tool/common.h
struct ethercat_entry_data {
    ec_ioctl_slave_sync_pdo_entry_t entry;
    ethercat_data_type data_type;
};

// Pdo entry's of a pdo.
struct ethercat_pdo_data {
    ec_ioctl_slave_sync_pdo_t pdo;
    ethercat_pdo_type pdoType;
    std::vector<ethercat_entry_data> entry_vec;
};

// Pdo's of a sync.
struct ethercat_sync_data {
    ec_ioctl_slave_sync_t sync;
    std::vector<ethercat_pdo_data> pdo_vec;
};

// Device and sync's
struct ethercat_device_data {
    ec_ioctl_slave_t slave;
    std::vector<ethercat_sync_data> sync_vec;

    unsigned int offset;
    unsigned int bit_position;
};


It setup's 1 bit, 8 bit, 16 bit, 64 bit value's and start adress for input and outputs.
There is no typical driver code for a certain servo drive.

If code is expanded, it can match a xml product code to use a certain servo driver setup.  This is
like linuxcnc-ethercat

If i had a servo here, i certainly would test it out.

My goal so far was to be able to interact with ethercat-master using a auto configurator.
This was quite a bit off work to get that done.
In that process i got some insights how automate this process for linuxcnc.


 
The following user(s) said Thank You: endian, kworm

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

More
30 Nov 2024 17:03 - 30 Nov 2024 19:51 #315664 by kworm
Replied by kworm on topic Ethercat auto configurator.
@Grotius,

I was suggesting you would need ESI support if you wanted to be able to avoid having to have special code for specific devices like linuxcnc-ethercat does. Ie, if you were wanting it to work something like twincat or other commercial products do.

@Endian,

Have you seen any issues on ethercat with the current position dropping to zero intermittently...noticed on the DRO? I've been attempting to use LCNC on a machine that has G1 acceleration of 1m/s and G0 acceleration of 3m/s (feed is 25-50m/min) and I keep getting following errors.
Last edit: 30 Nov 2024 19:51 by kworm. Reason: Correct acceleration and feed

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

More
30 Nov 2024 20:07 #315681 by endian
Replied by endian on topic Ethercat auto configurator.

@Grotius,

I was suggesting you would need ESI support if you wanted to be able to avoid having to have special code for specific devices like linuxcnc-ethercat does. Ie, if you were wanting it to work something like twincat or other commercial products do.

@Endian,

Have you seen any issues on ethercat with the current position dropping to zero intermittently...noticed on the DRO? I've been attempting to use LCNC on a machine that has G1 acceleration of 1m/s and G0 acceleration of 3m/s (feed is 25-50m/min) and I keep getting following errors.

Which mode U are running? If U run them in the
  • CSP - U have to tune your servos for your application ...
  • CSV - U have to tune your PIDs and servos too for your appication ...
For ethercat control is lcnc only a trajectory planner such as realtime "position sender" where to go and all control stuff as positioning corrections accel. and deccel. or velocity servo calculates internally ... they are 1st and 2nd derivations of position and ethercat interface of servo has tools to calculate them..

bdw .. I have stuff which has this control loop at 250us but should be faster as siemens DriveCliq S120 drivers which are running at 31.25us

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

More
30 Nov 2024 20:54 #315685 by kworm
Replied by kworm on topic Ethercat auto configurator.
They are running in CSP mode and servos have been tuned. They work fine with 2000us control loop with TwinCAT CNC with the same config. I don't mean to hijack Grotius thread just thought I would see if you had seen this.

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

More
30 Nov 2024 21:17 #315686 by endian
Replied by endian on topic Ethercat auto configurator.
You have not SDO config out of lcnc .. check setup of PDO 60C2 index 2 and 3 ... It has to be setup in your ethercat-conf.xml file .. probably you has wrong timing for sure.. it should happend because of free run of PLC and there is SDO download which are overwriting them 

Try to find my old post with s300 kollmorgen xml setup .. there they are 60C2s with 1ms values
​​
The following user(s) said Thank You: kworm

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

More
02 Dec 2024 06:04 - 02 Dec 2024 06:05 #315766 by fake_name
Replied by fake_name on topic Ethercat auto configurator.
All links in the OP are broken.

Why on earth does something to configure ethercat require the entirety of OpenCascade?
Last edit: 02 Dec 2024 06:05 by fake_name.
The following user(s) said Thank You: Salame

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

More
05 Dec 2024 10:17 #316009 by Salame
Replied by Salame on topic Ethercat auto configurator.
I'm still at the beginning of my LCNC experience, it means that any servo drive will be auto configured? If you want to make some test I can send you one, where are you located?
The following user(s) said Thank You: Grotius

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

  • Grotius
  • Grotius's Avatar Topic Author
  • Offline
  • Platinum Member
  • Platinum Member
More
05 Dec 2024 12:50 #316013 by Grotius
Replied by Grotius on topic Ethercat auto configurator.
Hi Salame,

I live in Holland near Gorinchem and Rotterdam.
It would be great to have a servo drive and motor and test it to be auto configurated.

it means that any servo drive will be auto configured?
At this stage, i can not confirm this.
When i retrieve the info from the ethercat bus, and pdo config is made for the drive.

Then i can test the servo drive to send commands.

It would not mean every drive would have the same pdo config, these would be different,
but we can automaticly sort data out and do suggestions for that data like:

If it comes out that a servo position command is always a 64 bit value. Then we can already map this to
a position command. It's just figuring out a few things.

If it turn's out there isn't any logical explanation in the servo pdo config. Then we can add a 
template for that particular servo drive vendor id.

@Fakename
The links are broken indeed, the source has moved to :
codeberg.org/skynet/realtime_app/src/bra...dor/ethercat_twincat

It is part of a bigger project that used opencascade.
 
The following user(s) said Thank You: tommylight

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

Time to create page: 0.107 seconds
Powered by Kunena Forum