From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Maxon data recording with EPOS2 70/10

Good Afternoon everyone,

 

I've just started working with labview in order to control a 70/10 controller while reading transducer data from a NIDAQ.

My goal is to read position and current data from the controller and sync it with the NIDAQ data through labview.

I'm able to read from the DAQ no problem, but the controller has a limited buffer size, so it only gives me 0.1s of data before it runs out. Is there a way to bypass the buffer and stream position and current straight back to labview? Or will I have to send multiple packets of data over time (and if so, how would i do this?).

 

Thanks

0 Kudos
Message 1 of 18
(4,297 Views)

Hi SeanPO,

 

I am a bit confused on your setup. The buffer is on the 70/10 controller and you are reading position and current in LabVIEW from the controller’s buffer? If so, you should be able to change how fast you read it in LabVIEW. Or are you sending information to the controller from LabVIEW? Where exactly are you running into problems and are you getting any specific errors?

Nolan H.
Applications Engineer
National Instruments
0 Kudos
Message 2 of 18
(4,241 Views)

Hi Nolan,

 

I'm sending position and current data from the controller, to Labview, while also sending commands from Labview, to the controller. However, given the intermediate memory of the controller, it's not possible to collect all the data I'm looking for with useful resolution, with the recorder function as it normally does. I haven't gotten any errors, I just simply run out of recording time long before my test is over.

 

-Sean

0 Kudos
Message 3 of 18
(4,231 Views)

Hi Sean,

 

My thoughts are if you read the current and position data into LabVIEW faster, the buffer should not run out of memory. I am not especially familiar with any special function palettes for this controller so I would have to see your code to really understand what is going on. You may want to look at these forums if you haven’t already:

http://forums.ni.com/t5/LabVIEW/controlling-a-maxon-motor-with-labview/td-p/3401065

https://forums.ni.com/t5/LabVIEW/Maxon-motor-control-with-LabView/td-p/2390106

Nolan H.
Applications Engineer
National Instruments
0 Kudos
Message 4 of 18
(4,218 Views)

@SeanPO wrote:

Good Afternoon everyone,

 

I've just started working with labview in order to control a 70/10 controller while reading transducer data from a NIDAQ.

My goal is to read position and current data from the controller and sync it with the NIDAQ data through labview.

I'm able to read from the DAQ no problem, but the controller has a limited buffer size, so it only gives me 0.1s of data before it runs out. Is there a way to bypass the buffer and stream position and current straight back to labview? Or will I have to send multiple packets of data over time (and if so, how would i do this?).

 

Thanks


You can try polling the VCS Get Object_UINT32.vi and VCS Get Object_INT16.vi (for incr encoder 1 and avg data resp). These vi are located in the MAXON EPOS ->Configure VIs -> Low Level palette. You can find the object index and subindex value in the firmware specification document but you probably already know that if you used the data recorder.

 

Ben64

0 Kudos
Message 5 of 18
(4,214 Views)

Capture.PNG

Call Get Axis Info.vi in a loop until your motion stops (or whatever exit condition)


"Should be" isn't "Is" -Jay
Message 6 of 18
(4,207 Views)

In trigger mode the data recorder will sample the objects values until the buffer is full and will then stop. Another thing you can try is to set the EPOS trigger configuration to Continuous Acquisition mode to record continuously. You can find the EPOS Data Recording application note here. (of course it will be more difficult to sync the results with the daq acquisition)

 

Ben64

Message 7 of 18
(4,193 Views)

Thanks Guys,

 

So i've gotten it to record the way I wanted, i had to make my own continuous aquisition mode, since its not a VI feature. So I used Ben64's suggestion of looping based on axis info to force it to keep reading and recording in segments.

 

This leads to my next issue. now that I have things working the way I want, I'd like to add a current limit so it will end the entire process if it reaches a certain current limit. My first thought was to put everything in a while loop that would end after the target was reached or when the current hit a set value, using VCS Get Current, unfortunately it doesn't work correctly. This may have been talked about elsewhere, but does anyone have suggestions?

0 Kudos
Message 8 of 18
(4,169 Views)

SeanPO a écrit :

Thanks Guys,

 

This leads to my next issue. now that I have things working the way I want, I'd like to add a current limit so it will end the entire process if it reaches a certain current limit. My first thought was to put everything in a while loop that would end after the target was reached or when the current hit a set value, using VCS Get Current, unfortunately it doesn't work correctly. This may have been talked about elsewhere, but does anyone have suggestions?


Can you be more specific about how it doesn't work correctly?

 

Ben64

0 Kudos
Message 9 of 18
(4,164 Views)

When I try to run that command, i dont get any usable information and the VI outputs an error stating that it isn't recognized.

0 Kudos
Message 10 of 18
(4,155 Views)