|
|
|
| It's against my rules to be greater than 80" away from you. |
![]() |
|
|||||||
|
||||||||
![]() |
| Thread Tools | Rate Thread | Display Modes |
|
#1
|
|||
|
|||
|
Schrödinger's Analog Trigger?
I'm trying to use the AS5030 rotary magnetic encoder from Austria Microsystems.
I have it wired for the sin/cos outputs cause I want to use it measure RPMs off a CIM. There are no bundled Labview examples of using the AS5030. There's an exmaple here in CD using it in SPI mode, not analog sin/cos. A team did post an example over at ni.com and I started with that example: https://decibel.ni.com/content/servl...nd%20Motor.zip The full post starts here: https://decibel.ni.com/content/thread/11955 When I try this example, it fails right from the getgo at WPI_AnalogTriggerOpen.vi. THe error is: Error -63195 occurred at Read/Write Control in FPGA_AnalogTriggerWriteUpperLimit.vi->WPI_AnalogTriggerOpen.vi->Magnetic Encoder with Motor v2.vi Possible reason(s): NI-RIO: (Hex 0xFFFF0925) The handle for device communication is invalid or has been closed. Restart the application. It's FPGA_AnalogTriggerWriteUpperLimit.vi that is emitted the error. I went into Analog Trigger Open and turned on highlight execution to see what I could see... With highlight execution enabled it all works!! Consistently! So it only works when you are watching... I've attached a picture and of the execution path when it works (highlight execution enabled) So I'm guessing it's a race condition somewhere in the libraries. Are other folks seeing this issue? Is there a fix or a workaround? What is the right vehicle for reporting WPI library bugs? Thanks, Pete, Team 2590 |
|
#2
|
|||
|
|||
|
Re: Schrödinger's Analog Trigger?
I think you have found a minor bug that was introduced in the analog triggers. Since they aren't used very often, it looks like it was overlooked in the beta program.
The issue is that this Open seems to be taking place in Begin before the FPGA refnum is valid. The Open tries to access the FPGA and doesn't ensure that it is loaded and stored first. If you want to work around it to control the race condition, wire the Error Out of the RobotDrive or other blocks into the AnalogTrigger Error in. This will sequence the Trigger Open later and avoid the issue. This will be fixed in the next update. Greg McKaskle |
|
#3
|
|||||
|
|||||
|
Re: Schrödinger's Analog Trigger?
Wouldn't one typically open the Analog Trigger based on a refnum from an already-opened Analog Input? That would keep the problem from showing up in an actual application. It only fails because the example is "constructing" a refnum without really opening the resource it refers to.
|
|
#4
|
|||
|
|||
|
Re: Schrödinger's Analog Trigger?
Sounds right Alan. Probably explains it.
Greg McKaskle |
|
#5
|
||||||
|
||||||
|
Re: Schrödinger's Analog Trigger?
FYI, There is an example built into LabVIEW for the AS5030 using the analog output. It's called Magnetic Encoder with Motor.
|
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|