Ethercat auto configurator.
- kworm
- Offline
- Junior Member
Less
More
- Posts: 24
- Thank you received: 7
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.
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.
- endian
- Offline
- Elite Member
Less
More
- Posts: 172
- Thank you received: 42
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
but I am fighting with them right now to install non generic driver because in responsitories is only generic possible ..
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
- Topic Author
- Offline
- Platinum Member
Less
More
- Posts: 2245
- Thank you received: 1972
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
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.
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.
- kworm
- Offline
- Junior Member
Less
More
- Posts: 24
- Thank you received: 7
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.
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.
- endian
- Offline
- Elite Member
Less
More
- Posts: 172
- Thank you received: 42
30 Nov 2024 20:07 #315681
by endian
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
Replied by endian on topic Ethercat auto configurator.
Which mode U are running? If U run them in the@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.
- CSP - U have to tune your servos for your application ...
- CSV - U have to tune your PIDs and servos too for your appication ...
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.
- kworm
- Offline
- Junior Member
Less
More
- Posts: 24
- Thank you received: 7
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.
- endian
- Offline
- Elite Member
Less
More
- Posts: 172
- Thank you received: 42
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
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.
- fake_name
- Offline
- New Member
Less
More
- Posts: 3
- Thank you received: 2
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?
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.
- Salame
- Offline
- New Member
Less
More
- Posts: 4
- Thank you received: 2
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
- Topic Author
- Offline
- Platinum Member
Less
More
- Posts: 2245
- Thank you received: 1972
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.
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