Jump to content

Sending incorrect COB-ID over CANopen to Altivar drive


Recommended Posts

Hello everyone, 

New member, but have lurked around in the past when working with the Vision series controllers. I recently started a project with a Unistream controller. I completed a nearly identical project in the past, but using the Vision controller. I've run into a couple of issues with communication on the Unistream.

The first issue I had was MODBUS over RS485. We are using 38.4kbps, 8N1 as the settings. I set this communication up with a Schneider Altivar 61 drive. It was configured exactly like the connection we had with the Vision controller, except now using the Unistream. The main issue we noticed is that it would successfully communicate for 3-5 sessions, but then start just dropping all sessions. The one thing to note is that during development, we use a short run of shielded twisted pair cable with a ground to connect RS485 and add a 120 ohm resistor on the drive end, turn on the termination in the Unistream. Not the ideal connection, but this works on the Vision controller just fine. Could the cable/resistor be the issue, or am I missing something else? I would ideally like to use MODBUS over RS485, as this project will communication with many drives over time. Loading a new EDS based on the drive would require me to modify the program and we'd like to have it be more configurable by an operator.

Due to the above issue with MODBUS, we decided to give CANopen a try. We were able to successfully get that communication working. We loaded in an EDS file from Schneider, which at first worked. Once we tried to modify the PDOs at all, Unilogic would not compile. Unitronics helped us out on that end and found that there was an issue parsing the EDS file (there were some extra spaces). Once that was resolved, we ran into another issue.

Now, when we try to modify the default addresses on PDO1, we get an EDS initialization error. When we look at the error, it complains that we are trying to set 0x1800/0x01 (the COB-ID) to 0x80000194. I am actually not modifying the COB-ID (leaving it default, which should be 0x00000194, NodeID is 20). I have even tried entering 0x0194 (#H0194) in the EDS configuration, but I still get the same error. Anybody know what I am missing here?


I covered a lot of ground up there, with not a lot of detail. I can provide more info, but I am not sure what you guys would need. I am posting some links to the files of the drive in case that helps:

Altivar CANopen manual: https://www.schneider-electric.com/en/download/document/1755865/
EDS file: https://www.schneider-electric.com/en/download/document/ATV61_CANopen_V2.1/


Link to comment
Share on other sites

  • 3 weeks later...


Regarding MODBUS RS485:

Are you using MODBUS periodic? if yes then what is the interval you are sending the commands and how many commands?

In general I suggest to increase the interval first to 1 second or more for example just to check if the problem relates to loading the bus more then it can handle (more than 38400 bits per second).


Can you explain in more details why do you need to change PDO1? What exactly do you want to map to PDO1?

currently for TPDO1 the parameters mapped are status word and control effort.


Link to comment
Share on other sites

  • 1 month later...


I had actually already reduced the periodic interval to 1 second, but that did not seem to make a difference. I will double-check with those settings. 

The reason we want to modify TPDO1 is to add some additional data we want to read. That would be things like torque, current, and voltage.



Link to comment
Share on other sites

  • 2 years later...

Reviving an old thread, but I'm having this exact same issue with configuring custom PDO mapping and haven't been able to figure it out.  It works fine if I leave it all at the default EDS setup. Add or change any PDOs though, and it refuses to initialize the EDS. Not sure what I'm missing.

This system will have options to control drives in profile position or velocity modes, so ideally we'll want to have more/different PDO options than the default. If all else fails, we can probably make do with just using SDOs. I'd still like to figure this out though.

Link to comment
Share on other sites

  • 3 years later...

I didn't update this thread for a while but thought it would be relevant to post an update. I have long since completed this project. I was able to go back to using MODBUS for the communication. There was no magic bullet other than the RS485 module on the Unistream had failed. It plagued us for a while since it was intermittently working, so we didn't think it was the module itself. After replacing it, MODBUS worked well. We also found that sometimes using a baud rate of 38400 was unstable with certain drives, so we drop it to 19200.

On the CANopen/EDS front, I never did find a solution and stopped trying once I was able to get MODBUS going.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...