External homing (in drives)?

More
30 Jan 2023 19:49 #263266 by spumco
Replied by spumco on topic External homing (in drives)?

I made a custom homing component for homing Ultra 3000 drive based on the example provided in linuxcnc.I bench tested it with my drive (2098-DSD-010-SE) and using "To Sensor/Back to Marker" and it's working fine.Linuxcnc wait for the drive to finish homing before moving to the next drive.


That looks great.

I my case, I have X/Y/Z driven with steppers and use standard LCNC homing.  A-axis is driven with the Ultra 3k, and I will be using the internal "To sensor/Back to marker" function.

I'd planned on following the advice here and setting the A-axis homing as I described earlier - i.e. LCNC is 'dumb' about the A-axis.

How would you anticipate your comp working with a mix of drives?

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

More
30 Jan 2023 20:07 #263269 by rodw
Replied by rodw on topic External homing (in drives)?

I made a custom homing component for homing Ultra 3000 drive based on the example provided in linuxcnc.I bench tested it with my drive (2098-DSD-010-SE) and using "To Sensor/Back to Marker" and it's working fine.Linuxcnc wait for the drive to finish homing before moving to the next drive.

Danny, this is awesome work. I think you are the first to implement a homemod on real hardware.
It would be great if you could share your ethercat_conf.xml file for your drive
I could not find anything much useful about your drive. Is it a CIA402 drive?

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

More
30 Jan 2023 22:04 #263273 by spumco
Replied by spumco on topic External homing (in drives)?
Rod -

The Allen Bradley Ultra 3000 is a (recently) obsolete servo drive.  They're pretty bulletproof, and are one of the most 'agnostic' drives out there for use with just about any servo/encoder combination.  Analog or digital inputs, secondary feedback input, etc.  There are even models that go up to 3kw continuous on single-phase 240v.

They came in three flavors: no networking, sercos, or DeviceNet.  Some models have built-in indexing features, and all of them can be controlled via rs232/485 serial ports.  They are not, however, ethercat drives; way too old for that.

I think what Danny's done in his comp is use the digital IO on the drive to do what I've been pondering... tell LCNC to just shut up and let the drives get on with it.  But his plan appears to be much more elegant than what I was considering.

But I haven't digested his comp yet.

-R
The following user(s) said Thank You: rodw

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

More
31 Jan 2023 04:02 #263295 by rodw
Replied by rodw on topic External homing (in drives)?

I think what Danny's done in his comp is use the digital IO on the drive to do what I've been pondering... tell LCNC to just shut up and let the drives get on with it.  But his plan appears to be much more elegant than what I was considering.
-R
 

Thanks for the context. With an Ethercat CIA402 drive, you may need an external component like Dominic's to extract the homing pins but ideally it should be done in the homecomp (which might be possible). I have a couple of other jobs to do before I tackle this. The Ethercat Working Group is coming to Brisbane, Australia where i live on 10 Feb so I hope to be there.

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

More
21 Mar 2023 16:45 #267237 by Sviper
Replied by Sviper on topic External homing (in drives)?

I made a custom homing component for homing Ultra 3000 drive based on the example provided in linuxcnc.I bench tested it with my drive (2098-DSD-010-SE) and using "To Sensor/Back to Marker" and it's working fine.Linuxcnc wait for the drive to finish homing before moving to the next drive.

Hello DanyD,

i woud like to compile the comp but it doesent work:
steffen@lcnc:~/linuxcnc/linuxcnc-dev$ source ./scripts/rip-environment
This script only needs to be run once per shell session.
steffen@lcnc:~/linuxcnc/linuxcnc-dev$ nano ./src/hal/components/u3000homecomp.comp
steffen@lcnc:~/linuxcnc/linuxcnc-dev$ halcompile --install ./src/hal/components/u3000homecomp.comp
./src/hal/components/u3000homecomp.comp:1:0: Trying to find one of "component"
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/yapps/runtime.py", line 438, in wrap_error_reporter
    return getattr(parser, rule)(*args,**kw)
  File "/home/steffen/linuxcnc/linuxcnc-dev/bin/halcompile", line 80, in File
    ComponentDeclaration = self.ComponentDeclaration(_context)
  File "/home/steffen/linuxcnc/linuxcnc-dev/bin/halcompile", line 88, in ComponentDeclaration
    self._scan('"component"', context=_context)
  File "/usr/lib/python3/dist-packages/yapps/runtime.py", line 376, in _scan
    return self._scanner.scan(type, **kw)
  File "/usr/lib/python3/dist-packages/yapps/runtime.py", line 344, in scan
    tok = self.token([type],context)
  File "/usr/lib/python3/dist-packages/yapps/runtime.py", line 297, in token
    raise SyntaxError(self.get_pos(), msg, context=context)
yapps.runtime.SyntaxError: SyntaxError@('./src/hal/components/u3000homecomp.comp', 1, 0)(Trying to find one of "component")

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/steffen/linuxcnc/linuxcnc-dev/bin/halcompile", line 1542, in <module>
    main()
  File "/home/steffen/linuxcnc/linuxcnc-dev/bin/halcompile", line 1512, in main
    process(f, mode, outfile)
  File "/home/steffen/linuxcnc/linuxcnc-dev/bin/halcompile", line 1363, in process
    a, b = parse(filename)
  File "/home/steffen/linuxcnc/linuxcnc-dev/bin/halcompile", line 442, in parse
    p = _parse('File', a + "\n\n", filename)
  File "/home/steffen/linuxcnc/linuxcnc-dev/bin/halcompile", line 430, in _parse
    return runtime.wrap_error_reporter(P, rule)
  File "/usr/lib/python3/dist-packages/yapps/runtime.py", line 440, in wrap_error_reporter
    print_error(e, parser._scanner)
  File "/usr/lib/python3/dist-packages/yapps/runtime.py", line 420, in print_error
    scanner.print_line_with_pointer(pos)
  File "/usr/lib/python3/dist-packages/yapps/runtime.py", line 230, in print_line_with_pointer
    print >>out, '> ',text
TypeError: unsupported operand type(s) for >>: 'builtin_function_or_method' and '_io.TextIOWrapper'. Did you mean "print(<message>, file=<output_stream>)"?
steffen@lcnc:~/linuxcnc/linuxcnc-dev$ 
can you help me?
Attachments:

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

More
21 Mar 2023 17:41 #267243 by JPL
Replied by JPL on topic External homing (in drives)?
Not DanyD here but I can see that your attached file 0homecomp.comp is wrong. Looks like you removed some lines in the beginning.... Try with the original unmodified file.  If you are unsure of the 'synthax' you may also have a look at this as an example of comp file here: github.com/LinuxCNC/linuxcnc/blob/master...onents/homecomp.comp
 

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

More
22 Mar 2023 06:27 - 22 Mar 2023 07:22 #267274 by Sviper
Replied by Sviper on topic External homing (in drives)?
Thank you.
I copied the text out of the thread. But I forget the frist Line. 
OK I will try again today.

THX
Last edit: 22 Mar 2023 07:22 by Sviper.

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

Time to create page: 0.072 seconds
Powered by Kunena Forum