Leadshine io module and encoder module cannot enter OP mode correctly

More
23 Apr 2023 00:33 - 23 Apr 2023 00:40 #269658 by whatawhiz
Hi all,
  I previously bought two second-hand Leadshine Ethercat IO modules and an encoder input module, but I haven't used them. Yesterday, I wired the MPG to these modules. The input signal in Halshow didn’t toggle when I turned the switch, I realized that these three modules were not working properly. Entering ethercat slaves command that my servo drivers can all enter OP mode. These three modules either stay in PREOP mode or display error in SAFEOP mode.

  I can't even find these modules on this company's website now. On Google, only incomplete user manuals and two XML files can be found. So I can only configure it through the parameters output by ethercat pdos and ethercat slaves commands.
 I want to know if there is something wrong with my config, but I didn't notice it myself or if there are issues with these modules themselves.
 Note: The device will get stuck in PREOP mode and report an error like:
 EtherCAT ERROR 0-0: AL status message 0x001E: "Invalid input configuration".
  I especially want to roast that even the device name of the encoder module is wrong.
 Here are my config and the log files.
<masters>
    <master idx="0" appTimePeriod="1000000" refClockSyncCycles="1000">
   
        <slave idx="0" type="generic" vid="00004321" pid="0x01500033" configPdos="false">
            <dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="0"/>
            <syncManager idx="3" dir="in">
                <pdo idx="1A00">
                    <pdoEntry idx="6100" subIdx="01" bitLen="32" halPin="encoder0-val" halType="s32"/>
                    <pdoEntry idx="6100" subIdx="02" bitLen="32" halPin="encoder1-val" halType="s32"/>    
                    <pdoEntry idx="6100" subIdx="03" bitLen="32" halPin="encoder2-val" halType="s32"/>    
                </pdo>
            </syncManager>      
        </slave>
        <slave idx="1" type="generic" vid="00004321" pid="0x01100063" configPdos="false">
            <dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="0"/>    
            <syncManager idx="2" dir="out">
                <pdo idx="1602">            
                    <pdoEntry idx="7000" subIdx="01" bitLen="16" halType="complex">
                        <complexEntry bitLen="1" halPin="out-00" halType="bit"/>
                        <complexEntry bitLen="1" halPin="out-01" halType="bit"/>
                        <complexEntry bitLen="1" halPin="out-02" halType="bit"/>
                        <complexEntry bitLen="1" halPin="out-03" halType="bit"/>
                        <complexEntry bitLen="1" halPin="out-04" halType="bit"/>
                        <complexEntry bitLen="1" halPin="out-05" halType="bit"/>
                        <complexEntry bitLen="1" halPin="out-06" halType="bit"/>
                        <complexEntry bitLen="1" halPin="out-07" halType="bit"/>
                        <complexEntry bitLen="1" halPin="out-08" halType="bit"/>
                        <complexEntry bitLen="1" halPin="out-09" halType="bit"/>
                        <complexEntry bitLen="1" halPin="out-10" halType="bit"/>
                        <complexEntry bitLen="1" halPin="out-11" halType="bit"/>
                        <complexEntry bitLen="1" halPin="out-12" halType="bit"/>
                        <complexEntry bitLen="1" halPin="out-13" halType="bit"/>
                        <complexEntry bitLen="1" halPin="out-14" halType="bit"/>
                        <complexEntry bitLen="1" halPin="out-15" halType="bit"/>
                    </pdoEntry>  
                    <pdoEntry idx="7000" subIdx="02" bitLen="16" halType="complex">
                        <complexEntry bitLen="1" halPin="out-16" halType="bit"/>
                        <complexEntry bitLen="1" halPin="out-17" halType="bit"/>
                        <complexEntry bitLen="1" halPin="out-18" halType="bit"/>
                        <complexEntry bitLen="1" halPin="out-19" halType="bit"/>
                        <complexEntry bitLen="1" halPin="out-20" halType="bit"/>
                        <complexEntry bitLen="1" halPin="out-21" halType="bit"/>
                        <complexEntry bitLen="1" halPin="out-22" halType="bit"/>
                        <complexEntry bitLen="1" halPin="out-23" halType="bit"/>
                        <complexEntry bitLen="1" halPin="out-24" halType="bit"/>
                        <complexEntry bitLen="1" halPin="out-25" halType="bit"/>
                        <complexEntry bitLen="1" halPin="out-26" halType="bit"/>
                        <complexEntry bitLen="1" halPin="out-27" halType="bit"/>
                        <complexEntry bitLen="1" halPin="out-28" halType="bit"/>
                        <complexEntry bitLen="1" halPin="out-29" halType="bit"/>
                        <complexEntry bitLen="1" halPin="out-30" halType="bit"/>
                        <complexEntry bitLen="1" halPin="out-31" halType="bit"/>
                    </pdoEntry>  
                </pdo>
            </syncManager>    
        </slave>
        <slave idx="2" type="generic" vid="00004321" pid="0x01100053" configPdos="false">
            <dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="0"/>    
            <syncManager idx="3" dir="in">
                <pdo idx="1A00">            
                    <pdoEntry idx="6000" subIdx="01" bitLen="16" halType="complex">
                        <complexEntry bitLen="1" halPin="in-00" halType="bit"/>
                        <complexEntry bitLen="1" halPin="in-01" halType="bit"/>
                        <complexEntry bitLen="1" halPin="in-02" halType="bit"/>
                        <complexEntry bitLen="1" halPin="in-03" halType="bit"/>
                        <complexEntry bitLen="1" halPin="in-04" halType="bit"/>
                        <complexEntry bitLen="1" halPin="in-05" halType="bit"/>
                        <complexEntry bitLen="1" halPin="in-06" halType="bit"/>
                        <complexEntry bitLen="1" halPin="in-07" halType="bit"/>
                        <complexEntry bitLen="1" halPin="in-08" halType="bit"/>
                        <complexEntry bitLen="1" halPin="in-09" halType="bit"/>
                        <complexEntry bitLen="1" halPin="in-10" halType="bit"/>
                        <complexEntry bitLen="1" halPin="in-11" halType="bit"/>
                        <complexEntry bitLen="1" halPin="in-12" halType="bit"/>
                        <complexEntry bitLen="1" halPin="in-13" halType="bit"/>
                        <complexEntry bitLen="1" halPin="in-14" halType="bit"/>
                        <complexEntry bitLen="1" halPin="in-15" halType="bit"/>
                    </pdoEntry>  
                    <pdoEntry idx="6000" subIdx="02" bitLen="16" halType="complex">
                        <complexEntry bitLen="1" halPin="in-16" halType="bit"/>
                        <complexEntry bitLen="1" halPin="in-17" halType="bit"/>
                        <complexEntry bitLen="1" halPin="in-18" halType="bit"/>
                        <complexEntry bitLen="1" halPin="in-19" halType="bit"/>
                        <complexEntry bitLen="1" halPin="in-20" halType="bit"/>
                        <complexEntry bitLen="1" halPin="in-21" halType="bit"/>
                        <complexEntry bitLen="1" halPin="in-22" halType="bit"/>
                        <complexEntry bitLen="1" halPin="in-23" halType="bit"/>
                        <complexEntry bitLen="1" halPin="in-24" halType="bit"/>
                        <complexEntry bitLen="1" halPin="in-25" halType="bit"/>
                        <complexEntry bitLen="1" halPin="in-26" halType="bit"/>
                        <complexEntry bitLen="1" halPin="in-27" halType="bit"/>
                        <complexEntry bitLen="1" halPin="in-28" halType="bit"/>
                        <complexEntry bitLen="1" halPin="in-29" halType="bit"/>
                        <complexEntry bitLen="1" halPin="in-30" halType="bit"/>
                        <complexEntry bitLen="1" halPin="in-31" halType="bit"/>
                    </pdoEntry>  
                </pdo>
            </syncManager>      
        </slave>
    </master>
</masters>
 

File Attachment:

File Name: slaves.txt
File Size:4 KB

 

File Attachment:

File Name: debug0.txt
File Size:1 KB

 

File Attachment:

File Name: debug1.txt
File Size:21 KB

 

File Attachment:

File Name: pdos.txt
File Size:4 KB
Attachments:
Last edit: 23 Apr 2023 00:40 by whatawhiz. Reason: reformat

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

More
23 Apr 2023 00:39 #269660 by tommylight

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

More
23 Apr 2023 00:43 #269662 by whatawhiz
I selected the code and clicked the code button. I thought it was automatically hidden, so I submitted directly. Now I have reformatted it
The following user(s) said Thank You: tommylight

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

More
23 Apr 2023 00:47 #269664 by tommylight
Oh pictures! Nice. :)
Thank you.

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

More
23 Apr 2023 07:40 #269672 by db1981
try to map all pdos that are displayed with "ethercat pdos" . Seems that these boxes are preconfigured for an special use case. In "ethercat slaves" is displayed that these slaves don't support pdo configuration, may you are getting pdo offset errors with only mapping a part of the pdos.

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

More
23 Apr 2023 07:48 #269674 by rodw
You have all of the info you need. I have done I/O modules from the pdo output like that.
I can't see anything obvious wrong but I think I would include all of the TxPDO's for the devices
I'd also probably just add each slave device one at a time to your conf file

There are a couple of I/O devices in  two seperate ethercat conf xml files in my git here if you want some inspiration.github.com/rodw-au/linuxcnc-cia402
 

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

More
24 Apr 2023 07:08 #269731 by whatawhiz
Thank you very much for your help.

Now I have mapped all the output PDOs in the XML configuration file. The encoder input module is already functioning properly. Unfortunately, the other two IO modules still cannot function properly.

I also checked the ESI file I found online and tried using sii_write to write the bin file converted by siitool, but it still doesn't work. After restarting the module, there will still be many unnecessary mappings when outputting PDOs.

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

More
24 Apr 2023 07:12 #269732 by whatawhiz
Thank you very much. My previous configuration file for the servo drive was written based on the configuration files from you and dbraun1981. They have helped me a lot.

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

More
24 Apr 2023 07:16 #269733 by whatawhiz
I'm giving up tinkering with this mess for now. Buying second-hand goods at a low price resulted in wasting more than ten hours searching for information everywhere, but it still couldn't be used. It's really a sad story.

 I have ordered a set of Delta R1 series IO modules, just hope there won't be such strange issues anymore.

 I'll paste the XML configuration file and the ESI file I found below. Hopefully, they can help those who encounter such problems in the future.

Warning: Spoiler!


 

File Attachment:

File Name: debug.txt
File Size:2 KB


 

File Attachment:

File Name: EM32DI-E4_...neon.xml
File Size:45 KB


 

File Attachment:

File Name: EM32DO-E4_..._new.xml
File Size:39 KB
Attachments:

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

More
24 Apr 2023 10:46 #269751 by rodw
Did you list the sdos? Maybe something there needs to be set.
Having documentation is a blessing!

Don't talk to me about second hand I/Os. I bought some beckhoff io module from another forum  user I have not tested yet. But when i looked, the xml for them was only about 10 lines...

Good luck!

You keep the IO modules and send me the encoder modules :)

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

Time to create page: 0.156 seconds
Powered by Kunena Forum