Jump to content

Benoit

Members
  • Content Count

    149
  • Joined

  • Last visited

  • Days Won

    8

Everything posted by Benoit

  1. I think you posted in the wrong place. But there is where to start. Install the firmware in your Arduino +shield (Need to be GRBL 1.1) Then using the toolkit, you can control the XYZ plotter by giving the coordinate. This is not a G code interpreter, it is a tool to control the position of the XYZ.
  2. The sequencer that you use is it TestStand? Actually, The design I did give me more advantage than what is offer by NI. so no... I wont design it differently. When I want to add a Power supply model/manufacturer into the list, I have to modify only the middle lever of the HAL by adding a case in the list of every function. that case hold the driver from the manufacturer(LabVIEW,.dll or other) I can't show you by video right now. Not sure my company will allow me to do that. In the case of your sequencer, I believe that no other software will call your driver... I think that you can remove the VI server call layer. To keep the object in memory, you just need to keep the reference open. a getset can do that or I think if you use TestStand, it is possible to keep reference in memory as well, but I'm not sure. I didn't use TestStand since a while. the cost is too high and development time for the same test is to long compared with my test framework. Benoit
  3. The call is done by the following step. Init: create a reference on all the function "VI" for that instrument. (keep in a getset) Function call: from get set use the reference of the function to send parameter or get parameter of the instrument Close: close all the reference from the getset In the .exe that holds all the Instrument, I have every instrument function in separate re-entrant VI. The physical init to the instrument and physical close instrument in done by the executable not by the caller. This allow the caller to have the status of the instrument initialization at every function call since I keep the error in another getset. The time to initialize the instrument is done by this executable, not by the caller. This architecture allow me to have an auto-recovery of any communication failure. This allow me as well to have only one prototype for calling any instrument that has the same function. Per example, the power supply 0,1,2,3,4,5,6... all have enable output function. by setting the PSU# at the function call, I can do whatever I want on whatever instrument... I do have 4 layer on my HAL, but the two other wont be necessary for you I think. The two other layer are Communication layer. ( a power supply can have 3 different output physically. I can access them virtually at the same time by different VI server call without sending 3 command at the same time on the serial port. (I made a queue at this level) Position Layer. The position layer is that I have a test framework that allow me to use in batch mode, unit mode or even asynchronous mode testing anything. per example, if I have 16 position on my tester that is used by 16 different .exe, I don't want to program differently the 16 .exe. I just add one layer with a config file that tells what position use what PSU# per example. So yes... crazy design, but if you can see what i can do now... FCT, Burn-IN, Programming, Hipot station and much more all with the same GUI. Only the test sequence (.exe) are called depending of the product I want to test. The product is selected by the serial number and a call to the MES system. That allows me to test different product part number and version on the same tester and same GUI. 3 years design for this crazy system.. and now.. I cannot see anyone in the industry doing something better than that. A Product test development that use over 300 measurement point and 20 different instrument with various technology takes me only one week and it's deployed and validated in production. Benoit
  4. Here is the problem. When displaying in a Hex format, the update value while typing cannot be activated. Since the value is updated only when you click somewhere else on the front panel, if the first click is on the button COM Write, the value is updated after the Event mouse down is fired. Benoit
  5. For my part, I use VI server call per function per instrument. The VI that is dynamically is in another .exe. This .exe has all the driver for all the instrument. the instrument selection and availability is done trough a .ini file. currently I support 22 different hardware like JTAG, Eload, PSU, Hipot, I2C CAN bus, SPI, Oscilloscope, Switch, DAQ, Ethernet, serial port, etc... Each instrument type support multiple manufacturer and model. When a call is done by VI server, the capability of the selected instrument is evaluated and report an error if out of range. This is generally what I designer here. I decided to stay 100% LabVIEW.
  6. Yes, with a robot and a finger simulation hardware. Benoit
  7. Please post your actual VI. This will allow us to see if there is race condition or other problem. Thanks Benoit
  8. Amazing VI, but very slow. It takes many second to parse 2 Mb of Data. Is it possible to make that multiple processing in some way? I cannot find another encryption that will work with the input and output of those. Did you follow 100% the standard? Thanks Benoit
  9. I didn't found what is the details of the standard that is used. ECB or CBC I cannot find any other external tool that will correctly decrypt the information correctly. Benoit
  10. A simple solution for you would be to work with a copy of the project and then whatever you want except deleting... then no crash and you project original remain clean... by the way, project and library are only .xml files. Benoit
  11. You might have some VI that are not saved may be read only that reference a VI in that folder even this VI do not exist... The question is why those virtual folder are empty? what is the last action before? It is possible that you deleted library as well that where on those virtual folder.
  12. Are you sure it comes from that VI? As I understand this VI is called with different function on every call. the one that will be called the most will be "Log Data". So I strongly suggest to create a unit test with your VI called multiple time with this function to validate if the leak comes from there. But I am pretty sure not... What the rest of you project is doing? Other question... what is the file size generated? Benoit
  13. I'll say that you understand how to add a value to make it move, but for the rest, the architecture need to be revised. Look at the example i suggested you. Benoit
  14. Look at the LabVIEW example Dynamic Event Generation.vi And learn LabVIEW basic. I cannot give you all the answer to easily, where will be the fun to learn LabVIEW. Benoit
  15. After the sin and cos, add or subtract a number of you choice. To make it live, use a event structure in a while loop. Benoit
  16. Hey guys, Can you take a look at this? The only work around I found is to dynamically open the connection with an external VI to make it fail so the second time it works. If anyone has an instrument that communicate trough TCP-IP with VI, please try on your side with LabVIEW 2018 and visa 18. https://forums.ni.com/t5/LabVIEW/VISA-error-with-TCP-IP-BK-precision-2190E/m-p/3876316 Thanks
  17. I think the biggest mistake from NI was to not add 20 years experienced user into their development team. I believe they only put marketing people and some developer... but no real user. Benoit
  18. Python for me is a script language not a programming language. 😉 Benoit
  19. What about ODBC support? I have a huge project with a superb HAL implemented. I cannot see how I can migrate that to NXG. I feel like having 20 years of my career but on the garbage with NXG. This is not happening with other text language where stuff change, but do not receive a huge refactoring. I guess this is what happens with proprietary language. you use what they offer, not what people really needs. The only good thing for now if the Unicode support. Benoit
  20. Thanks, I'm not a specialist on MIPI. Those information are very useful. Benoit
  21. Zip offers a better portability. In forum, portability prevail over effectiveness of compression. By the way 7zip offer a better one. 😉
  22. Cool. Here are some suggestions: -Unique serial number that can be accessed by software -Allow possibility to have more than one lens. (Be able to have 3 cm from the lens can be good for inspection) Having low distortion lens is good to. -Adaptable to standard lens on the market (stay low cost if possible) -Having a microbolometer camera would be amazing. -Having multiple choice for resolution 1MP to 24 MP -Add distortion correction by software according to the lens -If you ever be able to create a 3D (imply using double camera) would be amazing (one frame on 2 for each side) -Some of your option in the survey should be all possible. (software or hardware triggered) -Having the option to buy or not the housing What will be the maximum length for the cable? Benoit
×
×
  • Create New...

Important Information

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