LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Hiperface Encoder Signal

First post, very limited knowledge of NI offerings.  I'm used to Rockwell Automation products.  I can sometimes tie my shoes correctly.

 

I have an application where I need to generate a square waveform from an externally toothed ring, spinning via servomotor at 150rpm.  Voltage from a sensor reading the teeth as they go by on the y-axis, and encoder position (degrees) on the x-axis.

 

From the waveform, or from the logged points of what would be a waveform, I need to measure peak to peak of the teeth, both rising and falling edges.  Then make a pass/fail judgement based on the spacing of the teeth in degrees.

 

What I'm completely lost on, is how to use any NI card to read the encoder signal.  Encoder would be absolute, Hiperface DSL data output.  Either from Kollmorgen or Allen Bradley.  Can anyone point me towards/away from, cDAQ, PXI?  A card that can do what I need from above (encoder)?  Would I have to build my own VI for this or does LV have some sort of function block for this purpose?

 

Better still, 58 teeth multiplied by 2 edges, at 150rpm, 116 voltage points logged in 0.4 seconds (1 rotation), again compared against angular position.

 

I acknowledge that this question could be boiled down into, "can someone do my job for me?"  I promise I don't mean it that way, but I'm becoming very lost trying to find and compare NI datasheets, and from searching "hiperface" in the community, I haven't seen anything that seems to help.

 

Thank you.

0 Kudos
Message 1 of 4
(107 Views)

Jawilli91,

 

I have worked on Hiperface DSL implementation about 2 years ago now. Atleast at that point there was no NI FPGA that can run the DSL IP CORE from SICK and I do not think there is one now. 

 

I think it is because version of VIVADO tool LabVIEW uses and the version SICK used to create their IP. Some functions are not supported and you cannot really edit their IP like in other cases. It's a Netlist.

 

First, you will have to request SICK to give you their IP core. Once you have that, then you have following options:

 

1) Use a third-part FPGA Artix-7 or Ultra series or any other supported family based on manual. Opal Kelly has some real good FPGA boards and its API will allow you to even control it using LabVIEW.

 

2) Use VIVADO tool to implement IP core on to that FPGA. 

 

3) IP core has SPI outputs for its two sub protocols. 

 

4) Communicate to IP using SPI with your LabVIEW based RT running SPI on an FPGA to exchange data.

 

This is one option. Their IP supports some other protocols too but I cannot cofirm at the moment. This works as this is what I have done. 

 

Besides direct implementation of DSL protocol you can easily do the rest in LabVIEW.

 

If you servo is also from Kollmorgen, it might be better to just use their drive and record all data you need on the drive itself. 

 

It supports DSL protocol, external sensors and data logging. Capturing rate might be a thing to look into. 

 

Edit: DSL is power on data so their is quite a bit that goes on physical layer of communication as well.

 

Hope this helps. 

 

Good luck!

0 Kudos
Message 2 of 4
(66 Views)

Xonmyth,

 

Thank you very much for your kind and thorough reply.

 

That it can be done gives me hope, even if I have to acknowledge this is probably over my head.  At least I now have some things to look into.

 

I am grateful.

0 Kudos
Message 3 of 4
(43 Views)

No problem!

 

Once you have your copy of DSL IP, feel free to reach out to me. I will help out as much as I can with the DSL stuff. -If you decide to go down this route.

 

Best

-X

 

 

0 Kudos
Message 4 of 4
(39 Views)