Jump to content

Thang Nguyen

  • Content Count

  • Joined

  • Last visited

Community Reputation


About Thang Nguyen

  • Rank
    Very Active
  • Birthday 04/30/1980

Profile Information

  • Gender
  • Location
    North Carolina
  • Interests

LabVIEW Information

  • Version
    LabVIEW 2010
  • Since

Recent Profile Visitors

1,530 profile views
  1. In attachment is my FPGA VI. I have 2 motors. With one motor, I have a single cycle time loop to generate a PWM and another single cycle time loop to analyze the encoder. I would like to ask, if I want to add PID in FPGA, should I create a third while loop to connect encoder value with PID and the PWM generator? This is the only way I think it can happens. Regards, TNRover1_FPGA_Main.vi
  2. Hi, I am quite familiar with different design pattern on LabVIEW but I am a newbie on FPGA design. I start working on a project for my own hobby using myRIO to control motor speed with PWM and read back encoder. This is the first part of my project and I plan to expand more later. This project will help me to get use to FPGA too. I am trying to learn a good design pattern by follow the template project which is "LabVIEW FPGA control on Compact RIO". In this template project, feedback value and control signal are analog channels and they connect directly with PID module in FPGA in a normal while loop. The configuration are sent from host. In my prototype project, I already built FPGA module to drive PWM and read encoder using single-cycle time loop. I plan to use PID in real time code. If I want to follow the template design, I have to change the way I implement the code for FPGA and Real-Time. So right now, I am not sure what is a good design I should follow. If you have any advice, I will highly appreciate. Thank you very much!
  3. Thanks Chris and Yair. I decided to swap the Y to keep it simple . At the beginning I miscalculated the offset for origin, but I have correct value now.
  4. Hi, In current picture control, the origin start at top left corner and it's positive direction go down to the bottom. I would like to use picture control to draw map for my robot project, but I would like to display as a normal coordinator system which mean vertical positive direction is go up and origin start at bottom left corner. I am trying to shift the origin and swap all y value. I wonder if there is better way than this. Regards, Thang Nguyen
  5. Thomas, Could you please take a screenshot of the part where you do this in TS? Regards, Thang Nguyen
  6. I am using TestStand 2010 so if this information is not correct for later version, please help me remove this topic. In TestStand, when there is a step does not run because of previous condition step like "If", the status of that step will be left as empty. This returns a clear visual affect, in debugging, that this step has not run. But if I have a condition step and another step under this condition. If in the first interval this step ran and in the second interval this step didn't run, it still keep the status from the first run interval.If I just put a break point at the begin of the loop and click play instead of go through each step, I will think that these step ran in the second interval. Should it be better if there is a flag or something indicates that this step did not run at all? Regards, Thang Nguyen
  7. @ininitenothing: I would like to fit the plane not the boundary. Thanks.
  8. @infinitenothing: Thanks for your reply. One of the issue is the surface can be tilt, so I cannot use the average value. I also have the case the cylinder diameter is greater than the range of the laser scan which I need to do 2 scan. In this case, I have to fit two half circle before I can stitch them together. To generalize my question, I am looking for a method to fit a 3D surface with some certain shape.
  9. I am sorry, I was not clear but I mean a 3D scan of circular surface, not a circular fit.
  10. Hi, I have data from laser scan of a circular surface. I converted data to image and using circular edge detection to mask out the background. What I like to do next is to fit the surface then subtract my original data from it. I am not sure if there is any function I can use to fit specifically in the boundary of the object only. Please let me know what function that I should use. Thanks you.
  11. @Mikael: Basicly what you use is a name queue, am I correct? That's how you get the reference to another object. Thank you very much for your time building the example code @Shoneill: Thanks for your advice. I will think a way to combine user event in LVOOP. There are some great feature I still want to use from LVOOP.
  12. Hi, I need advice on how to exchange messages between 2 classes or 2 objects. So far I am using LVOOP mostly because of data encapsulation and inheritance feature. Now I need communication between 2 objects A and B running parallel. Each object can send message to another. I can send message one way by using composition relationship. I put one class inside another class cluster, for example B inside A cluster. Then later from inside class A, I can use class B reference to send message to process of class B. But I don't know how to send message back from B to A. Is there any design pattern about this? Or is there any example? I can do this without using class by using name queue but I would like to learn how to do this with LVOOP. I read about actor framework already but I don't want to use it now seam it's a little bit complicated for my project. Thank you for your time reading and answering my question! Thang Nguyen
  13. You are right. I think the problem is myself, I need to identify clearly what I want. Currently, I am confuse that if I want deterministic or not.
  14. @Crossrulz: I have 3 array of doubles (640 elements each from a line scan). I guess I can use single process shared variable single element with another counter to tell if this is the latest data or not. How do you think? Edit: Sorry for my brainstorm idea. I forgot that I don't want it polling. I want the blocking feature.
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.