Jump to content

Recommended Posts

Posted

Hi All.

I am familiar with Modbus RTU having done a Unitronics to VSD project, and am familiar with CanOPEN having a few systems around the factory. I am doing a new project which is leading towards CanOPEN as it is the most common denominator, although it does scare me a little.

The fieldbus will consist of 4 servo drives and a safety controller (not for safety comms)

Basically was trying to get an understanding of comparisons such as:

a- Speed

b- Stability

c- Configuration ease.

Modbus does seem to be a little slow - in my project using PHR/RHR (3) due to to non contiguous registers, I get R/Write times of 43 ms, adding up to 2 seconds to update 50 registers.

Thanks

Posted

Hi,

In general CanOpen is nerwer modern protocol.

CAN is a very robust bus and quite fast. If you are looking to develop something completely new, your own network, you can go with CAN.

check also the link below for detailed Comparison:

http://www.pacontrol...ieldbuscomp.pdf

Thanks Ofir. I've seen that comparison, doesn't list canopen though?? Anyway will likely go with Can.

  • 3 months later...
Posted

can is a one way open loop broadcast

modbus is a 2 way communication that uses a handshake to confirm that the information was sent adn received and both sides are aware of the result.

Can is faster, but you dont know if the message was received, unless you trigger some sort of return message, which would slow it down.

Can does have a heartbeat function that confirms the connection is live, if you use it.

It is possible to configure a canopen network with only one node and transmit data and receive no error or indication that no other node received the data.

This is not possible with modbus.

The heartbeat function is the "old style" can, and will slow down the can network.

You choice is fast or robust.

And you also might want to consider that Unitronics is a bit tricky with canopen communications.

The last time I used it (it could be better now) I found that the canopen function is asynchronous to the PLC ladder. The canopen function also contains pointers to data , the actual data is NOT loaded into a com buffer when the function is called.

So if the data changes during the scan that you call the canopen function, the data will be corrupted.

This led me to stop updating the data during the scan that a canopen function is activated.

This is also a time cost.

I needed fast and using two can nodes to talk back and forth was remarkably slow after all the limitations were dealt with.

The canopen hardware runs independent of the ladder, the data may be sent at any time during the scan.

  • Upvote 1

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

This site uses cookies. By clicking I accept, you agree to their use.