Jump to content

Francois Aujard

Members
  • Posts

    64
  • Joined

  • Last visited

Everything posted by Francois Aujard

  1. Ok, thank you very much ! And sorry if my question is stupid..... I learn by myself πŸ™„ And there are some very good people here whom I trust to answer my questions. πŸ’ͺ
  2. OK I have read your link. But what happen with the select? Labview create 2 copy : one for the case True and one for the case false and choose after the correct response?
  3. Thank you very much for your explanations @LogMAN πŸ™. It's clearer for me. as I understand it I can do that : Synchronization is managed by the mutex, which is called up a IPE structure (accessible as a one-to-one like a FGV). This mutex serves only as a β€œsemaphore”. 😊 What exactly happens during the memory copy if you don't use an IPE structure?
  4. Thank @cordm for your reply. OK, It's the same as a semaphore ? And how you decided what type of value to put in the opening of the VI "New Data Value Reference"?
  5. Hello everyone, Is someone can explain me. How works this modbus VI? Two questions : I never used the "in place element structure" what's the point of using this type of structure? Is it better FGV? Is it important connect "Modbus master out" at the end of this structure VI or, if it plug to the input "Modbus master in" it will do the same? This VI use a memory control, how it work ? (three question sorry 😊) Kind regards. François A.
  6. Thank for your reply. I have use recetly a Windows tablette and I don't have this problem. I don't kown where is the Windows setting for this paramter
  7. Hello everyone, I have a button boolean with mecanical action : Switch Untin Released. I used the Event Value Change, when the Boolean is True I move my motor, and when is false I stop my motor. This it's OK when I use the mouse. But when I used my touch screen, I receveid the 2 events when I remove my finger. I add the 2 events Mouse Down and Mouse Up, and exactly the same problem. When I click on my button, the button don't go to the true position. But when I remove my finger, I received the four events : Mouse Down ; Value Change ; Mouse Up ; Value Change. Is someone have an idea why I have this problem?
  8. It's a good idea ! 😊
  9. Yes, I knew I could wire the error directly, but I have another condition with booleen. In the end, after thinking about it for a while, I don't really need it anymore, the queue state is enough for me. And it's also true that I'm not 10ms away from closing this sub-VI. Thanks for your advice
  10. Hello @Mads, Thank you for your reply. I followed your advice. I destroyed the queue in the main VI, and used the error output from the state of this queue to terminate the dynamically called VI. It works fine, thank you πŸ™. I hadn't thought of that πŸ™„.... do you know why I'm looking into : View=>Browse Relationships=> Reentrant items I see the number of VIs that I've actually called, in running. But sometimes I also see some that are stopped. Should I add a close reference at the end of the VI? Can a VI close its own reference?
  11. Hello @crossrulz, I presume you meant to write 2024, not 2014. For the moment we're stuck with the 2021 and 2022Q3 versions. We are not a fan of the subscription system. We find it relatively expensive (NI has made up for its hardware losses due to COVID on the software side), and we've never really had the information we needed to go the perpetual license route. We used to work directly with National Instrument, but now we have to go through a reseller. And I have to say that I have a lot of trouble with the reliability of the answers they give us. They're salesmen... We're a small special machines company, and there are mainly 2 of us working with labview. On the other hand, we need to activate a lot of licenses during development. There are several machines in the workshop at the same time, sometimes more than 10. The reseller told us we could only activate 3 PCs per license. We'd like to upgrade labview, but if I can't activate more than 3 machines at the same time, without having to pay for additional development licenses, it's not interesting for us....
  12. I have another question about the attached image. I have a VI (I'll call it Test.vi) that dynamically calls an error monitoring VI. The function of this VI is to stop the calling VI in the event of an error. If there is no error, the calling VI closes the called VI using a boolean reference. In my main program, the "test.vi" VI was in a condition structure, and my code worked. I decided to call test.vi dynamically, and was surprised to find that my error VI never closed. The reason, I think, is that the reference is destroyed when the VI is no longer in memory, so I never see the true state of the Boolean. So I added an OR with not reference. And it works. I replaced the boolean reference with the reference of the calling VI, and looked at the Execution.State prorpiety node VI. Again, it worked. I tried to put my VI test.vi back into the main program without a dynamic call, and it no longer worked. The Execution.State always returns a running state, even when the VI is not executing. I have two questions: - Why is the VI running when it's not executing? Even if I close the reference, it doesn't change anything. - Is there a method or property node other than Execution.State that lets me know if the VI is actually running? I don't know if I've made myself clear...
  13. Thank you all for your answers In the end, only the first one is useful. Is there a case where I might prefer the 2nd or 3rd solution over the first? In fact, the 2nd solution will always be waiting for the end of execution, even if you set the option to call and forget
  14. Hello everyone, Can someone explain to me the difference between these three possibilities of calling a VI? I don't quite understand the difference, especially between the top 2... Thank you
  15. Hello everyone, I have in my possession a NI PCIe 6346 card. I want to do fast acquisition both on a counter input and on several analog inputs. Ideally, the threshold of one analog input should trigger fast acquisition on both. 1) I've managed to do this for the analog input task, but it doesn't work for the counter task (conditions 4 and 5). Does anyone have any ideas? 2) I've replaced my analog trigger with a digital trigger. Can anyone tell me why condition 2 is NOOK, but condition 1 is OK? For me it was two methods doing the same thing. πŸ€” 3) Does my VI start the 2 tasks at the same time (I've seen examples of condition 3, but I'm not familiar with them)? Translated with www.DeepL.com/Translator (free version) Acquisition Rapide.vi
  16. Thank you all for your answers, @Reds I've never done an API with Labview. I've used APIs before, but I've never created one. I don't know how to do that.... πŸ˜” @Ryan Podsim For the moment, my data storage is an FGV (measurement) which is filled by my acquisition loops. And my UI reads this FGV and makes requests to the acquisition loops via another FGV (Consgines). I was in the process of changing this mode to event subscriptions, but it's still not very clear in my head... When my UI requests specific information from one of my acquisition loops (e.g. flow totalizer reset), it's a dynamic event (A) that makes the request. However, to be sure that the acquisition loop has executed the request, and to validate that the action has been carried out, I need another dynamic event (B) to do so. I find this a bit complicated.... My loop time is between 2 and 30ms (depending on the hardware), since I'm using Windows. @drjdpowell thanks for the link, I'll have a look... and I'll try to understand 😊
  17. Ok, I Know MySQL. We've been using labview for a very long time, but unfortunately it's only been in the last few years that I've taken the time to open up to "best practice" programming methods. The problem I'm having is that I have a huge number of programs for a wide variety of machines. But the codes are all in one block and nothing is separated. Add to that the fact that I haven't capitalized on any code for about 2 decades πŸ˜” ... The advice you've given me confirms my choice. Each time a new machine is sold, I have almost no programming time ... bah yes it's the same as the one that was sold with a rotten code... πŸ˜’ In short, I'm painfully trying to square everything up, but as some notions are a bit new, I've got an instinct that I'm heading in the right direction, but no certainties and no one to share my questions with... Except for you today 😊🀩 I know MySQL but I'd never thought of transferring the acquisition this way.... I was just getting to that point... I have loops that start but how to transfer the data without going through global variables or FGV.... It's far from stupid, but it's going to make me do a lot more work... I'm working in stages between each machine.... It's still not very clear to me, but I can see the principle... 🀯 You don't know where I could find a simple example of the principle, do you?
  18. Sorry, I can't even copy.... yes, I meant DVM πŸ™‚ ok, I was completely wrong πŸ˜„ Sorry, but I am not sure to understand... Where else do you want to store? What do you mean by "relational database" ? Are you copying into a double array stored in a global variable ?
  19. Thank you @ShaunR for your reply. I have some basic questions (sorry for that): - What is a VDM and IMO ? - SIC = Acquisition / Interface / Configuration ? - When you write : "The first half (acquisition) will be any method we choose that populates the database with as much information as we need or can elicit" Database like SQL or other? No problem with recording speed ?
  20. Hello everyone I always wonder about the best method to use for data acquisition, filtration, formatting, calibration, etc... when using several different types of communication. Where can I find examples to inspire me? For example : I have : - an electronic board with 8 analog inputs, 3 analog outputs, 10 digital outputs and 5 digital inputs. - an RS485 link with 5 Keller pressure sensors and 2 Bronkhorst flowmeters - A CAN link with 6 SEW drives - ModbusTCP link with 3 Kollmorgen drives - Etc... I use a lot of different equipment, with different communications. And I'd like to be able to make an adaptable program that can also store component lifetimes (number of solenoid valve openings, number of input and sensor activations if replaced before the board). Another example of hesitation: For a TCP-IP communication with 5 sensors, is it preferable to make a Vi that communicates with everyone, or 1 Vi re-entering with 5 instances in memory? I've started to make Objects, 1 Hardware, 1 Communication, I was thinking of making 1 for scales, 1 for filtration and for calibration... but I'm always a bit afraid of being on the wrong track... and I spend a lot of time... Do you have any advice, examples or anything else that might help me?
  21. Thank you all for your answers. I understand better πŸ™‚. I think I took the wrong reflex, to make access VI for all the commands of the object, in case it would be useful to me πŸ™„. I had a quick training on objects 2 years ago. This training lasted only 2 days, but it challenged everything I thought I knew about labview 🀯😡. I have to say that I have been self-taught for many years, and that having an object training with a CLA, made me realize that my codes were very bad , even if they worked and nobody saw them 😰. But thanks to this forum, I have real answers to my questions, so thank you all very much for that πŸ™ And I still have a lot of questions 😏
  22. Hello, I have question, and I would like the experts' opinion. What is the best way to access a reference of? an object, undundle or proprety node?
  23. Ho... I'm so sorry for my previous response... Yes, it's exactlly that I want! Thank You so much πŸ™ I have just test the the NI Verified VI... I just got back from a week's vacation in Ireland... I must have drunk too much Guinness πŸ˜…
  24. @dadreamer it is not exactly that. I would like to know the position of the point that we see when we display the grid on the front panel @Antoine Chalons where is the FrontPanel.origin?
  25. Hello everyone, I have a basic question... Does someone know how I can I do to "Scroll panes to origin at run time" in Labview 2013? This option does not existe at this period.. Best regards
×
×
  • Create New...

Important Information

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