LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Labview Canopen Heartbeat

Solved!
Go to solution

Hello,

 

Now, I am building a Canopen GUI, which should be able to check heartbeats from 50 devices.

 

But it seems like I have to build 50 parallel loops to do this.

 

If I want to do it serial, then it take too much time for checking all the devices.

 

if anyone know some smarter way to checking heartbeats from 50devices?

 

Waiting for you antwort.

jining

Message 1 of 6
(2,932 Views)

Hi Jining,

 

are you using the NI-Industrial Communication for CANopen or an old library to develop your GUI?

 

Thanks RMathews

Ramona Lombardo
Applications Engineer, NI Germany
Certified LabVIEW Developer
0 Kudos
Message 2 of 6
(2,889 Views)

Hello,mathew

 

I am using the NI communication CANopen VI, the small green one.

 

jining

0 Kudos
Message 3 of 6
(2,878 Views)
Solution
Accepted by topic author jining

Well CANopen is a sequential serial bus so your only chance is to do the heartbeat sequentialy in a loop. The heartbeat VI call only takes a couple of microseconds so you should be able to read 50 meaasges from 50 devices in a 100 ms cycle. You might have to vary your cycle and Factor based on whether you use and RT system or a non determinictic OS.

See the attached example that uses a 100 ms cycle for 10 devices. You might need additional SDO code to enable the heartbeat on your devices and NMT code to operate the CANopen state machine.

 

By the way there is an IndCom Forum Board that might answer this type of question faster and better.

 

DirkW

0 Kudos
Message 4 of 6
(2,867 Views)

Smiley LOLThank you !!!!!!! DirkW

0 Kudos
Message 5 of 6
(2,854 Views)

Hello Dirkw,

 

my labview version is labview2010,later than you version, I can not open it.

 

Can you please post pictures of both panels? then, at least , i can have a look.

 

Please......

 

Thank you!!!!

 

jining

0 Kudos
Message 6 of 6
(2,849 Views)