Stepperonline A6 Ethercat - Digital IO [SOLVED]

More
25 May 2026 23:58 #346631 by spumco
no sdos.txt was created.

pdos.txt below:
M0: PhysAddr 0x1000, DefaultSize  256, ControlRegister 0x26, Enable 1
SM1: PhysAddr 0x1400, DefaultSize  256, ControlRegister 0x22, Enable 1
SM2: PhysAddr 0x1800, DefaultSize   12, ControlRegister 0x64, Enable 1
  RxPDO 0x1600 ""
    PDO entry 0x6040:00, 16 bit, ""
    PDO entry 0x607a:00, 32 bit, ""
    PDO entry 0x60b8:00, 16 bit, ""
    PDO entry 0x6060:00,  8 bit, ""
    PDO entry 0x60fe:01, 32 bit, ""
    PDO entry 0x60fe:02, 32 bit, ""
SM3: PhysAddr 0x1c00, DefaultSize   28, ControlRegister 0x20, Enable 1
  TxPDO 0x1a00 ""
    PDO entry 0x6041:00, 16 bit, ""
    PDO entry 0x6064:00, 32 bit, ""
    PDO entry 0x60ba:00, 32 bit, ""
    PDO entry 0x60bc:00, 32 bit, ""
    PDO entry 0x60b9:00, 16 bit, ""
    PDO entry 0x603f:00, 16 bit, ""
    PDO entry 0x60fd:00, 32 bit, ""
    PDO entry 0x60f4:00, 32 bit, ""

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

More
26 May 2026 01:23 #346633 by rodw
ok, seems its like
<syncManager idx="3" dir="in">
        <pdo idx="1a00">
        .......
          <pdoEntry idx="60FD" subIdx="0" bitLen="32" halType="complex">
            <complexEntry bitLen="1" halPin="CW-limit" halType="bit"/>
            <complexEntry bitLen="1" halPin="CCW-limit" halType="bit"/>
            <complexEntry bitLen="1" halPin="in-home" halType="bit"/>
            <complexEntry bitLen="13"/>
            <complexEntry bitLen="1" halPin="in-1" halType="bit"/>
            <complexEntry bitLen="1" halPin="in-2" halType="bit"/>
            <complexEntry bitLen="1" halPin="in-3" halType="bit"/>
            <complexEntry bitLen="1" halPin="in-4" halType="bit"/>
            <complexEntry bitLen="1" halPin="in-5" halType="bit"/>
            <complexEntry bitLen="1" halPin="in-6" halType="bit"/>
            <complexEntry bitLen="10"/>
          </pdoEntry>          
        </pdo>

Keep the rest of the entries there. Things like status words are important
Also make sure the total bits adds up to 32, pad out unused ones
 

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

More
26 May 2026 01:24 #346634 by rodw
To test output , connect one output to your coolant in hal and see if it triggers.

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

More
26 May 2026 01:30 #346635 by rodw
oops should be
          <pdoEntry idx="60FD" subIdx="1" bitLen="32" halType="complex">

Also
<pdoEntry idx="60FD" subIdx="2" bitLen="32" halType="complex"> seems like it will control whether the IO is enabled or not
The following user(s) said Thank You: spumco

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

More
26 May 2026 01:53 #346639 by spumco
<pdoEntry idx="60FD" subIdx="2" bitLen="32" halType="complex">

does control the enable - or at least whatever that line in the object dictionary refers to.

I have no problem sending values to the drive, and can change the value by changing the bits and 'padding' in xml file.

What I don't know is which bit(s) - what value - the drive requires to turn the outputs on.  As I mentioned earlier I've mapped bits 1 & 2 to both sub-index 1 and sub-index 2 and turned both 'on.'  Tried the same thing for bits 16 & 17.

I guess I could just brute-force it and try ALL the 32 bits for botrh sub-indexes.

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

More
26 May 2026 02:53 #346643 by spumco
I found the following in the generic xml file from the Stepperonline site:
Warning: Spoiler!


I tried changing sub-index 1 to bit 4, and that sent a value of '16' to the drive.
Also changed sub-index 2 to bits 4&5, resulting in two HAL pins.  When I turned both of those on the drive reported "48" in the 'Enable Physical Output' field.

No output turned on.

Maybe there's some way to interpret this to figure out what the values are?

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

More
26 May 2026 03:41 #346649 by rodw
Normally, I would connect the drive up in a hal file to linuxcnc with the cia402 composnent at this time and it would display all the pins by the name used in the XML and use halshow to play. Remember the pins need to be changed to general I/O somewhere and are probably active low so a light or relay is between the output and ground (0 volt)

Usually the I/O's have an indicator light beside them so if you enable an output it should change state.

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

More
26 May 2026 04:38 #346651 by spumco
The drive is connected to LCNC - that's how I've been triggering the inputs and attempting to trigger the outputs.

The drive is hooked up to SSRs and I've got LED's driven by the outputs.  If I force the outputs via the tuning software the LED's light up.  So test hardware is functioning as expected.

Simply renaming the vendor-supplied xml file doesn't work - it's incompatible with lcec_conf.

The xml file I'm using works for the inputs, and the address for the digital outputs is correct - otherwise I wouldn't be seeing the digital outputs line in the tuning software parameters monitor change.

What I need is the bit value, or more likely a combination of bit values, which the drive requires to trigger the outputs.  I was hoping someone could interpret the vendor-supplied xml file snippet and explain it to me.

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

More
26 May 2026 05:38 #346656 by rodw
PRogress!
The vendor supplied XML can go in the bin with the rest of your windows stuff. its for twincat. So explained. I have never used this stuff.

Quickest way to test outputs is to hook up an output to coolant or mist so you can trigger with GUI or MDI command

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

More
26 May 2026 12:45 #346664 by spumco

PRogress!
The vendor supplied XML can go in the bin with the rest of your windows stuff. its for twincat. So explained. I have never used this stuff.

Quickest way to test outputs is to hook up an output to coolant or mist so you can trigger with GUI or MDI command

Rod - I appreciate your suggestions, but we seem to be talking past each other.

I know - have known since I started - the vendor xml file is useless for LCNC.  I was hoping someone more experienced could interpret the vendor xml file to see if the output bit(s) required were buried or presented inside the file.

The quickest way to test outputs is to simply trigger them in halshow; no need to net them to coolant or mist or anything.  This is what I've been doing the whole time I've been fiddling with the outputs.

The drive has been communicating with LCNC since the 1st post in this thread.  As long as I don't flub the xml file edits I've had no problems with the connection & communication between LCNC and the drive.

I just received a reply from Stepperonline regarding the outputs.  I'll test later tonight, but it appears the original OEM (JSS Motors) failed to document anything about the outputs.  Stepperonline was kind enough to supply information about some required parameters (again, undocumented) and the Ethercat addresses/bits needed to trigger the outputs.

I'll post the information later for future reference once I've confirmed it works.
The following user(s) said Thank You: tommylight

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

Time to create page: 0.096 seconds
Powered by Kunena Forum