CiA 402 Folder Missing

More
7 months 4 weeks ago - 7 months 4 weeks ago #343775 by Konstantin
Replied by Konstantin on topic CiA 402 Folder Missing
@andrax
You are right, the encoders are absolute and have batteries. Perhaps, the homing may be needed for squaring the gantry.

I changed all the cables with CAT6 and there are no loops. Attached are the terminal outputs for "ethercat master", "ethercat slaves" and "sudo dmesg". The synchronization errors seem to be disappeared. There is still some errors but I am not sure if they influence the EtherCAT synchronization.

When I try to execute "dmesg | grep ethercat" it does not output anything, just moves to a new row in the terminal.

EDIT 1: After I ran LinuxCNC and executed "sudo dmesg", it showed a warning that says 'Slave did not sync after 5000ms'. Attaches is a new file - dmesg_new.txt. It contains the warning for synchronization.

EDIT 2: Something weird happens to my system. After playing with LinuxCNC with different configuration, the same syncronization error appears again. It seems that the cable did not help. Attached is the lates "sudo dmesg" output - dmesg_last.txt
 
Last edit: 7 months 4 weeks ago by Konstantin. Reason: Adding new information

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

More
7 months 4 weeks ago - 7 months 4 weeks ago #343798 by andrax
Replied by andrax on topic CiA 402 Folder Missing
dmesg_new looks better.
However, your vid and pid are incorrect.
They are from Stepperonline A6.
You must enter those from your servos.
vid according to manufacturer xml: 00000eff
pid: 0d3e0001 (not sure)

Note:
please use: dmesg | grep ethercat as root
sudo su
password
dmesg | grep ethercat
that's conspicuous
EtherCAT ERROR 0-3: AL status message 0x001A: "Synchronization error".
Last edit: 7 months 4 weeks ago by andrax.

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

More
7 months 4 weeks ago - 7 months 4 weeks ago #343849 by Konstantin
Replied by Konstantin on topic CiA 402 Folder Missing
@andrax
How do you know that the vid and pid are wrong? I have set them in the .xml file as per the manufacturer .xml when I created the configuration. Attached is the .xml file.

The "dmesg | grep ethercat" still does not seem to work, I executed the command sequence you posted and it just outputs a new row in the terminal.

I am still unaware why the synchronization error keeps appearing, cables are changed and I also have grounding on the metal parts of the bench.

Perhaps, there are some settings in the servo itself that need to be configured. I still think about the fixed and variable PDO mapping, if it could be the reason for this behaviour. There is a warning that says - 1 datagram UNMATCHED!.



 
Last edit: 7 months 4 weeks ago by Konstantin.

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

More
7 months 4 weeks ago - 7 months 4 weeks ago #343857 by andrax
Replied by andrax on topic CiA 402 Folder Missing
Sorry, my mistake, I misread something.
Your sync errors are gone.
But there is another problem,
Your output ethercat pdos:
Code:
[code] RxPDO 0x1701 "RxPDO"     PDO entry 0x6040:00, 16 bit, "ControlWord"     PDO entry 0x607a:00, 32 bit, "Target position"     PDO entry 0x60b8:00, 16 bit, "Touch probe function"     PDO entry 0x6060:00,  8 bit, "Modes of operation"     PDO entry 0x0000:00,  0 bit, "Gap"     PDO entry 0x0000:00,  0 bit, "Gap"     PDO entry 0x0000:00,  0 bit, "Gap"     PDO entry 0x0000:00,  0 bit, "Gap"     PDO entry 0x0000:00,  0 bit, "Gap"     PDO entry 0x0000:00,  0 bit, "Gap" SM3: PhysAddr 0x1400, DefaultSize   15, ControlRegister 0x20, Enable 1   TxPDO 0x1b01 "TxPDO"     PDO entry 0x603f:00, 16 bit, "Error Code"     PDO entry 0x6041:00, 16 bit, "statusWord"     PDO entry 0x6064:00, 32 bit, "Position actual value"     PDO entry 0x6077:00, 16 bit, "Torque actual value"     PDO entry 0x60f4:00, 32 bit, "Following error actual value"     PDO entry 0x6061:00,  8 bit, "Modes of operation display"     PDO entry 0x0000:00,  0 bit, "Gap"     PDO entry 0x0000:00,  0 bit, "Gap"     PDO entry 0x0000:00,  0 bit, "Gap"     PDO entry 0x0000:00,  0 bit, "Gap"
[/code]
Code:
Your XML:
Code:
[code][code]<pdoEntry idx="6040" subIdx="00" bitLen="16" halPin="control-word" halType="u32"/> <pdoEntry idx="6060" subIdx="00" bitLen="8" halPin="control-mode" halType="s32"/> <pdoEntry idx="607A" subIdx="00" bitLen="32" halPin="target-position" halType="s32"/> <pdoEntry idx="60FF" subIdx="00" bitLen="32" halPin="target-velocity" halType="s32"/> <pdoEntry idx="607C" subIdx="00" bitLen="32" halPin="home-offset" halType="s32"/> <pdoEntry idx="6098" subIdx="00" bitLen="8" halPin="homing-method" halType="s32"/> <pdoEntry idx="6099" subIdx="01" bitLen="32" halPin="homing-high-velocity" halType="u32"/> <pdoEntry idx="6099" subIdx="02" bitLen="32" halPin="homing-low-velocity" halType="u32"/> <pdoEntry idx="609A" subIdx="00" bitLen="32" halPin="homing-acceleration" halType="u32"/>
[/code]

[/code]
Code:
[code]The addresses are missing in the pdos, which is apparently why the errors occur. However, the addresses are found in the sdos. I don't know if they need to be configured manually. What does the manual say?
[/code]
Last edit: 7 months 4 weeks ago by andrax.

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

More
7 months 3 weeks ago - 7 months 3 weeks ago #343903 by Konstantin
Replied by Konstantin on topic CiA 402 Folder Missing
Perhaps, I found out what is happening to the drives. I read the PDO mapping part of the manual again and it seems that the PDO mapping objects - 1C12h(RxPDO) and 1C13h(TxPDO) are set to some default values. The PDO mapping cannot be saved in the EEPROM of the drive and therefore the master needs to set the desired mapping in the PREOP state of the drive every time when the drives are powered on.

The output in terminal that show "Gap" in PDO entry is because there is no object mapped to that free slot - PDO mapping is set to fixed.  Here  is the PDO mapping part of the manual. It can be seen that 1C12h should be set to 1600h and 1C13h should be set to 1A00h to activate the variable PDO mapping.

Attached is the PDO mapping objects description from the manual and it shows that they expect data type of ARR(perhaps array). Apparently, LinuxCNC EtherCAT master should define a variable PDO mapping and what objects to include in the mapping.

In my opinion, the PDO mapping should be defined in the .hal file or create a script that executes once when the EtherCAT master detects slaves, similar to the first scan bit of a PLC.
Last edit: 7 months 3 weeks ago by Konstantin.

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

More
7 months 3 weeks ago #343920 by andrax
Replied by andrax on topic CiA 402 Folder Missing
No, you just adjust the servo and the ethercat master and your ethercat.xml take care of the rest. 
 

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

Time to create page: 0.288 seconds
Powered by Kunena Forum