Jump to content

This CAN of worms again...

Recommended Posts

Hey there,

I have a vision V290 and a Scaime eNod3-C A/D loadcell device and am having serious issues getting the two to talk to each other. I've done a whole lot of searching, read these and the old forums (thanks to the users who posted CANopen info there too by the way, it has been enlightening), read the help files and documentation and contacted Scaime's distributors all to not a whole lot of avail. It's kinda funny they use Unitronics and themselves in their application examples and advertising media then don't provide support between the two. Teaches me for assuming things again.

Anyway, if someone were able to help me out with a couple of questions here I'm sure I can get the rest of the way on my own.

First of all, the eNod3 comes with configuration software but all that you can change with regard to the CANopen protocol is the ID and the baudrate and it must be done with a PC through the serial port.

Secondly I don't have a sniffer (and one doesn't seem to be included with v290 OS) or software like CANmagic but I do have a scope.

So first question is if I do the CANopen configuration net as shown in the numerous examples and help files (set PLC ID, initialise com port to CANopen, and configure the node info on the PLC side) then is it correct to assume that provided the node ID and the node ID set in the PLC match (and baud rate) I should be able to read the NMT or error statuses from the eNod device in the PLC operands without any extra ladder code?

If not, what are the most absolute basic blocks required to be able to confirm that the PLC and the node are in fact communicating? Using the check comms tool in visilogic only works for the PLC too.

I know for sure that both are sending signals down the CANBus line thanks to the scope, but whichever way I look at it I can't match the bit pattern to fit into any sensible frame. All the NMT status and error operands stay at 0 unless I reverse the wiring on one end and then the manufacturer specific bytes return the code for 'no error' but everything else stays blank. I've been stuck on this for a while and am at the point now where I'm looking at sacrificing speed and going down the MODBus route since I know that works.

I have attached the EDS file in case someone with a whole lot more nouse can see something glaring obvious I've missed.

If anyone is able to help I will be eternally grateful. All I am trying to do at this stage is confirm there is a communications link between the two devices.


Link to comment
Share on other sites

Hi tonto,

You need to configure the V290 and the Scaime eNod3-C A/D loadcell device to the same baud rate.

It is recommeded that the ID of the V290 will be 1 (In CANOPEN there is a priority to ID1) and you can configure ID 2 to the load cell device.

In CANOPEN configuration you need to configure the other paramters of the loadcell device such as NMT, TPDO and RPDO in order to be able send/receive PDOs and also send NMT commands.

If you are using VisiLogic 9.3.1 you can review two examples for CANOPEN in folder C:\Program Files\Unitronics\Unitronics VisiLogic_C\Examples\Version 900\Project examples\Communications\CANopen

Using NMT control commands you can set the device to stop, pre-operational, operational etc..

using NMT node guard you can check the device status.

Link to comment
Share on other sites

Thanks for the reply.

I have set the baud rate at 500k and the ID of the PLC to 1 and the device to 2.

I have configured the CANopen FBs as indicated in attached image.

I have reviewed the included examples and it seems that NMT status should be automatically transmitted from any CAN node. My NMT receive bit will never change. The eNod device is supposed to go from boot to pre-op automatically. Is it therefore correct to assume that either the eNod device is faulty? Or have I just mis-configured the PLC?

post-6334-004796800 1323200500_thumb.jpg

Link to comment
Share on other sites

Motoman does the same thing. Annoying, isn't it? Does the eNod3 at least retain the value across power cycles, or do you need to repeat it every time?


Wonderfully, you need to repeat it every time. Still haven't quite nailed configuring the TPDOs and RPDOs but think I'm getting there.

Link to comment
Share on other sites

  • 4 years later...

You need no


Wonderfully, you need to repeat it every time. Still haven't quite nailed configuring the TPDOs and RPDOs but think I'm getting there.

No need to repeat! Just save in EEPROM using 0x1010 => 65766173h (SAVE)! Page no. 18 of the manual.

Link to comment
Share on other sites

Succeeded in mapping PDOs. RPDOs still a problem.

Below is the way found in one of their manual.


TPDO3 mapping can only be modified in pre-operational state. First, it is necessary to
switch to 1 bit b31 of its COB-ID (cf. 3.2.13) and to force sub-index 0 to 0.
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...