EMC with Canopen over Wago IO

More
25 May 2010 19:31 #3005 by tobbi
Hello CNC friends,

I am an student from Germany. Since last year i search for an answer for my question.
At the moment I bulid an CNC Router for Metal. The mechanical part is finished and now I would start with electric and the controlunit.

My CNC Router is very big and has many Functions like Tool Changing with Magazin.
All In and outputs comes from an Wago canopen IO controller and the stepper controlunit is connected with canopen too.

I like Linux and EMC and would now connect this with my controllunit and IO controller.

Is it possible to speak with EMC to canopen Network??

I have found the open source framework for canopen. Canfestival. But I have no Idea who to can connect EMC with Canopen.

Can help me someone ????


Greets Tobbi from Germany

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

More
16 Aug 2010 20:49 #3776 by manzo
Hello Tobbi

I'm new in this forum, but like you, I want build a CNC with EMC.
My machine have the CANopen drivers, so I want utilise EMC with canopen.

I not have found a already build interface, so I start to write one ... I hope.
I want make a HAL interface to Canfestival, in this moment I not have idea how many time I need for this, but I start to try.
If you have found an other solution, can you tell me?

Have other people the same needs?

Ciao to all

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

More
17 Aug 2010 14:14 - 17 Aug 2010 21:38 #3792 by tobbi
Hello Manzo,

yes I have found an other solution but this is for Windows.

The program is called 3s codesys Softmotion. Now a problem is the price of this Product.
I habe called to 3s and they told me about costs of 1800 (removed money sign).

Also I am sure, the connection to CANopen is not interest for many other peoplesat this moment but when you had finished the interface to CANopen many peoples will ask for this interface...

Do you need help to write the Interface? Maybe I can support you for your work.

best regards....

Tobbi
Last edit: 17 Aug 2010 21:38 by BigJohnT.

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

More
18 Aug 2010 12:15 #3804 by andypugh
How does the Wago controller connect to the machine where EMC will run? If it is a PCI card then a driver ought to be reasonably easy, and you can probably poke through the other PCI card drivers in the EMC source code to see how to do it.

USB and Ethernet are not a great fit for CNC applications (which does not mean that you can't write your own drivers for your own use, but they are unlikely to be accepted into the distributed versions of the software. This probably doesn't matter to you)

It is probably just a case of writing values to, and reading them from, memory-mapped registers, decoding the values and passing them on to HAL pins created by the driver.

"Comp" can be a very big help in this sort of task:
linuxcnc.org/docs/html/hal_comp.html

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

More
18 Aug 2010 16:25 #3808 by ulda
Hi together

What we need is a CAN controller driver for rtai.
Then one can write a comp module to connect emc pins with can messages

Some firms supply linux drivers for their can controllers:
www.peak-system.com/Product-Details.49+M...&L=1&tx_commerce_pi1[catUid]=6&tx_commerce_pi1[showUid]=3
de.hilscher.com/products_group_pccards.html

Currently there is a rt-can implementation in Xenomai - a rtai splitoff.
But emc runs with rtai and i was not able to get it to work with the xenomai rtai skin

the linux kernel has a non-realtime can framework called socketcan.

thats my knowledge at the moment.
/ulda

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

More
19 Aug 2010 05:13 #3818 by manzo
>What we need is a CAN controller driver for rtai.
>Then one can write a comp module to connect emc pins with can messages

:-( not so simple:

Canopen is a BUS, like ethernet, but with realtime packet (sync packet)
Products like www.peak-system.com (very nice board, very good support with linux and driver ready for rtai (make directly from the productor)) is only the "network board"
The real final device IO or motor control is in the other part of bus, only for example:
IO -> www.phoenixcontact.com/automation/32123_31953.htm
MOTOR -> www.elmomc.com/products/cello-main.htm

So if I write a driver for canopen IO, I write a driver for make a specific canopen packet for a IO device ( every device have different IO position ) and send into a specific network board. Other people with same device, but other board need write other driver, and other people with same board but with many device connect to the can bus, need other driver.
HAL is designed for work simple with different board (where board is also the final device), we need a NetHAL or CanbusHAL for have a multi canbus board support and after we can write a driver for specific IO, MOTOR ... final device.

For example CANfestival is a framework for work with different canbus board, ready for realtime, is a good start point for make a CanbusHAL, but Canfestival is a "program" (not a kernel module) and comunicate with board kernel driver with standard gui or with realtime API, HAL want talk directly with kernel module.
I think the solution is write an other HAL: CanbusHAL, but not HAL connect to CanbusHAL connect to many IO device, people need work with HAL "OR" CanbusHAL, not "AND"

If write a comp for HAL is "simple", write other HAL is little more complicate

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

More
19 Aug 2010 05:51 #3819 by ulda

manzo wrote:
So if I write a driver for canopen IO, I write a driver for make a specific canopen packet for a IO device ( every device have different IO position ) and send into a specific network board.


Yes, exactly. But this is the only way to get it working.
I saw CanbusFestival, too and came to the same conclusion like you.

A common solution would somehow look like how classicladder is included into emc: there is a realtime module wich is configured throug a program generated by a configuration tool.
A first step would be to create the configuration tool to generate the custom comp file and compile it.

I have this in mind for the ethercat solution i am working on - same problem on ohter kind of bus.

/ulda

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

Time to create page: 0.251 seconds
Powered by Kunena Forum