Jump to content

LogMAN

Members
  • Posts

    720
  • Joined

  • Last visited

  • Days Won

    81

Everything posted by LogMAN

  1. Here are my main points. Most of them are only indirectly connected to programming: It should be necessary; Don't use a framework just for the sake of using it. It should solve a problem or provide desirable features, whatever that means for your project. Its external complexity should be reasonable for the task. It should provide a way to track and fix bugs without having to depend on 3rd-parties (what do you do if they disappear?). If it's an essential part of your project, make sure to invest enough time to understand its limitations. There are of course a range of quality attributes that should be taken into consideration. Which ones are important depends on the kind of project you are working on. Of course, do whatever you want for throwaway projects. Of course we shouldn't be afraid to learn about new frameworks, no matter how complex or simple they may appear. Even if we decide to never use them. How else would you know if they are up for the job? Once you know their abilities and limitations you can make them part of your architecture design. The complexity is secondary indeed.
  2. I don't have good examples to share, but here are a few helpful links for you: NI has an article dedicated to DVRs, which also explains the fundamental idea: http://www.ni.com/product-documentation/9386/en/ Here is a short video that explains how to use a DVR and some of the pitfalls: https://www.youtube.com/watch?v=VIWzjnkqz1Q Of course, you'll find lots of topics related to DVRs on this forum.
  3. We use a variety of frameworks/templates/patterns for our architecture: The Actor Framework is used for asynchronous UI operations and long-running data processing tasks. Queued Message Handlers (not using DQMH or QMH template) handle simple asynchronous tasks. Action Engines encapsulate privately shared data for our translation and general I/O libraries. (Queued) State Machines ensure that everything runs in order. The proxy pattern is used to interface most customer libraries. We have our own frameworks for the test execution engine and test libraries (message based). I find the publicly available frameworks and templates (DQMH, Messanger Library, NI templates, etc...) very valuable for learning and to get things started quickly. More advanced projects, however, require a deeper understanding of the underlying patterns in order to develop your own architecture (which may or may not utilize these frameworks/templates). In your case these are synonymous 😋 "Any sufficiently advanced technology is indistinguishable from magic." (Arthur C. Clarke) For some reason that just popped into my mind... If your entire architecture and thought process is fundamentally based on actors, any small project will of course have to depend on it as well. That is, unless you are willing to rethink (and probably reimplement) the fundamental architecture. Then again, why reinvent the wheel?
  4. @hooovahh is right, this is not doable. Your executable doesn't contain the source code and without the source code you cannot compile the application. If the source code is lost, you can either re-program the application (probably very costly) or convince your IT department to allow installing the LV2009 RTE for this particular executable. That said, it is possible to copy the executable and the entire RTE to the target computer manually, for example as part of the "installer" for your executable (IT department mustn't know 😉). We have done so in the past (for the same reasons) and it works like a charm. Of course, this only works for utility applications. It doesn't work if your application depends on other drivers like VISA and the like. If this is not a problem for you, just copy the RTE folder from the NI installation directory ".\Shared\LabVIEW Run-Time\2009", put your executable inside and be happy. I just ran your application on a clean Windows 10 virtual machine and it starts without errors and terminates after a few seconds. It's worth a try in my opinion.
  5. I had the same issue just now. Looks to me like something is wrong with the database (maybe an incomplete update?). This is the closest information I could come up with: https://www.mediawiki.org/wiki/Topic:U26n1a1pgo0078tt Interestingly enough, after this error, there are two entries of the same file with the same timestamp. The preview correctly shows the file I tried to upload. Still, it shows the old image in articles. I don't think there is much we can do about it, one of the Admins will have to look into this. https://labviewwiki.org/wiki/File:Functions_Palette.png
  6. The "Individual Offline Installers" link below the download button points to the offline installer.
  7. I found some spam on the wiki and would like to request deletion, but there doesn't seem to be an option (probably because I don't have the rights). So, is there a way to notify administrators (currently only @Michael Aivaliotis?) directly or should we open new topics here? Here are the offending pages. https://labviewwiki.org/wiki/Is_there_some_magic_to_get_URLForUbiquityContainerIdentifier_to_work_besides_setting_up_the_Entitlements_Stupid_http://nfltickets.me/baltimore-ravens-tickets/_thing_keeps_returning_nil https://labviewwiki.org/wiki/Being_The_Best_Pet_Owner_In_Town:_Tips_And_Tricks_by_Gita_I._Reimnitz https://labviewwiki.org/wiki/Caring_For_Your_Kitty:_Top_Tips_And_Advice_by_Sindy_P._Lanterman https://labviewwiki.org/wiki/Jijijijijiji_te_dije_q_lo_usaras_http://convenientcarpetcleaning.com/washington/carpet-cleaning-in-pasco-wa/_rapidooo_merf https://labviewwiki.org/wiki/Prohibir_el_acceso_a_los_Colocolinos_que_portan_sus_entradas_es_sumar_mas_violencia_a_una_actividad_http://kyleleon-musclemaximizer.com/reviews/_que_esta_en_crisis https://labviewwiki.org/wiki/This_man_just_said_she_get_more_miles_than_a_18_wheeler_smh_http://convenientcarpetcleaning.com/new-mexico/carpet-cleaning-in-farmington-nm/_mauryshow Edit: There also seem to be some orphan files that should be released of their existence: https://labviewwiki.org/wiki/File:Bomboniera_solidale_matrimo_2359.jpg https://labviewwiki.org/wiki/File:Betting_on_nfl_5601.jpg https://labviewwiki.org/wiki/File:Bitcoin_piracy_3126.jpg https://labviewwiki.org/wiki/File:Binary_options_3986.jpg https://labviewwiki.org/wiki/File:Abogados_Madrid,_Despacho_de_Abogados_laboralistas_2813.jpg https://labviewwiki.org/wiki/File:50_shades_darker_1556.jpg https://labviewwiki.org/wiki/File:Bomboniere_matrimonio_4754.jpg https://labviewwiki.org/wiki/File:Buy_dianabol_3532.jpg https://labviewwiki.org/wiki/File:Cakes_4375.jpg https://labviewwiki.org/wiki/File:Capetown_wedding_venues_1999.jpg https://labviewwiki.org/wiki/File:Cheap_costume_jewellery_2542.jpg https://labviewwiki.org/wiki/File:Cercacasa.it_5533.jpg https://labviewwiki.org/wiki/File:Cheat_hidden_chronicles_3336.jpg https://labviewwiki.org/wiki/File:Chicago_tuckpointing_2777.jpg https://labviewwiki.org/wiki/File:Christmas_bows_1816.jpg https://labviewwiki.org/wiki/File:Computer_system_clock_2606.jpg https://labviewwiki.org/wiki/File:Computer_training_1367.jpg https://labviewwiki.org/wiki/File:Contact_Us_-_4664.jpg https://labviewwiki.org/wiki/File:Bomboniera_solidale_matrimo_2838.jpg https://labviewwiki.org/wiki/File:Descuentos_3610.jpg https://labviewwiki.org/wiki/File:Does_wartrol_work_4699.jpg https://labviewwiki.org/wiki/File:Dog_ideas_1934.jpg https://labviewwiki.org/wiki/File:Driving_lessons_in_solihull_1129.jpg https://labviewwiki.org/wiki/File:Driving_schools_in_Solihull_1174.jpg https://labviewwiki.org/wiki/File:Find_out_more_about_Access_control_2363.jpg https://labviewwiki.org/wiki/File:Fixing_laptop_toronto_1598.jpg https://labviewwiki.org/wiki/File:Folding_camper_transport_884.jpg https://labviewwiki.org/wiki/File:Food_distributors_4956.jpg https://labviewwiki.org/wiki/File:Going_here_2091.jpg There is no end to this... https://labviewwiki.org/wiki/File:Government_Debt_Relief_Programs_2346.jpg https://labviewwiki.org/wiki/File:Graphic_design_schools_2392.jpg https://labviewwiki.org/wiki/File:Hair_Style_Tips_4044.jpg https://labviewwiki.org/wiki/File:Healthcare_Administration_Training_Riverton_WY_1392.jpg https://labviewwiki.org/wiki/File:Help_available_5233.jpg https://labviewwiki.org/wiki/File:Here_3240.jpg https://labviewwiki.org/wiki/File:Hidden_chronicles_cheats_2585.jpg https://labviewwiki.org/wiki/File:Hidden_chronicles_cheats_4737.jpg https://labviewwiki.org/wiki/File:How_to_sell_gold_3730.jpg https://labviewwiki.org/wiki/File:Howto-grow-yourpenis.net_4497.jpg https://labviewwiki.org/wiki/File:Htc_one_x_update_2387.jpg https://labviewwiki.org/wiki/File:Illinois_home_inspector_directory_5003.jpg https://labviewwiki.org/wiki/File:Juridische_vertalingen_5007.jpg Saving because I don't want to loose progress... https://labviewwiki.org/wiki/File:Laserbehandeling_ontharing_1003.jpg https://labviewwiki.org/wiki/File:MerrimanSnippet.png https://labviewwiki.org/wiki/File:No_No_hair_removal_reviews_2507.jpg https://labviewwiki.org/wiki/File:Paintball_1581.jpg https://labviewwiki.org/wiki/File:Pc_technical_support_toshiba_scarborough_4170.jpg https://labviewwiki.org/wiki/File:Personalised_christmas_sacks_and_stockings_5390.jpg https://labviewwiki.org/wiki/File:Pool_service_columbia_sc_4213.jpg https://labviewwiki.org/wiki/File:Privacy_Policy_959.jpg https://labviewwiki.org/wiki/File:Pure_argan_oil_for_face_2042.jpg https://labviewwiki.org/wiki/File:Read_here_4467.jpg https://labviewwiki.org/wiki/File:Reputation_management_1152.jpg https://labviewwiki.org/wiki/File:Reviews_3461.jpg https://labviewwiki.org/wiki/File:San_Antonio_Interior_Decorator_2940.jpg https://labviewwiki.org/wiki/File:San_Antonio_Interior_Decorator_4834.jpg https://labviewwiki.org/wiki/File:San_Antonio_Interior_Design_3474.jpg https://labviewwiki.org/wiki/File:Schedule_a_carpet_cleaning_2023.jpg https://labviewwiki.org/wiki/File:Smartrank_778.jpg https://labviewwiki.org/wiki/File:Social_bookmarking_service_1160.jpg https://labviewwiki.org/wiki/File:Social_bookmarking_service_1318.jpg https://labviewwiki.org/wiki/File:Social_bookmarking_service_1515.jpg https://labviewwiki.org/wiki/File:Social_bookmarking_service_2486.jpg https://labviewwiki.org/wiki/File:Social_bookmarking_service_2917.jpg https://labviewwiki.org/wiki/File:Social_bookmarking_service_3584.jpg https://labviewwiki.org/wiki/File:Social_bookmarking_service_3672.jpg https://labviewwiki.org/wiki/File:Social_bookmarking_service_3744.jpg https://labviewwiki.org/wiki/File:Social_bookmarking_service_4150.jpg https://labviewwiki.org/wiki/File:Social_bookmarking_service_4849.jpg https://labviewwiki.org/wiki/File:Social_bookmarking_service_5002.jpg https://labviewwiki.org/wiki/File:Social_bookmarking_service_5239.jpg https://labviewwiki.org/wiki/File:Social_bookmarking_service_5436.jpg https://labviewwiki.org/wiki/File:Social_bookmarking_service_757.jpg https://labviewwiki.org/wiki/File:Social_bookmarking_service_880.jpg https://labviewwiki.org/wiki/File:Too_much_iron_in_your_blood_1972.jpg https://labviewwiki.org/wiki/File:Toppik_uk_4349.jpg https://labviewwiki.org/wiki/File:Used_iphone_3_for_sale_1589.jpg https://labviewwiki.org/wiki/File:Valley_view_casino_1963.jpg https://labviewwiki.org/wiki/File:Video_promotion_by_ytpros_2952.jpg https://labviewwiki.org/wiki/File:Watch_avi_on_android_3765.jpg https://labviewwiki.org/wiki/File:Web_design_1869.jpg Done.
  8. LabVIEW doesn't backfire for misspelled words, which means we don't freak out every time we see one. Here are a few suggestions for draconian rules on the LabVIEW wiki 😇 1.1 Uploading sample code to the wiki Put input terminals to the right, output terminals to the left (on the block diagram and VI terminals) Use backwards wiring Show terminals as icons Don't use shift registers (use local variables instead) No error handling (disable debugging) Take a screenshot with your mobile phone (compress as much as possible before uploading) Seriously, though. The wiki should have some guidelines for the structure and content of each article. Otherwise it will decay to some kind of link collection (formally known as favorites) with no added value (example). Those guidelines should be more general, as in: A page must be informative It should focus on one topic (create new pages for other topics) Citations must be marked clearly using the format "<blockquote>Someone said this!</blockquote>" ... My point is: This page should be updated (last edited on 7 October 2007, at 11:18): https://labviewwiki.org/wiki/LabVIEW_Wiki:Manual_of_Style
  9. I don't think they found the documentation, just an answer to their particular question or a solution to their particular problem. As Rolf mentioned above: Documentation probably still doesn't exist.
  10. No, that is not possible. Here is the official KB article from NI https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019LtOSAU&l=en-US
  11. Very strange indeed. You are right, these extensions should not affect any of this. I just installed the "Disable JavaScript" addon and can reproduce your behavior with the download button and version selection. In my earlier post you see the "normal" page. This is how it looks with JavaScript disabled: Also, the download button now statically points to http://www.ni.com/en-us/support/downloads/software-products/download.labview.html#
  12. You need to change the location manually at the bottom of the page. After that you should always get to the same site. That is strange indeed. I just tried on another browser and can't seem to recreate this behavior, no matter which location I choose. Do you have extensions installed which block JavaScript or tracker? They can sometimes cause strange results like this, especially if contents are dynamic (as the download button or the lock for Linux/Mac versions).
  13. The link at the bottom will bring you to this page http://www.ni.com/en-us/support/downloads/software-products/download.labview.html#305508 You just have to select 2018 SP1 Patch and click download. This will download the f4 (latest) patch. The en-us version is pretty stable in my experience (except for a few dead links here and there). Can't say much about the others. I'm still surprised they bother to check the associated SSP. Considering that the License Manager checks it anyway.
  14. Thank you so much for sharing
  15. Here are some additional pointers that might be helpful LabVIEW Help : https://zone.ni.com/reference/en-XX/help/371361H-01/lvconcepts/custom_cont_ind_type/ UI Interest Group : https://forums.ni.com/t5/UI-Interest-Group/ct-p/7019?profile.language=en LabVIEW Playlist (see NI LabVIEW UI Tips videos) : https://www.youtube.com/playlist?list=PLE91C12E1A5E62F88 I also found a blog post with pictures that show the general process for customizing controls. https://www.dmcinfo.com/latest-thinking/blog/id/9428/basic-labview-ui-control-customization If you are interested to see what is possible with LV, search for "2016 NIWeek - Designing Advanced User Interfaces in LabVIEW". https://lavag.org/topic/20645-labview-videos-tecnova-download-site/
  16. Disclaimer The following details are oversimplified for the sake of clarity. Feel free to point out important details that aren't covered by this post. --- There is a higher chance of finding better results by searching for "labview reference". Here are a few examples. https://labviewwiki.org/w/index.php?search=reference&title=Special%3ASearch&go=Go https://labviewwiki.org/wiki/Control_References http://www.ni.com/example/28769/en/ That said, you should be familiar with the normal data flow in LabVIEW. Data goes from one end of a wire to the other. A branch in the wire will create a copy in memory if either branch of the wire is changed. Loosely speaking, a wire represents the data. A refnum on the other hand doesn't represent the data, but the location of the data in memory (*). It is similar to a pointer in C-like languages. This changes the behavior of the wire Data still goes from one end of a wire to the other. Each branch of a wire receives exactly the same value as the other (no copy is made). (**) In order to access the data you need to make use of Property Nodes, Invoke Nodes and more. The benefit is, that you can access the same value from different places in your program. Even better, this is not limited to controls. It works for controls and indicators, VIs, objects, the project, the whole application and everything. https://labviewwiki.org/wiki/Refnum http://zone.ni.com/reference/en-XX/help/371361R-01/lvconcepts/controlling_front_panel_objects/ However, it doesn't work for variables and due to its nature, race conditions can occur if you don't take care of the execution in your program. This is why for variables there is a more specialized type of reference, the data value reference (DVR). It allows you to access the same variable in memory from different places in your program. http://www.ni.com/product-documentation/9386/en/ There is obviously much more to it than these few points. However, the links above should give you some insight. (*) Here is some information about the memory structure of a refnum. https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019ZT5SAM&l=en-US (**) Technically speaking a copy is still made if you change the "value" on either branch of the wire, but since it is a pointer you shouldn't change it under any circumstances.
  17. Find a working implementation here https://www.labviewforum.de/Thread-Aktuellen-VI-Pfad-als-UNC?pid=133946#pid133946
  18. It's like real life - overpromised and underdelivered. Now others have to fix it 😋
  19. Brain power and Google is the standard solution if the search box at the top doesn't satisfy you. That said, I'm using firefox, so Pocket is one way to keep track of it. https://www.mozilla.org/en-US/firefox/pocket/ And of course you can make use of bookmarks in your favorite browser, but chances are high that it grows so much that you need Google again. Most of it can be done with Pocket. You get a button which you press while on the page. It stores the page in your Pocket (online) and you can add tags to it. You can also subscribe to an RSS feed of your personal pocket. But it doesn't update contents in your Pocket automatically and the RSS feed only contains the things you add to the Pocket. For live updates I suggest using the notification feature of Lava (mail based). Rest assured, searching was involved. hooovahh summarized it perfectly. To collect the information on your local computer you can use any feed reader you like. But I highly doubt there is any that automatically downloads attachments for you (because that is web scraping, not news reading).
  20. For reference, here is a comparison of how it was done before Stall Data Flow existed (prior to 2017). https://forums.ni.com/t5/LabVIEW/Darren-s-Occasional-Nugget-01-05-2018/td-p/3738420?profile.language=en
  21. You are right, that is the standard way to do it, if you know how many elements to remove. You can also utilize the Common Path returned by the compare function depending on what you need.
  22. Thank you very much, this just made my day 🤣 You'll find the function on your palette under Timing. Alternatively press Ctrl+Space and write "Stall Data Flow", it should appear in the list.
  23. If I understand you correctly, there is a path like "C:\a\b\c" and you need the "\b\c" in order to use it as "D:\default\b\c", right? Use this to check if one path is relative to another http://zone.ni.com/reference/en-XX/help/371361R-01/glang/compare_two_paths/ It returns the relative part which you can combine with your default path. I don't have access to LV right now, but this should be straightforward.
  24. @Dataflow_G You should revive this topic 😉
  25. We'll grow into it eventually 😋
×
×
  • Create New...

Important Information

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