Ethercat auto configurator.

More
1 year 11 months ago #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.

Please Log in to join the conversation.

More
1 year 11 months ago #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
Code:
./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 ..

Please Log in to join the conversation.

More
1 year 11 months ago #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
Code:
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.


 

Please Log in to join the conversation.

More
1 year 11 months ago #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.

Please Log in to join the conversation.

More
1 year 11 months ago #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 to join the conversation.

More
1 year 11 months ago #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 to join the conversation.

More
1 year 11 months ago #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
​​

Please Log in to join the conversation.

More
1 year 10 months ago #315766 by fake_name
All links in the OP are broken.

Why on earth does something to configure ethercat require the entirety of OpenCascade?

Please Log in to join the conversation.

More
1 year 10 months ago #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?

Please Log in to join the conversation.

More
1 year 10 months ago #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.
 

Please Log in to join the conversation.

Time to create page: 0.115 seconds
Powered by Kunena Forum